EPHEM
Name
ephem
Purpose (one Line)
Ephemeris generator for solar system objects.
Description
This program pipes the input data to an external FORTRAN program
written by Larry Wasserman. The external program looks up the orbital
elements of each object and computes the positions requested by the
output code. The output code options are:
Code Meaning
-----------------------------------------------------------------------
0 Topocentric RA, Dec, of date of object.
1 Topocentric RA, Dec, B1950 of object.
2 Topocentric RA, Dec, J2000 of object.
3 Topocentric x, y, z, of date of object.
4 Topocentric x, y, z, B1950 of object.
5 Topocentric x, y, z, J2000 of object.
6 Topocentric x, y, z, of date of Sun.
7 Topocentric x, y, z, B1950 of Sun.
8 Topocentric x, y, z, J2000 of Sun.
9 B1950 x, y, z, of object with respect to solar system barycenter.
10 J2000 x, y, z, of object with respect to solar system barycenter.
11 J2000 osculating orbital elements for the object
0 - mean anomaly (M)
1 - argument of perihelion
2 - longitude of the asending node
3 - inclination (i)
4 - eccentricity (e)
5 - semi-major axis (a)
6 - perihelion distance (q)
7 - aphelion distance (Q)
8 - Orbital period
9 - epoch of elements
10 - line of variations (delta RA)
11 - line of variations (delta Dec)
12 - semi-major axis of error ellipse
13 - semi-minor axis of error ellipse
14 - Julian Date of last astrometric measurement
15 - Arc length of astrometry
16 - Number of astrometric observations
VRA, VDec, line of variations for +1 deg change in M (radians)
JDlast - date of last astrometric measurement (nearest day)
arc - Arc length of astrometric observations (days)
nobs - Number of observations used to generate orbit.
12 Errors on osculating orbital elements for the object
M, arg peri, node, i, e, a, q, Q, Period,
(9 values)
20 Code 0 and Code 3 and Code 6 information.
21 Code 1 and Code 4 and Code 7 information.
22 Code 2 and Code 5 and Code 8 information.
23 Code 2, 5, 8, and 11 information.
all of the following include errors for all quantities, the
errors are all together and follow the main quantities.
31 Barycentric ecliptic x,y,z and velocities, no light time, of date.
32 Barycentric ecliptic x,y,z and velocities, no light time, B1950.
33 Barycentric ecliptic x,y,z and velocities, no light time, J2000.
34 Heliocentric ecliptic x,y,z and velocities, no light time, of date.
35 Heliocentric ecliptic x,y,z and velocities, no light time, B1950.
36 Heliocentric ecliptic x,y,z and velocities, no light time, J2000.
37 Barycentric equatorial x,y,z and velocities, no light time, of date.
38 Barycentric equatorial x,y,z and velocities, no light time, B1950.
39 Barycentric equatorial x,y,z and velocities, no light time, J2000.
40 Heliocentric equatorial x,y,z and velocities, no light time, of date.
41 Heliocentric equatorial x,y,z and velocities, no light time, B1950.
42 Heliocentric equatorial x,y,z and velocities, no light time, J2000.
43 Invariable plane x,y,z and velocities, no light time, of date.
44 Invariable plane x,y,z and velocities, no light time, B1950.
45 Invariable plane x,y,z and velocities, no light time, J2000.
46 Same as 36, plus covariance matrix (48 values total).
The object code depends on the type of object requested.
All asteroids are preceeded by A, comets by C, planets and satellites
by P, and topocentric locations by T. For asteroids, either the number
of the asteroid or its provisional designation will work. Comets
are recognized by either provisional or final designations, not names.
Planets and satellites use the NAIF coding scheme for objects. For
example, the Pluto-Charon barycenter is 9, Charon is 901 and the
center of Pluto is 999. Topocentric locations use the same code as
for the observatory codes, for example, Anderson Mesa would be T688.
None of the names allow spaces. If the object isn't recognized or
supported by the external databases, RA and Dec values (if requested)
are returned as -99 and the x,y,z values are returned as 0. Elements
will return as zero for invalid input.
Category
Astronomy
Calling Sequence
ephem,jd,obs,code,object,ephemeris
Inputs
jd - Julian Date (UT) of position to calculate (scalar or vector).
obs - Observatory code, Marsden's IAUC codes (scalar).
code - Output format code (see description) (scalar).
object - Object code (see description) (string or string array).
Optional Input Parameters
Keyword Parameters
CACHE - Flag, if set, indicates that the ephemeris calculations should
be saved in a file for possible later use. The file name
used will be code+'.eph'. The file will be written
to the current directory. If the cache file exists in
the current directory and its length matches the length
of the input ephemeris generation request, then the file
will be read instead of making the call to the external
program, geteph. If there is no file or if the file isn't
the right length, the ephemeris generation will proceed
normally.
FNCACHE - If you need to provide a better (or more unique) file name
than the default algorithm, set this keyword to a string
to be used as the file name for the cached data.
PIPE - If you pass in a valid lun for the geteph pipe, then
ephem will use this pipe rather than open up a new one.
This can dramatically decrease execution time for numerous
"short" calls to ephem. In this case, the calling program\
must open and close the pipe itself.
Outputs
ephemeris - 2-D double precision array of values requested by code.
array is NxM where M is equal to the number of
times in the input jd array. N varies depending
on the output code (ie., for code=2, N=2)
Common Blocks
Side Effects
Restrictions
Procedure
Modification History
3/24/93 - IDL interface written by Marc W. Buie, Lowell Observatory.
99/07/25, MWB, added CACHE and FNCACHE keyword
01/04/06, DBT, added PIPE keyword
01/04/03, MWB, changed to support two error numbers in information
02/06/28, MWB, added support for codes 31-45
02/07/01, MWB, added support for code 12
2002/09/09, MWB, added support for string obscode values
2002/10/31, MWB, added support for code 46
2003/04/25, MWB, changed test for bad return on code 12
2013/03/06, MWB, changed to allow one input time and multiple objects
2015/03/17, MWB, added support for non-standard observatories