I'm looking for accurate positions and velocities of the planets in the solar system over several decades. I want to simulate their trajectories using Newtonian laws of motion, and compare the precession of Mercury's perihelion with observed data. I used the JPL's HORIZONS system but I can't manage to find these positions and velocities in the output data.

Could you explain how the data is formatted? (The HORIZONS web-interface Tutorial didn't help.)

  • $\begingroup$ Where it says "ephermis type", choose "vectors" instead of "observer". Hope that helps! If you're just looking for perihelions or similar data, consider using wgc.jpl.nasa.gov:8080/webgeocalc/#NewCalculation $\endgroup$
    – user21
    Sep 25 '15 at 0:37

WebGeocalc (http://wgc.jpl.nasa.gov:8080/webgeocalc/) is actually a fairly useful tool, and the next best thing to downloading the CSPICE libraries, so let me provide a slightly more detailed answer to your question.

When you first visit WebGeocalc, you will see something like this:

enter image description here

Because you are looking for perihelions, which involve distance, scroll down and choose "distance finder":

enter image description here

Since you want to find the perihelion of Mercury, fill out the top half of the form like this:

enter image description here

For this example, I'll find all perihelions from 1900 to 2201. A perihelion is a minimum of distance, and since you're looking for all perihelions, choose "is local minimum" on the lower half of the form, so it looks as follows:

enter image description here

Scroll down once again (you can leave the remaining form values as is) and click the "Calculate" button:

enter image description here

When you get your results, click "Save All Intervals" to save the times of Mercury's perihelions. Note that each result is an interval, but the interval is 0 seconds long, so it's actually a point in time:

enter image description here

Now click on "Calculation Menu" to get back to the main menu:

enter image description here

We'll now find Mercury's position at all of these perihelions so you can see how the perihelion position changes.

To find Mercury's position at these times, first click on "State Vector", which will take you to a form. Fill out the top half of the form as follows:

enter image description here

Fill out the lower half of the form as follows, dragging the results window (for the times of Mercury's perihelions) into the input times window:

enter image description here

Click "Calculate" to receive your results:

enter image description here

See also http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/Tutorials/pdf/individual_docs/36_webgeocalc.pdf

NOTE: if you're going to do extensive calculations, you'll probably want to download the C SPICE library and kernels: http://naif.jpl.nasa.gov/naif/tutorials.html

EDIT: I emailed Jon D. Giorgini (jdg@tycho.jpl.nasa.gov) re the open-sourceness of HORIZONS, and got this answer (which I'm not sure is helpful, but...):

Horizons output is copyrighted in the sense one can't take a
table output by Horizons and re-publish it as one's own.
JPL is a contractor organization and so the output is not prepared
by an officer or employee of the US government, and it is not
transferred to the US government, so copyright remains relevant.

The data values themselves, say the RA/DEC of Pluto at
some instant, are not legally copyrighted, though it would 
be unethical to publish it without citation.

Legal copyright protection is for fixed representations
analogous to a book; the book has copyright protection, but 
an individual word extracted from the book (i.e., into a 
different representation) is not itself protected.  Up to 
a point

Note that Horizons reads SPICE files for planets, natural
satellites, and spacecraft, then derives results it outputs 
from scratch from that basis. But for comets and asteroids, 
it creates all information on demand from scratch.

Further, we (JPL Solar System Dynamics) put the planet/satellite/
spacecraft information into the SPICE format to begin with. So 
a SPICE file might be like the blank pages of a book; not 
copyrighted until the original work is written into it, but not
itself copyrighted (beyond the source code, of course).

But if you need a more trustworthy legal opinion for a specific 
situation, I can put you in touch with legal staff. If this is an 
actual issue and not just a point of curiosity, that's the way to
since perhaps other rules would apply to your actual situation. 
  • $\begingroup$ It helped, thank you. It's a detail, but I realized that the JPL's Horizon system wasn't open-sourced. I've found a similar library in the Python language, pyephem. It seems like you've already used it. Is it accurate ? If so, in addition to that, could you explain how to do the same calculations with it ? $\endgroup$ Sep 25 '15 at 21:53
  • $\begingroup$ I've used pyephem (and skyfield), and even created Perl and Mathematica programs to read the SPICE kernels, but I recommend using the C SPICE library and kernels: naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/req/kernel.html both of which are published by the US Government and free of copyright. Oh, and if you just need perihelion data, choose "orbital elements" in HORIZONS. $\endgroup$
    – user21
    Sep 26 '15 at 14:12
  • $\begingroup$ @barrycarter Thanks for this very helpful answer. BTW I think that HORIZONS Orbital Elements doesn't give the precise time of the next perihelion but the time of the 'virtual' perihelion of the osculating orbit at the specified time. $\endgroup$
    – steveOw
    Feb 2 '18 at 0:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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