Numerical propagator validation test cases

Hi Orekit team and forum,

I work for a private space start-up and for one of our LEO missions we require a high-fidelity orbit propagator (a couple of metres propagation accuracy after 1-rev). The satellite will be flying at 500km in an SSO orbit (approx. 10AM LTAN). We have decided to go with Orekit and we will be using the python-wrapper as the interface.

I plan to use :

  1. 60x60 gravity field
  2. Drag (MSIS) (with potentially a lookup to a cross-sectional area table based on attitude telemetry, we are not sure yet what will be the pointing accuracy and I plan to run some Monte-Carlo runs to assess the impact of this)
  3. Solar radiation pressure
  4. Sun and Moon third-body attractions
  5. Potentially solid earth tides

I would like to validate my implementation. Would any of you know where I can pick an initial state of a known spacecraft (known in the sense I can find the drag and SRP parameters) and propagate it for a set time, compare my final state against a ‘real’ validated final state? I understand that I need to use a set of data files for EOP, solar-flux data (for drag), and potentially something for SRP.

If it is one of OREKIT’s in-house test cases that would be do the job nicely!

Many thanks in advance,

Vishnu

Hi @flyinghigh welcome

For an accurate low Earth orbit, I would go with 120x120 gravity field and also include ocean tides.
For the surface forces, you will probably also need a box+wings model (i.e. BoxAndsolarArray Orekit class).
Concerning reference values, the most accurate data you can get are SP3 files, typically from CDDIS site, but for satellite darta to configure the box+wing model, you will have to dig further. Sometimes such data are public, sometimes they are only exchanged between concerned parties under Non Disclosure Agreements. I will see if the data we use at work for similar purposes is public or not, and share it if I can.
Orekit numerical propagation models have been validated well below meter accuracy against real data for data spans much longer that one revolution, so what you need is well within the library capabilities.

Hi @luc ,

Thank you for the quick response and the suggestions.

The uncertainty in the initial state feeding the propagator is expected to be 10m in position (3D, 1sigma) and 3mm/s (3D, 1sigma) in velocity. We have an overall requirement that with this starting uncertainty, the propagated position uncertainty should be within 75m position after 1-rev. I had done some initial runs with GODOT (from ESA) and to me the limiting factor is going to be the initial uncertainty and not the propagator (with the force model I mentioned above) and I am confident we are not going to meet this requirement, but I have to now demonstrate this with Orekit.

As part of the configuration of the Orekit propagator (I plan to use DormandPrince853), I will perform a sensitivity analysis into the level of detailed modelling required, so I plan to keep adding to the force model if needed.

As for the validation, I understand that OREKIT has been well validated by multiple entities, but I would still like to verify my instance against some ‘known’/’verified’ results, so I hope you can share some of your LEO test cases. Otherwise I will go look for other sources as you suggested.

We have a few cubesats in orbit that we could use, they have GPS receivers and we are considering fitting a series of GPS position updates (apparently the on-board velocity estimates are rather poor) with our ground-based POD software to generate a more accurate initial state to feed the propagator along with our own telemetry for attitude and compare the propagated state with another POD-solution for the final state.

Hello!

You can easily download SP3 reference orbits of Sentinel 6A satellite from the following hub:
Copernicus Browser

Moreover, you can find all information on how to model Sentinel 6A platform on different publications, here is an example from 2021:
Sentinel-6A precise orbit determination using a combined GPS/Galileo receiver | Journal of Geodesy | Springer Nature Link

Even though its orbit is higher than your targeted one (S6A orbits at around 1300km) this data could still be helpfull!

Hope this helps!

2 Likes

Many thanks @Marcolino709 , much appreciated