I want to model the orbit of Mars, pretending that it is a circle around the Sun at the origin of my coordinate system, with the Earth being at (1,0,0) in terms of AU on March 19, 2024, at the vernal equinox when the Earth intersects the positive x-axis. I know the angle of inclination from wikipedia (1.85 degrees) for Mars' orbital plane. I also know where Mars' orbit intersects Earth's ecliptic plane (my xy-plane): the longitude of the ascending node is approximately 50 degrees, so roughly the longitude where Earth is on May 9, 2024. That means I can find the orbital plane for Mars.

I have its period of 687 days and its distance from the Sun at 1.52 AU (this is, of course, where my Copernican model is quite unrealistic since Mars has a much more elliptical orbit, but never mind that -- I'll continue to assume a Copernican solar system with this given data set). Now I just need to know where on its orbit Mars is on March 19, 2024, my starting point for the model, more specifically I need to know its longitude.

So, I consult NASA's Horizon Systems, but that's where I am running into a problem. I will illustrate this with a different date, because I can use it to doublecheck that my method works. On August 28, 2003, Mars and Earth were in opposition (see here), so they should roughly share the same longitude (none of what I am doing needs a great degree of precision). I go to a unix terminal and telnet into NASA

telnet horizons.jpl.nasa.gov 6775

I choose Mars (499) as my target and Sun (10) as my centre, "eclip" as my reference plane. Here is the output

Ephemeris / PORT_LOGIN Mon Mar 25 20:45:29 2024 Pasadena, USA    / Horizons
Target body name: Mars (499)                      {source: mar097}
Center body name: Sun (10)                        {source: DE441}
Center-site name: BODY CENTER

2452880.000000000 = A.D. 2003-Aug-28 12:00:00.0000 TDB 
 EC= 9.355312089520743E-02 QR= 1.381147225168036E+00 IN= 1.849314524891231E+00
 OM= 4.954277154097554E+01 W = 2.865131129215714E+02 Tp=  2452881.961196269374
 N = 5.240318916530542E-01 MA= 3.589722706089496E+02 TA= 3.587546846786007E+02
 A = 1.523693508142538E+00 AD= 1.666239791117040E+00 PR= 6.869810897660884E+02

This is perfect, because as you can see, the "Tp", which is the time of Mars' perihelion, is on the next day, and TA, the True Anomaly, is almost 365 degrees, as it should be. Here is my problem: to find out where Mars is on some day where it is not aligned with Earth, I need to know where it is at its perihelion. Wikipedia appears to have this information. It gives the "argument of perihelion," which is the angle from the ascending node to the perihelion, 286 degrees for Mars. But if my ascending node was at 50 degrees and the argument of perihelion is 286 degrees, then Mars should be in the neighbourhood of 336 degrees longitude at its perihelion, which definitely didn't happen on August 28 (sounds more like February 23). Where is the flaw in my reasoning?


1 Answer 1


if my ascending node was at 50 degrees and the argument of perihelion is 286 degrees, then Mars should be in the neighbourhood of 336 degrees longitude at its perihelion

That's correct, assuming that the difference in orbital planes has negligible effect on the longitude. And in fact the heliocentric ecliptic longitude of Mars on that date was ~335°.

Here's a batch file to fetch that data.


Here's the equivalent API query URL

And here's the resulting ephemeris data.

 Date__(UT)__HR:MN        ObsEcLon    ObsEcLat
 2003-Aug-28 00:00     334.4959389  -1.7867326
 2003-Aug-28 02:00     334.5488750  -1.7862912
 2003-Aug-28 04:00     334.6018113  -1.7858484
 2003-Aug-28 06:00     334.6547478  -1.7854040
 2003-Aug-28 08:00     334.7076845  -1.7849580
 2003-Aug-28 10:00     334.7606214  -1.7845106
 2003-Aug-28 12:00     334.8135584  -1.7840616
 2003-Aug-28 14:00     334.8664956  -1.7836111
 2003-Aug-28 16:00     334.9194329  -1.7831591
 2003-Aug-28 18:00     334.9723704  -1.7827055
 2003-Aug-28 20:00     335.0253080  -1.7822504
 2003-Aug-28 22:00     335.0782457  -1.7817938
 2003-Aug-29 00:00     335.1311835  -1.7813357

I have a few additional remarks about your project.

Firstly, I'm impressed that you're accessing Horizons via telnet. :)

