I have to propagate the orbit of a satellite in 1 year, complying with the Sun, Moon and zonal harmonics effects.

Is there preferably a free software, which could be used? I was suggested to use PyEphem. Does it really give accurate results, considering Moon, Sun, zonal harmonics, and probably- Jupiter and Venus?

What I really need, is to calculate the change in argument of perigee of the orbit in 1 year.


2 Answers 2


I would highly recommend NASA Goddard's GMAT (General Mission Analysis Tool). It is quite user friendly, has a number of tutorials, and has been used in spacecraft operations.

  • $\begingroup$ But how to consider Sun, Moon, zonal harmonics there? Is it possible? $\endgroup$
    – Leeloo
    Jul 8, 2018 at 20:59
  • $\begingroup$ Also, here is the PyEphem described, which may consider those perturbations. What do you think? rhodesmill.org/pyephem/quick.html#bodies-with-orbital-elements $\endgroup$
    – Leeloo
    Jul 8, 2018 at 21:13
  • 1
    $\begingroup$ Yes, GMAT allows you to consider all the celestial object available in any DE*.bsp file, including specific moons of Jupiter if needed. Usually, you don't need more than Sun, Moon, solar radiation pressure and zonal harmonics of 21 by 21, at least for low Earth orbits (in several of the high fidelity analyses I do at work, we only use that kind of model). $\endgroup$
    – ChrisR
    Jul 9, 2018 at 0:31
  • 2
    $\begingroup$ PyEphem seems to only provide planetary ephemeris, and I guess you would need to code up your own orbit propagation. GMAT does all that, and it's thoroughly validated. I would not hesitate a single second in using this NASA software, especially since it's free and has no ITAR restrictions. $\endgroup$
    – ChrisR
    Jul 9, 2018 at 0:32
  • $\begingroup$ Here I've shown my configuration of GMAT force model. Could you, please, verify it? space.stackexchange.com/q/28327/25120 $\endgroup$
    – Leeloo
    Jul 10, 2018 at 13:59

Full disclaimer: I'm the author and main developer of poliastro.

In poliastro there are several perturbations already defined, and among them you have zonal harmonics, Solar pressure, and the gravitational effect of the Moon. You can see the full list of perturbations here:


And a simple example of how to use them here:


This is a work in progress and you might find some issues along the way: specifically, that the performance is not very good, and that extracting the time history of the Keplerian elements is much harder than doing so with the Cartesian elements. Feel free to join the chat and ask any sort of questions!


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.