Code to read, use, and manipulate JPL DE ephemeris data.
C++ C Makefile
Switch branches/tags
Nothing to show
Latest commit 79aa05f Jul 25, 2017 @Bill-Gray Fixed handling of 'sub_eph'. Now using 'mkdir -p' to avoid spurious e…
…rror message when the directory already exists.
Permalink
Failed to load latest commit information.
.gitignore 'eph2' and 'sub_eph' (executables) are built when you run make. They May 25, 2016
LICENSE Initial commit Mar 9, 2016
README.md
asc2eph.cpp Failure occurs if ncoeff is an even multiple of 3. This never happene… Mar 14, 2017
dmc_jpl.mak Makefile for Digital Mars C/C++ compiler Mar 14, 2016
dump_eph.cpp Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
eph.cpp Changed DOS/Windows-style CR/LF endings to LF-only Jul 20, 2016
eph2.cpp Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
eph2asc.cpp Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
f_strtod.cpp Cast required to placate MSVC Jul 20, 2016
ftest.cpp Ensured that __STDC_LIMIT_MACROS is always defined. That got rid of Apr 28, 2016
hex_comp.cpp
improve.txt Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
jpl_int.h Commented on ncoeffs=728 for DE-404; ncoeffs=1018 for DE-413 & 418; n… May 17, 2017
jpl_stat.mak MSVC makefile for a statically-linked library. Haven't used it for a … Mar 14, 2016
jpleph.cpp Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
jpleph.def Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
jpleph.h Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
makefile Fixed handling of 'sub_eph'. Now using 'mkdir -p' to avoid spurious e… Jul 25, 2017
merge_de.cpp Fixed warning about possible uninitialized use of ofile Mar 17, 2017
sub_eph.cpp Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016
testeph.cpp Minor type revisions to placate current MSVC. Also, you can now speci… Aug 3, 2016
vc.mak Changed DOS/Windows-style CR/LF endings to LF-only Jul 20, 2016
watcom.mak Makefile for the OpenWATCOM C/C++ compiler. Mar 14, 2016
watdefs.h Changed DOS/Windows-style CR/LF endings to LF-only endings. May 25, 2016

README.md

jpl_eph

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 :

ftp://ftp.astro.amu.edu.pl/pub/jpleph/

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 gmake CLANG=Y (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.

Makefiles are also provided for the OpenWATCOM and Digital Mars compilers for DOS/Windows.