1 | PAL - Positional Astronomy Library
|
---|
2 | ==================================
|
---|
3 |
|
---|
4 | [![DOI](https://zenodo.org/badge/12517/Starlink/pal.svg)](http://dx.doi.org/10.5281/zenodo.17212)
|
---|
5 |
|
---|
6 | The PAL library is a partial re-implementation of Pat Wallace's popular SLALIB
|
---|
7 | library written in C using a Gnu GPL license and layered on top of the IAU's
|
---|
8 | SOFA library (or the BSD-licensed ERFA) where appropriate.
|
---|
9 | PAL attempts to stick to the SLA C API where
|
---|
10 | possible although `palObs()` has a more C-like API than the equivalent
|
---|
11 | `slaObs()` function. In most cases it is enough to simply change the function
|
---|
12 | prefix of a routine in order to link against PAL rather than SLALIB. Routines
|
---|
13 | calling SOFA use modern nutation and precession models so will return slightly
|
---|
14 | different answers than native SLALIB. PAL functions not available in SOFA were
|
---|
15 | ported from the Fortran version of SLALIB that ships as part of the Starlink
|
---|
16 | software and uses a GPL licence.
|
---|
17 |
|
---|
18 | See `pal.news` for release notes.
|
---|
19 |
|
---|
20 | Building
|
---|
21 | --------
|
---|
22 |
|
---|
23 | A simple `configure` script is provided:
|
---|
24 |
|
---|
25 | ./configure --prefix=/usr/local --without-starlink
|
---|
26 | make
|
---|
27 | make install
|
---|
28 |
|
---|
29 | The tests can be run using `make check`. Use `--prefix` to specify an install location.
|
---|
30 | Given the history of the source code as a Starlink library the default will be `/star`.
|
---|
31 |
|
---|
32 | `--without-starlink` forces the configure script to forget about any Starlink
|
---|
33 | configurations. This is the safe option if you run into problems when using
|
---|
34 | a simple `--prefix` for building outside of Starlink. The configure script
|
---|
35 | will assume Starlink is not being used by looking to see if
|
---|
36 | `STARCONF_DEFAULT_PREFIX` environment variable is set. You may run into problems if
|
---|
37 | `STARCONF_DEFAULT_PREFIX` is set but you use `--without-starlink`.
|
---|
38 |
|
---|
39 | Requirements
|
---|
40 | ------------
|
---|
41 |
|
---|
42 | Requires that either the SOFA C library or the ERFA library variant
|
---|
43 | (which has a more permissive license than SOFA) be installed. The
|
---|
44 | `configure` script will abort if neither SOFA nor ERFA can be
|
---|
45 | found. SOFA can be obtained either from <http://www.iausofa.org> or
|
---|
46 | from an unofficial github repository (with a configure script) at
|
---|
47 | <https://github.com/Starlink/sofa/downloads>. ERFA can be downloaded
|
---|
48 | from <https://github.com/liberfa/erfa>.
|
---|
49 |
|
---|
50 | Missing Functions
|
---|
51 | -----------------
|
---|
52 |
|
---|
53 | Not all SLALIB functions have been added. New routines are added to PAL as demand arises.
|
---|
54 |
|
---|
55 |
|
---|
56 | Language Bindings
|
---|
57 | -----------------
|
---|
58 |
|
---|
59 | A Perl binding of PAL is available (<https://github.com/timj/perl-Astro-PAL>) named `Astro::PAL`
|
---|
60 | and is available from CPAN at <https://metacpan.org/module/Astro::PAL>. This is a standalone
|
---|
61 | distribution that comes with its own copies of PAL and SOFA and so can be installed directly
|
---|
62 | from the `cpan` shell.
|
---|
63 |
|
---|
64 | A Python binding of PAL is available (<https://github.com/Starlink/palpy>). This is a standalone
|
---|
65 | distribution that comes with its own copies of PAL and SOFA.
|
---|
66 |
|
---|
67 | The Starlink AST (<http://www.starlink.ac.uk/ast>) library now uses PAL and can be built
|
---|
68 | either with a private PAL or with an external PAL.
|
---|
69 |
|
---|
70 | Documentation
|
---|
71 | -------------
|
---|
72 |
|
---|
73 | The description paper for PAL is: ["_PAL: A Positional Astronomy Library_"](http://adsabs.harvard.edu/abs/2013ASPC..475..307J),
|
---|
74 | Jenness, T. & Berry, D. S., in _Astronomical Data Anaysis Software and Systems XXII_,
|
---|
75 | Friedel, D. N. (ed), ASP Conf. Ser. **475**, p307.
|
---|
76 |
|
---|