Ephemeris trail
Introduction
Generalities
VSOP87
Build VSOP87
Truncating VSOP87
Testing VSOP87
Pluto99
ELP82
Class organization
Reference frames
CoordTransfo
Handling frames
Handling precision
Units
Handling time
Putting all together
Swiss Ephemeris
Generalities about ephemeris calculation
The purpose of this page is to quickly see what we can use to write an ephemeris calculation program.

To compute ephemeris

Two methods can be employed to compute planetary positions : numeric integration and analytical solutions

Both method use Newton's laws (when high precision is needed, relativist corrections are taken into account).

  • One law states that material bodies attract each other ; the force depends on body masses and distances between them.




  • An other law states that the sum of forces applied to a material body is related with its acceleration.



  • So if we combine these two laws, we get a relation between the position of a body and its acceleration. And acceleration is a variation of velocity (its derivate) and velocity is a variation of position.
    Mathematically speaking this gives differential equations (relations between a quantity and its derivates).
    Finding the solutions of these equations permits to characterize the movement of the bodies.

    But nobody knows how to find the exact solution when more than two bodies are present. To find accurate approximations of the solution, two families of methods have been developped.

    Numeric integration

    The principle of this method is the following :
    Imagine that at instant t, the positions of all the considered bodies are known ;
    it is then possible to calculate the forces exerced on each body, then the accelerations.
    Then the positions at t0 + DT can be known.
    The same operation is done at t0 + DT, which leads to the positions at t0 + 2DT, and so on.

    Real numeric integration is of course more complex.

    Numeric integrations for ephemeris calculation are mainly deveopped by the JPL (Jet Propulsion Laboratory, a branch of the NASA), in the United States.
    The results of their work can be found at ftp://navigator.jpl.nasa.gov/pub/ephem/export/ (see also the page of links for more information).
    The current version of their ephemeris is called DE405.

    JPL ephemeris are the most accurate ephemeris currently available.

    This method demands tremendous amounts of calculations. If you need a position for an instant t1 = t0 + 100000DT, the operation described above must be done 100000 times.
    So the JPL provides files that contain pre-calculated positions that we just need to interpolate to get the result. But this still represent large amounts of data.
    In ASCII format, data for 20 years have a size of 20 Mo (for all planets and the Mooon).

    Analytical solutions

    This method consists in writing the differential equations, and finding analytically approximate solutions.
    The main organism developing these solutions is the BDL (Bureau des Longitudes), in Paris, France. A brief description of the methods they employ can be found in [BDL98].
    The theories they developped permitted them to produce data files containing terms to sum in order to get the coordinates. The files can be downloaded from ftp://ftp.bdl.fr/pub.
    In ASCII format, data valid for several thousands of years have a size of 4 Mo (for all planets and the Moon).

    Low precision

    Low precision routines can be found easily, but I need :
  • Free routines available in electronic format (to avoid typing coefficients manually) ;
  • Routines for which precision is known.

  • I have not yet studied this problem.

    What solution for JEphem?

    For JEphem, I want :
  • Accurate computation : will be necessary to develop date searching routines (ex : find a conjunction between 2 planets).
  • Low precision : for common usage, high accuracy is not always necessary. To get faster results, medium or low precision routines can be useful.


  • So I decided to develop 3 ways to compute positions :
  • one method as accurate as possible ;
  • one method giving one arc second of precision ;
  • one method giving a few arc minutes of precision.


  • Accurate method : files provided by the JPL are really too big to be useful ; the computation is slow. So I used theories of the BDL (VSOP87, Pluto99 and ELP82).
    precision of one arc second : I tried to use a truncated version of VSOP.
    precision of a few arc minutes : TO DO