EPH is a freeware program that can be used to compute ephemerides of comets and minor and major planets. It features full perturbations of orbits due to the major planets using numerical integration with user selectable integration increment. Major planet positions are computed using the JPL planetary ephemeris, version DE405. EPH can read the MPC database of minor planet elements, MPCORB.


When the program is executed, the first screen will ask if the ephemerides screen output containing RA, DEC, Solar and Earth distances and other variables is to be saved to a text file. The name of a text file can be given to the program where this information will be stored. This file can be used later for printing the ephemeris. If no file is needed, a <CR> should be input.
The second screen asks for the desired output format. Five options are given:
SHORT - Date: year-month-day, ET. RA: h, m (xx.xx), DEC: deg, min (xx.x), Mv(xx.x),
Sun distance(xx.xxx), Earth distance(xx.xxx), phase(xx.x), elongation(xx.x)
LONG - Date: year-month-day, ET. RA: h, m (xx.xx), DEC: deg, min (xx.x),
Sun distance(xx.x), Earth distance(xx.xxxxxx), phase(xx.x), elongation(xx.xxxxx)
ASTRM - Date: year-month-day, UT. RA: h, m, s(xx.xx), DEC: deg, min, sec(xx.x), Mv(xx.x)
Sun distance(x.xxx), Earth distance(xx.xxx)
MPC - Date: year-month, UT(xx.xxxxx), RA: h, m, s(xx.xx), DEC: deg, min, sec(xx.x),
Sun distance (xx.xxx), Earth distance(xx.xxx)
A user generated file built with the accessory program IEDIT

The third screen shows selectable parameters which control program execution and which can be changed by the user when the program is started. These parameters are contained in four files which can be accesed when EPH executes, or an initialization file built and/or edited with an accessory program IEDIT (Initialize EDIT). These parameters are:

FORM: Format of the ephemerides output. Choices for this format are the same as above:

NPOS: Number of positions to list in the output.
YEAR: Year of the first position
MONTH: Month of the first position
DAY: Day of MONTH of first position, which may contain a decimal part of the day.

XJINC: Interval between output dates. This will be in hours for the formats SHORT, LONG, and ASTRM,
and in days for the format MPC.

DEL: Integration interval in days for numerical integration. Normally this is set at 1.0 days, but may have to be set as small as 0.01 days for near major planet approaches or small perihelion orbits to maintain accuracy. If 0 is entered, Kepler's equation will be used to generate the ephemeris.

METHOD: Method used for numerical integration. The choices for METHOD are:
KEPLER: Two body solution without perturbations.
COWELL: Cowell's direct integration algorithm including perturbations.
ENCKE: Encke's integration method. See Technical Information, below.

CYEAR: Geocentric coordinate system designation. The default 2000 is for the J2000 coordinate system.

OLAT: Observer's latitude. If greater than 90 degrees, the program will use geocentric coordinates.

OLAN: Observer's longitude.

NPLANET: Number of major planets to use for perturbations. The default, 10, uses all major planets,
Pluto, and the Moon. If NPLANET is set to 9 or less, the Earth-Moon barycenter is used for planet 3.

NCENTER: Coordinate center. Normally this will be set to 3 to use the Earth as the coordinate's center. It may be set to any other major planet, but the coordinate system will still be using geocentric orientation with its center at planet NCENTER.

MPCFILE: Name of the element file for minor planets. This will be the Minor Planet Center's file
MPCORB. The program will read current versions correctly.

PLANET: Source of major planet positions. Defaults to JPL which uses the JPL database. The other option is MEAN which uses mean elements. This option is available in case the JPL database is not available. Mean elements will have reduced accuracy. The mean elements will also be used if the dates extend beyond JPL limits (see below).

JPLFILE: Name of the JPL Planetary and Lunar Ephemerides file. This file is supplied with EPH. The JPL Ephemerides file extends from 1599 DEC 09 to 2169 MAR 31. If the program needs to calculate ephemerides outside this range of dates, it will use mean elements to extend the range of major planet positions, with reduced accuracy.

STFILE: Element file at first ephemeris listing. If this is specified, the program will save a file of elements at the first ephemeris position. This file can be recalled later to compute other positions.

ENDFIL: Element file at last ephemeris listing.

If any of these parameters need to be changed, the name of that parameter can be entered, and the program will prompt for a new setting. If no changes are needed, a carriage control can be entered.

The next question will prompt for the source of elements. There are four choices:

(1) Search the database MPCORB for a numbered minor planet. You will need to supply the number of the desired object in the MPC database.

(2) Search the database MPCORB for a named minor planet. You will need to supply a minor planet's name, or if unnamed, the provisional designation, exactly as it appears in the MPC database.

(3) Load a file of minor planet elements built by EPH using STFILE or ENDFIL or the auxiliary program BFILE. The program BFILE can build a file of elements for an object not in the MPCORB database. It can build files for both minor planets or comets. You will need to supply the name of this element file.

(4) Use the JPL Planetary Ephemeris database to compute an ephemeris for a major planet. It is possible to generate an ephemeris with choices for both the target planet and observing planet.

The ephemeris of the selected object will be generated at this point.


The program is written using Compaq Visual Fortran 6.6. All calculations are done using double precision arithmetic.

Effects of planetary aberration and parallax are corrected. General relativistic corrections are not included.

For information on Gauss-Jackson integration see: Danby, "Fundamentals of Celestial Mechanics" Second edition, chapters 10 and 11. Also see Brouwer and Clemence "Methods of Celestial Mechanics" chapters IV and V. Backpoints for starting Gauss-Jackson integration are generated using a seventh order Runge-Kutta routine.

For information about Encke's integration method see Brouwer and Clemence "Methods of Celestial Mechanics", Chapter V. See the end of Chapter V, section 8 for a comparison of Encke's and Cowell's algorithms.


Along with EPH the following programs are supplied that may be useful:

BFILE is used to build an element file that can be read by EPH. Options are provided to build both element files for minor planets and comets. To build an element file for a minor planet you will need to supply the following information:
A name or number designator
Epoch date, either in calendar or Julian day format
Mean anomaly
Argument of perihelion, degrees
Longitude of the ascending node, degrees
Inclination, degrees
Semimajor axis, AU
Name for this file

To build an element file for a comet, you will need to supply the following information:
Designation for this object
Source of the elements (optional)
Epoch date, either in calendar or Julian day format
Perihelion date, in calendar or Julian format
Argument of perihelion , degrees
Longitude of ascending node, degrees
Inclination, degrees
Perihelion distance, AU
Name for this file

IEDIT enables you to build and/or edit initialization files. Four files are supplied with the program, and IEDIT can be used to change these files or build new initializing files without using these previously built files.
You will be asked to supply the following information:
Format of output, from the choices above: Short, Long, Astrometric or MPC
Number of positions to compute
Year of first position
Month of first position
Day of month of first position
Increment in hours or days between positions
IEDIT will show the values present in your new file which can be changed at this point.
If no changes are needed, the file will be saved.

JULIAN converts calendar dates to Julian days or Julian days to calendar dates.

Return to ALPO Homepage