Ephemeris trail
Build VSOP87
Truncating VSOP87
Testing VSOP87
Class organization
Reference frames
Handling frames
Handling precision
Handling time
Putting all together
Swiss Ephemeris
VSOP87 is a planetary theory built by P. Bretagnon and G. Francou in the Bureau des Longitudes. With this theory, they produced data files, which have been used in JEphem to compute the coordinates of the planets, from Mercury to Neptune.
This work is presented in Astronomy and Astrophysics, n202, pp309-315 (1988).
The original files can be found at ftp://ftp.bdl.fr/pub/ephem/planets/vsop87.

Presentation of VSOP87

The easiest way to present this theory is to give extracts from various BDL files.

  • From VSOP87.doc :
  • The VSOP87 files contain the VSOP87 analytical solutions of the motion
    of the planets Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus,
    Neptune and Earth-Moon Barycenter.
    There are six different versions of the theory VSOP87 which may be recognized
    by the type of coordinates and the reference frame.
    The main version VSOP87 consists of the series in elliptic elements as in the
    case of previous solution VSOP82 and the other versions VSOP87 are built in
    rectangular variables (versions A,C,E) or spherical variables (versions B,D).
    The time used in VSOP87 theory is dynamical time.
    We can considered this time equal to Terrestrial Time (TT) which is
    measured by international atomic time TAI.
    So, the time argument in VSOP87 theory is equal to TAI + 32.184 s.
    The coordinates of the main version VSOP87 and of the versions A, B, and E
    are given in the inertial frame defined by the dynamical equinox and ecliptic
    J2000 (JD2451545.0).
    The coordinates of the versions C and D are given in the frame defined by the
    mean equinox and ecliptic of the date. This frame is deduced from the previous
    one by precessional moving between J2000 and the epoch of the date.

    Precision of this theory

    Here is an other extract of VSOP87.doc :
    The main version of VSOP87 is similar to the previous theory VSOP82.
    In the both cases the constants of integration have been determined by
    fitting to the numerical integration DE200 of the Jet Propulsion Laboratory.
    More detailed informations can be found in the A&A article ; in p. 311 of this document, they give the time spans for which a precision of 1" is ensured :
  • 4000 years before and after J2000 for Mercury, Venus, Earth-Moon barycenter and Mars ;
  • 2000 years before and after J2000 for Jupiter and Saturn ;
  • 6000 years before and after J2000 for Uranus and Neptune ;

  • In p. 310, they also indicate the precision over the time span 1900-2100 :
    Precision (arc second)0.0010.0060.0050.0230.0200.1000.0160.030

    From these informations, it is possible to know the precision of a theory for a given date and a given planet, as indicated in the following figure :

    pact represents precision between 1900 and 2100 (ex : 0.001 for Mercury);
    ti and tf represent the initial and final dates of validity (ex : J2000 - 4000 years and J2000 + 4000 years for Mercury);
    pi and pf represent the precision at ti and tf (1 arc second for all planets).

    The precision control mechanism of JEphem uses a linear interpolation to know the precision for a given date :
  • p(t) = pact for t in [1900, 2100]
  • p(t) = at + b for t in [ti, 1900[ and t in ]2100, tf]

  • a and b can be easily found :
    For period [ti, 1900[,
    For period ]2100, tf],

    This is implemented in method getPrecision(int whichBody, double jd) of class VSOP87.