It's not exactly clear why you want to model Mars with a circle. It's the second-most eccentric planetary orbit, after Mercury. Copernicus didn't use plain Sun-centred circles. He used slightly offset circles, supplemented with epicycles, so his system wasn't actually all that much less complicated than the Ptolemaic system.

The orbital elements that you show in your question are osculating elements. Unlike mean elements, they are not intended to be used to calculate orbit position and velocity vectors (aka state vectors) beyond a very short time window. Osculating elements are a kind of snapshot. They represent a Kepler ellipse that matches the state vectors at a single point in time, so they give the orbit that the body would follow if all perturbing influences were absent.

The ecliptic longitudes reported above by Horizons are with reference to the J2000 ecliptic and equinox, not the "of date" ecliptic and equinox. By the way, the recent vernal equinox was at 2024-Mar-20 3:06:03 UTC, or 3:07:34.466 TT.

The next Mars perihelion is only a few weeks away, on 2024-May-8 10:55 TT (that includes light travel time from the Sun to Mars). Its longitude will be ~336.178°.

Mars perihelion, 2024

Here's a batch file

START_TIME='2024-May-8 10:50 TT'
STOP_TIME='2024-May-8 11:00'

and a query URL for the range, range-rate, and ecliptic longitude and latitude.

  • $\begingroup$ PM 2Ring, thank you so much for your answer, it's detailed and very helpful. I will think it through carefully. Why was Mars at 335 deg on August 28, when Earth should be around 158 deg (end of August), and the two were in opposition? The orbital planes are hardly inclined, so that won't make that much of a difference. Of course you are right about Mars being the worst of the planets to model as a circular orbit. I am trying to build a circular orbit model for all four, Earth, Mars, Mercury, and Venus, and I was just doing Mars first. This is more of a math project than an astronomy project. $\endgroup$ Commented Mar 26 at 22:06
  • $\begingroup$ I am doing some work on quaternions and wanted lots of practice rotating vectors about lines in three dimensions. I am learning a lot about orbits, which is great fun! $\endgroup$ Commented Mar 26 at 22:08
  • $\begingroup$ Is the issue here: "The ecliptic longitudes reported above by Horizons are with reference to the J2000 ecliptic and equinox, not the "of date" ecliptic and equinox" -- ? Do I need to switch from J2000 to "of date" and that will fix the discrepancy? I thought (perhaps naively) that J2000 kept Earth roughly at (1,0,0) on vernal equinox in the coordinate system. $\endgroup$ Commented Mar 26 at 22:14
  • $\begingroup$ @Lawrence The Sun's geocentric ecluptic longitude is zero at the March equinox. But we're using heliocentric ecliptic longitude, and the Earth's heliocentric longitude is zero at the September equinox. ssd.jpl.nasa.gov/api/… $\endgroup$
    – PM 2Ring
    Commented Mar 26 at 22:29
  • $\begingroup$ A fixed system can't keep the apparent equinox at a fixed coordinate because of the precession of the equinoxes. The "of date" system is useful for some stuff (like figuring out the date of the apparent equinox). But using a fixed coordinate system (like J2000, ICRF) is simpler. :) Horizons uses ICRF by default, and it treats J2000 as a synonym for it. The current definition of ICRF and the old J2000 differ by a few milliarcsecs. $\endgroup$
    – PM 2Ring
    Commented Mar 26 at 22:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .