I would like to have an analytical ephemeris for various bodies of the solar system (planets, natural satellites and asteroid). I have at my disposition spice kernels from which i can extract position and velocity for each body.

I would like to convert this spice ephemeris to an analytical solution such as VSOP2013 because, as far as I understand, analytical ephemeris provides the ability to truncate the series generating the ephemeris, thus offering a way to make a trade off between accuracy of the ephemeris and memory requirements.

I have managed to create my own ephemerides made of Chebyshev Coefficients from Spice Data but trying to lower the order of the polynomial compared to Spice or the window on which the polynomial is defined has given me poor results.

Is what I ask even possible ?

What methods could be used ?

Note that I don't want an ephemeris for a period longer than a decade and I have low accuracy requirements ( I don't mind a few hundreds kilometers compared to DE440).

  • $\begingroup$ Is there a reason you can't just use a truncated version of the already existing VSOP87? E.g. github.com/gmiller123456/vsop87-multilang $\endgroup$ Mar 11, 2023 at 16:45
  • $\begingroup$ I want ephemerides for natural satellites as well as asteroids so VSOP (either 2013 or 1987) is not sufficient. $\endgroup$
    – JoeDalton
    Mar 11, 2023 at 23:15
  • $\begingroup$ How good is your French? This paper seems to describe how to create something like VSOP87. articles.adsabs.harvard.edu/pdf/1990A%26A...231..561B . The abstract is in English, the rest is in French. It is written by the authors of VSOP. $\endgroup$ Apr 14, 2023 at 2:18

2 Answers 2


It's possible, because that's partly how VSOP was made, but the amount of effort involved is immense. What you are describing is at the very least a doctoral thesis, if not several of them.

Why not just use the SPICE kernels directly?

Analytic ephemerides are generally power series of trig functions of polynomials in orbital resonances, as described for the VSOP family of models in Simon, Francou, Fienga, and Manche (2013), "New analytical planetary theories VSOP2013 and TOP2013", Astronomy & Astrophysics 557 A49. Understanding what's going on in that paper, and what the words they use actually mean, requires good working knowledge of celestial mechanics at the level of Richard Battin's An Introduction to the Mathematics and Methods of Astrodynamics (1999), which begins with continued fraction expansions for elliptic integrals, and gets harder from there.

All the VSOP theories are equations for the six equinoctial elements (a, $ \lambda$, k, h, q, p) for each planet (originally eight, but expanded to include Pluto in 2010). The theory starts out with lots of parameters, but in the end each equation uses only time as a variable, because all of the other things had their values adjusted to fit measured data. Actually, in VSOP's case, they fit not to the measurements directly, but instead to the output of a numerical integration, which was fit to actual measurements. VSOP2000 fit to DE403, VSOP2010 fit to DE405, and VSOP2013 fit to the Paris Observatory's INPOP10. For more information, consult Fienga (2009), "Evolution of INPOP planetary ephemerides", and Hilton and Hohenkerk (2011), "A comparison of the high accuracy planetary ephemerides DE421, EPM2008, and INPOP08".

The full 54 equations of VSP2013 can be found at https://ftp.imcce.fr/pub/ephem/planets/vsop2013/solution/ . VSOP2013-secular.dat is the easiest part to understand. The full theory, using all of the files in that directory, involves more than 2.5 million coefficients. Choosing good criteria for discarding many of those terms is the topic of the last page of https://ftp.imcce.fr/pub/ephem/planets/vsop2013/solution/README.pdf , the effects of which on the number of coefficients is summarized in Table 7 of Simon, et al. (the first link above). There is also a Chebyshev polynomial version of the VSOP2013 model, in the neighboring https://ftp.imcce.fr/pub/ephem/planets/vsop2013/ephemerides/ .


Not "analytical" but you can compute your own cubic splines to an arbitrary accuracy.

while not done:
    Use the spice library to pull out N points
    Fit them to cubic splines
    Check error of interpolated points, again using spice as truth
    Adjust N until desired accuracy achieved

To achieve 100 km accuracy, I only needed 7 knots per year for Jupiter. I needed 206 knots per year for Mercury.

  • $\begingroup$ Yes, this approach works for planets but it becomes more difficult for natural satellites. Some of them have a fast orbital period which leads to the need to define your spline on an extremely short window, and thus creates large files. $\endgroup$
    – JoeDalton
    Mar 14, 2023 at 13:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.