I want to implement algorithms to convert from mean to osculating elements, and vice versa.

I've been digging through Vallado's text (fourth edition), and under General Perturbation Techniques, he chats about Kozai's method and Brouwer's method. Are these algorithms still commonly used today? If so, are there any improvements/adjustments that I should know about?

I just don't want to go and implement an algorithm from a thirty-year-old paper, only to find out that there are more accurate or computationally efficient approaches available today.

  • $\begingroup$ Osculating not oscillating. $\endgroup$
    – John Doty
    Jan 3 at 0:19

1 Answer 1


The word is osculating, not oscillating. It's Latin for "kissing", but in this context it means the simple ellipse for two point masses which at a specified particular time is tangent (touching only at that point, with matching velocity) to the true, far more complicated, orbit shape.

One of the many headaches of using mean element methods is that merely writing down what they actually are is very complicated. Another is there is no limit to the number of mean element theories that could be created. Each one makes different choices about which parameters to include in the model and how to perform the averaging, so it doesn't make sense to convert osculating elements to mean elements in general. You have to choose one specific mean element model at a time, and understand why you're using that one instead of another.

You also need to ask yourself what you're trying to accomplish, and why. Is it important that you do all the work yourself for it's own sake, or are you content to download someone else's work and try to do something useful with it? If you don't happen to have several decades to spare, I strongly encourage downloading one of the two libraries I'm about to describe. There's a bunch more to say about the topic, but in the end your choice is use SGP4, use DSST, or spend the equivalent of many doctoral theses rolling your own.

For an introduction to the theory of why mean element theories exist and how they work, I recommend you start with Confused about SGP4 implementation published by celestrack , Mean to Osculating conversion for non-J2 averaged elements , How significant is orbit propagator choice/error when considering a year-long satellite coverage simulation, and which is the most appropriate? , and the last paragraph of Why are there six orbital elements? on this site, and the references linked or cited therein.

The most commonly encountered mean elements are the ones used in TLEs (Two-Line Element sets) produced by the U.S. Space Force and distributed through https://space-track.org. Use of that site, for both the text files containing the data and the software necessary to understand them, requires registration for a free account and acceptance of a license agreement; people uncomfortable with that use one of several second-hand sites which scrape and repost TLEs from space-track.org. The wonderful thing about TLEs is they are easy to get, published roughly daily for tens of thousands of objects in Earth orbit. The horrible thing about TLEs is they are mean elements from an old and limited theory called SGP4, and cannot be used for anything except input files to SGP4, as many horror stories on this site attest (Failing at getting apogee and perigee from TLE ; In MATLAB, Computing a new TLE/orbit following a delta-v impulse? ; TEME state vector to TLE orbital elements).

TLEs and their SGP4 (never use one without the other!) are based on what Brouwer and Kozai published, but that was in 1959, making them sixty-five-year-old papers. The official implementation has been modified many times since then, and continues to change today, but the source hasn't been openly published since 1980, so we're not exactly sure what algorithms it is really using; you can get some idea from Differences between SGP8 and the standard SGP4? Is it ever used in practice? , How do SDP4's "Deep space" corrections to SGP4 account for the Sun's and Moon's gravity? , and What is/was legacy TLE ephemeris type 2? (TLE, line 1, column 63) . As with TLEs themselves, you can get the SGP4 software either from space-track, or from some other site with fewer restrictions. However, while the TLEs available from third parties are the same as the ones from the official source, be careful that the SGP4 software is not necessarily the same! For a long time, it was very difficult to obtain the real SGP4, so some people on the internet (many of them former users of the software as members of US Air Force Space Command) put together their own version, which they made work much like SGP4, but not exactly the same as the real SGP4. That started to change in 2016, when space-track.org began distributing compiled library versions of the actual SGP4, but it is still not always clear whether the package you're using is the real thing, or where the implementation provided was obtained.

On the other hand, if what you want most is accuracy, then you should avoid TLEs & SGP4 like the plague, because they are optimized explicitly for speed, intentionally sacrificing accuracy. What you should use instead is the Draper Semi-analytical Satellite Theory (short pdf ; long pdf ; Draper Semianalytical Satellite Theory (DSST) C/C++ version ) as implemented in the open-source Java astrodynamics library OreKit (pdf).

  • 1
    $\begingroup$ Incredibly thorough answer, thanks so much! This gives me a lot of literature to parse through. I certainly have no strong compulsion to implement something from scratch, so I'll give this all a read over the next few weeks and go from there. Thanks again! $\endgroup$
    – Danny
    Jan 3 at 0:40
  • 1
    $\begingroup$ Regarding On the other hand, if what you want most is accuracy, then you should avoid TLEs & SGP4 like the plague, because they are optimized explicitly for speed, intentionally sacrificing accuracy -- That algorithm, and the TLEs along side it, were also explicitly designed for use single precision floating point arithmetic. That alone is a huge sacrifice in accuracy. Avoiding them like the plague is a huge understatement. $\endgroup$ Jan 4 at 5:34
  • 1
    $\begingroup$ @DavidHammen For LEO, SGP4 is good enough for prediction in practice. That's why it survives. Its largest inaccuracy is drag, but no model can predict the space weather that drives that. $\endgroup$
    – John Doty
    Jan 4 at 12:45

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.