Skip to content

Starlink/pal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2712726 · Sep 9, 2022
Sep 10, 2013
Dec 19, 2016
May 14, 2014
May 14, 2014
Oct 24, 2018
Sep 1, 2018
Sep 15, 2015
Feb 9, 2012
Apr 28, 2015
Jan 30, 2021
May 28, 2014
Jan 30, 2021
Jan 27, 2021
Jan 30, 2021
May 13, 2014
Jul 17, 2014
Jul 17, 2014
Aug 1, 2014
Jul 29, 2014
Jul 17, 2014
Sep 30, 2014
Jul 17, 2014
Dec 19, 2016
Jul 17, 2014
Sep 30, 2014
Aug 1, 2014
Sep 2, 2015
Jul 16, 2014
Aug 1, 2014
Jul 29, 2014
Sep 19, 2014
Oct 24, 2018
Jul 17, 2014
Jul 29, 2014
Sep 2, 2015
Jul 17, 2014
Jul 29, 2014
May 14, 2014
Jul 29, 2014
Jul 17, 2014
Jul 17, 2014
Jul 17, 2014
Jul 29, 2014
Jul 29, 2014
Aug 1, 2014
Nov 18, 2014
Jul 29, 2014
Jul 17, 2014
Aug 1, 2014
Jul 29, 2014
Nov 18, 2014
Jul 29, 2014
Jul 17, 2014
Jul 29, 2014
Oct 24, 2018
Jul 29, 2014
Sep 22, 2015
Jul 29, 2014
Jul 29, 2014
Sep 30, 2014
Jul 29, 2014
Jul 29, 2014
Jul 28, 2020
Oct 24, 2018
Aug 1, 2014
Dec 16, 2016
Dec 19, 2016
Dec 19, 2016
Aug 4, 2014
Aug 1, 2014
Jul 17, 2014
Sep 30, 2014
Sep 16, 2020
Jun 12, 2019
Jul 17, 2014
Jan 1, 2015
Sep 30, 2014
Jul 29, 2014
Sep 30, 2014
Aug 1, 2014
Sep 30, 2014
Jul 29, 2014
Aug 1, 2014
Oct 19, 2014
Jul 17, 2014
Jul 29, 2014
Jan 7, 2017
Jul 29, 2014
Jul 29, 2014
Jul 17, 2014
Jul 29, 2014
Oct 24, 2018
Sep 1, 2018
Jul 29, 2014
Jul 17, 2014
Sep 30, 2014
Sep 30, 2014
Jul 17, 2014
Sep 30, 2014
Jul 29, 2014
Jul 29, 2014
Sep 30, 2014
Sep 30, 2014
Jul 29, 2014
Sep 30, 2014
Sep 9, 2022
Sep 30, 2014
Sep 30, 2014
Jan 1, 2015
Sep 2, 2015
Oct 24, 2018
Aug 1, 2014
Feb 11, 2012
Jun 12, 2019

Repository files navigation

PAL - Positional Astronomy Library

DOI

The PAL library is a partial re-implementation of Pat Wallace's popular SLALIB library written in C using a Gnu GPL license and layered on top of the IAU's SOFA library (or the BSD-licensed ERFA) where appropriate. PAL attempts to stick to the SLA C API where possible although palObs() has a more C-like API than the equivalent slaObs() function. In most cases it is enough to simply change the function prefix of a routine in order to link against PAL rather than SLALIB. Routines calling SOFA use modern nutation and precession models so will return slightly different answers than native SLALIB. PAL functions not available in SOFA were ported from the Fortran version of SLALIB that ships as part of the Starlink software and uses a GPL licence.

See pal.news for release notes.

Building

A simple configure script is provided:

./configure --prefix=/usr/local --without-starlink
make
make install

The tests can be run using make check. Use --prefix to specify an install location. Given the history of the source code as a Starlink library the default will be /star.

--without-starlink forces the configure script to forget about any Starlink configurations. This is the safe option if you run into problems when using a simple --prefix for building outside of Starlink. The configure script will assume Starlink is not being used by looking to see if STARCONF_DEFAULT_PREFIX environment variable is set. You may run into problems if STARCONF_DEFAULT_PREFIX is set but you use --without-starlink.

Requirements

Requires that either the SOFA C library or the ERFA library variant (which has a more permissive license than SOFA) be installed. The configure script will abort if neither SOFA nor ERFA can be found. SOFA can be obtained either from http://www.iausofa.org or from an unofficial github repository (with a configure script) at https://github.com/Starlink/sofa/downloads. ERFA can be downloaded from https://github.com/liberfa/erfa.

Missing Functions

Not all SLALIB functions have been added. New routines are added to PAL as demand arises.

Language Bindings

A Perl binding of PAL is available (https://github.com/timj/perl-Astro-PAL) named Astro::PAL and is available from CPAN at https://metacpan.org/module/Astro::PAL. This is a standalone distribution that comes with its own copies of PAL and SOFA and so can be installed directly from the cpan shell.

A Python binding of PAL is available (https://github.com/Starlink/palpy). This is a standalone distribution that comes with its own copies of PAL and SOFA.

The Starlink AST (http://www.starlink.ac.uk/ast) library now uses PAL and can be built either with a private PAL or with an external PAL.

Documentation

The description paper for PAL is: "PAL: A Positional Astronomy Library", Jenness, T. & Berry, D. S., in Astronomical Data Anaysis Software and Systems XXII, Friedel, D. N. (ed), ASP Conf. Ser. 475, p307.

PAL is registered with the ASCL as ascl:1606.002.

Please consider citing the ADASS paper or the ASCL entry if you make use of this software.