Details at http://www.projectpluto.com/jpl_eph.htm .
This code provides various utilities and functions to read, use, and manipulate JPL DE ephemeris data. The core functions were based on Piotr Dybczynski's C source code :
though this version has been so heavily changed as to bear only a passing resemblance to the original, and a variety of utilities have been added. This version :
- deals with JPL ephemerides in either byte order;
- handles all JPL ephemeris versions (at least up to DE-435), without recompiling;
- handles errors gracefully;
- can be compiled and used on DOS/Windows, Linux, OS/X, with various compilers;
- includes some optimizations for speed
This code has been under development for some years and is essentially "complete", except that one may expect JPL to produce further ephemerides and that they may add new features requiring some changes to this code. (In recent years, JPL ephems have had TT-TDB data added, and some ephemerides have broken the previous limit of 400 ephemeris constants. Older code won't work with either of these issues.)
On Linux, run
make to build the library and various test executables
and utilities. (You can also do this with MinGW under Windows.) In Linux, you
can then run
make install to put libraries in
/usr/local/lib and some
include files in
/usr/local/include. (You will probably have to make that
sudo make install.) For BSD, and probably OS/X, run
(GNU make, with the clang compiler), then
sudo gmake install.
On Windows, run
nmake -f vc.mak with MSVC++. Optionally, add
-BITS_32=Y for 32-bit code.