KeplerianPropagator with J2 effects

Hi Orekit people,

Is there a simple way to integrate the J2 perturbation effect within the KeplerianPropagator ?

I am currently trying to use Orekit in replacement of an old propagation library that can analytically manage any type of orbit (LEO, GEO, …). For LEO orbits the results of the two software are quickly diverging as we get far from the keplerian parameters definition date. I believe the J2 effect is the origin of these discrepancies as it is not taken into account by the Orekit KeplerianPropagator.

I wondered whether there was an existing extension of the KeplerianPropagator that could update the input parameters (right ascension, periapsis argument and true anomaly) according to a given planet J2 value.

The J2DifferentialEffect class not seem to fit this purpose and I could not find any other Orekit propagator that directly fits my need (Eckstein-Hechler seems to be too restrictive).


Hi Antoine,

Currently, using a J2-only model without restriction to nearly circular orbits requires using a numerical or a semi-analytical propagator in Orekit. As you already noticed, the Eckstein-Hechler models in not general enough, it would not handle eccentric orbits.

If both numerical or semi-analytical propagators do not suit your needs, then we could implement another analytical model, like Brouwer (which on the other hand would not work on near circular or near equatoril orbits), Lyddane (which is a modification of Brouwer written to get rid of the singularities near e=0 or i=0), or even drag-augmented Lyddane. This is not really a complex task (the reference paper from 1963 for the Lyddane model is only 4 pages long). I have used Lyddane model for years in a former life and it would be a good addition.

If you would like to have it included, please open a feature request on the issue tracker.

1 Like