Difference between Orekit's NeQuickModel and ESA's test data

Hi all,

I’ve been comparing the computations done by Orekit’s NeQuick model and the data provided by ESA in “European Union (2016). European GNSS (Galileo) Open Service-Ionospheric Correction Algorithm for Galileo Single Frequency Users. 1.2” (used as a reference in Orekit’s source code), using the code/data attached to this post.

I ended up finding a mean error of about 4.21 TECU (0.684 m of L1 delay), and a maximum error of 18.81 TECU (3.05 m of L1 delay).

I believe that, if this error is actually related to Orekit, this was not detected by the tests because they only include 2 rows of this test data (out of ~100). On both these test cases, I found an error of 0.08087 and 0.0437 TECU respectively, which are the expected values in the tests.

I would like to know if this issue is a result of how I am using Orekit, or if it is a known issue. Any guidance or information would be greatly appreciated. Many thanks !

Nequick.zip (8.6 KB)

Note: I’m using Orekit 12.0.1 using the Python wrapper (python 3.8.18)

Hi @NathanS

The error is probably related to Orekit.
NeQuick model is not easy to implement: a lot of equation and no existing tools are available for cross validation.

Best regards,
Bryan