Hi,
I often compare my orbits solutions to ILRS ephemeris. As I never get an difference lower than tens of meters, I suspected my propagator to be in cause.
So I tried if i can get a perfect orbit with simulated measurements
I parsed an ajisai SP3 file (from dgfi)
I generated range measurements from 3 random locations from the SP3 ephemeris
I set up an estimator with this measurements and estimated the orbit
I displayed the residuals
I propagate the solution and compare it with the SP3 ephemeris
My guess is that my propagator is too different from the one of dgfi, so it’s impossible to get the exact same solution. Their force model seems more complex as described in their sinex files header: dgfi_header.snx (11.0 KB)
Is 10s meters of error similar to what I should expect, or is there a mistake somewhere ?
What could I do to get a more similar propagator ? Is there a perturbation responsible for the main part of the difference ?
I just ran your example script and I get range residuals of a few centimeters, and an error vs the ILRS ephemeris of 10 to 20 centimeters. The only explanation I can think of is your orekit data ZIP, maybe you are using older Orekit data? I recommend managing the Orekit data in a folder and regularly calling the update.sh script to update it.
Indeed the model used for operational orbit determination of Ajisai is more advanced than yours. A few ideas to improve the accuracy of your orbit estimation:
Where do the CR and CD values come from?
The .snx file mentions that the gravity field up to 120 degree and order is used for Ajisai, while you are using 60
The .snx file mentions the EIGEN-GRGS.RL04 gravity model, whereas by default Orekit uses Eigen-6S.
You should use different variables for the degree/order of the gravity field vs the degree/order of the ocean tides (the degree/order of the tides used for Ajisai is 30 according to the .snx file)
The .snx file mentions third-body perturbations from the Sun, the Moon, Mercury, Venus, Mars, Jupiter, Saturn, whereas you are only using the Sun and the Moon
I have look at your py code. I think that the Cd should be estimated. Or you can try to do the OD of lageos, for which the atmosphere force can be ignored.
Thank you very much @yzokras !
After updating the Orekit data, I get the sames results as you.
After adding other planets and changing gravity and tides degrees/order, and also decreasing positionScale and convergence threshold ( 1e-2, 1e-4) . It changes but realy slightly.