
plan404 ephemerides

The tables of coefficients were derived by a least squares fit of
periodic terms to JPL's DE404 ephemerides.  The periodic
frequencies used were determined by spectral analysis and
comparison with VSOP87 and other analytical planetary theories. 
The least squares fit to DE404 covers the interval from -3000 to
+3000 for the outer planets, and -1350 to +3000 for the inner
planets.

The files mer404.c, ven404.c, ..., plu404.c contain numerical
tables for computing the J2000 heliocentric ecliptic longitude,
latitude, and distance of the indicated planet.  Each file
includes a table of statistics from a comparison with DE404.
Maximum deviations from DE404 are shown, in arc seconds, over each
interval of 500 Julian years. The figure tabulated for deviation
in radial distance is scaled relative to the mean distance; to
convert to astronomical units, multiply by 4.848e-6 times the
mean distance in au.

The lunar ephemeris files mlr404.c and mlat404.c generate
positions relative to the mean equinox and ecliptic of date.
They assume the DE403 precession constants used in precess.c
and the obliquity in epsiln.c.  These differ somewhat from DE200
or IAU constants but are thought to be more accurate.


Steve Moshier
moshier@world.std.com
December, 1995
December, 1996




Here are some details on the data structure of the tables.

Numerical tables for computing the heliocentric ecliptic longitude,
latitude, and radius of the planets are given in the files mer404.c
for the planet Mercury, ven404.c for Venus, etc.  Each of these files
contains arrays tabl[] of longitude coefficients, tabb[] of latitude
coefficients, tabr[] of radius coefficients, and args[] of
trigonometric argument harmonics.  All the data are organized for
efficient access by a computer.  In the source files the data are
broken up into lines of print, and the order of the lines of arguments
in args[] corresponds to the order of the lines of longitude,
latitude, and radius coefficients in the other arrays.

In the args table, the first column is the number of items combined to
form the trigonometric argument.  The next pairs of columns describe
the items.  The first column of each pair is the harmonic, the second
column is the planet number.  The last column is the highest
polynomial degree of time for this argument.

Thus in mar404.c, the second line of the argument table args[] reads
  3,  4,  3, -8,  4,  3,  5,  2,
The trigonometric argument is the sum of 3 items corresponding to planets
3, 4 and 5 (Earth, Mars, and Jupiter).  The harmonics are 4, -8, and 3
respectively.  Hence the trigonometric argument is
   A =  4 Earth - 8 Mars + 3 Jupiter.


For each planet, the fundamental-frequency angular argument is an
initial phase angle plus a frequency multiplied by the time variable.
Thus, from the arrays freqs[] and phases[] in the file gplan.c,
  Earth =  6890507749.3988 T +  355.43299958 * 3600.0
where T is in units of 10,000 Julian years from J2000 and the result is
measured in arc seconds.

Corresponding to this argument are the amplitude coefficients from the
same line of the longitude, latitude, or radius table.  The cosine and sine
amplitude coefficients of the highest degree term appear first.
For the longitude, the complete term corresponding to the second line
of coefficients is, from tabl[],

  (317.74183 cos(A) + 730.69258 sin(A)) T^2
  +  (-15.26502 cos(A) + 277.56960, sin(A)) T
  +  (-62.96711 cos(A) + 20.96285 sin(A))

arc seconds, where, as before,  A =  4 Earth - 8 Mars + 3 Jupiter.

The first line of args[] lists 0 periodic arguments.  This is a special
case denoting an expression that is just a polynomial in time.
In mar404.c the first line of args[] reads
  0,  4,
indicating a 4th degree polynomial in T.  For the longitude, the coefficients
of the polynomial are given in the corresponding line (the first line)
of tabl[].  Thus, the complete term is

       43471.66140 T^4 +  21291.11063 T^3 + 2033.37848 + T^2
       + 6890507597.78366 T + 1279543.73631
in arc seconds, where T is measured in units of 10,000 Julian years from J2000.
