poliastro / validation

Validation of poliastro against external software.
Apache License 2.0
11 stars 6 forks source link

Validate frames conversions #24

Closed jorgepiloto closed 3 years ago

jorgepiloto commented 3 years ago

Tries to solve for #22. Although both APIs (orekit and poliastro ones) provide simple routines to convert between fixed and inertial frames for each celestial body, results diverge. I also tried to use Gmat as an extra checker, but output values were also different. Still working on this... :factory:

jorgepiloto commented 3 years ago

Useful resources

astrojuanlu commented 3 years ago

I'm back! Let me know if I can help in any way 🚀

jorgepiloto commented 3 years ago

Gmat definitions

jorgepiloto commented 3 years ago

It seems that Orekit makes use of the IAU WGCCRE 2009 report definitions instead of using IAU WGCCRE 2015 report ones. This introduces numerical differences in Mercury, Mars and Neptune.

jorgepiloto commented 3 years ago

In fact, the IAU report 2015 for the case of Martian planet contains a more detailed numerical description than the one from the IAU report 2009 one...

jorgepiloto commented 3 years ago

Cool, all tests passing finally! 🚀

jorgepiloto commented 3 years ago

Parametrize GMAT scripts using Jinja2: add a template script plus the generator one.

astrojuanlu commented 3 years ago

For the GMAT scripts, @jorgepiloto commented that they're 27 ** 2 😅 so let's use https://jinja.palletsprojects.com/en/2.11.x/ instead, and a small script to generate the scripts from the template.

jorgepiloto commented 3 years ago

Finally, this is ready for review @astrojuanlu 🚀

jorgepiloto commented 3 years ago

All suggested changes have applied @astrojuanlu, except those ones related to the float values within validate_frames.py as this conversion is required when using the Orekit API 👍🏽

astrojuanlu commented 3 years ago

Approved with one minor comment!

jorgepiloto commented 3 years ago

Merged! 😍 Thanks for the deep review @astrojuanlu 🚀