source: trunk/FACT++/pal/README.md@ 18581

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