I'm working on a tool to simulate comet trajectories. Just the usual method where you place the sun and the planets in their orbits and then solve for the comets' trajectories using the gravitation law (perhaps taking into account sublimation etc. for better precision). There are websites that will give you the orbital elements corresponding to a comet, with some epoch. However it is not specified where the comet is at the epoch. Question:

I would like to put a known comet on its observed ephemerides a fair distance away from the sun on its way in, so I can observe it coming in, turning, and going out. How can I find such a position using data in the available databases?

(This is the algorithm I use to determine the position of the planets, I think it might be helpful in this case as well.)


1 Answer 1


JPL's Solar system dynamics group has an online tool called HORIZONS which has become the de-facto tool to look up or compute ephemerides of the planets, natural satellites, and several thousand minor planets. They also provide the SPICE toolkit, which you can use in your own software. This tool needs some pre-generated data files (like DE405/DE406 for planets), and allows you to generate accurate ephemerides for any and all bodies in those data files.

Then there is the Minor Planet Center, the IAU body responsible for all minor planets (classification, naming, etc.). They offer a tool called Minor Planet Ephemerides Service (MPES), which allows you to generate ephemerides for a list of up to 100 minor planets at a time. Then they offer the MPC Orbit database, which provides MPCORB.dat files (or dailies), which contain the current orbital elements of all known minor planets (and/or newly discovered ones). Note that unlike the site you linked to, the MPCORB.dat file includes all 6 orbital elements and epoch, meaning that you can uniquely determine its position and velocity in space.

If I recall correctly, either SPICE or MPC also provides drift values, that is, the first and second order rates of change of the orbital elements at the epoch. Meaning: more accuracy coming already from the ephemerides tool, less computation required on your side. In general: use the work that has already been done, instead of doing it yourself :)

If you really have to or want to propagate the asteroids: I suggest you use Encke's methods in combination with either a symplectic integrator or a high-order Runge-Kutta-Nyström integrator.

Note that these integrators cannot be used if you want to take into account things that depend on the instantaneous velocity, like radiation pressure. But hey, if you're going into that kind of detail, well...perhaps better ask a new question on which books to read first :)

  • 2
    $\begingroup$ To address the specific question, in the HORIZONS ephemerides when asking for "elements" as an example, you will find TP for time at periapsis. E.g. for Halley's comet, you will see TP= 2446467.3953170511 and TP= 1986-Feb-05.8953170511. With the time at periapsis, you can find the position of the comet at any time. You can also ask for "vectors" on that system, and get position and velocity directly at the requested times. Today, Halley's comet is at -2.044172910106513E+01 2.492823871168252E+01 -9.730954540464577E+00, in AU. $\endgroup$
    – Mark Adler
    Commented Feb 26, 2014 at 14:45

Your Answer

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