[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orekit Developers] IERS 2010 & frames configuration



Hi all, 

In this mail, I try to sum up some some work we made on the IERS 2010 frames. We started this development with the previous conception (each Frame has its own Transform) and before merging it in the new conception (see https://www.orekit.org/wws/arc/orekit-developers/2012-07/msg00009.html), we would like to discuss some technical aspects. Eventually, we wish to contribute this to Orekit before OREKIT 6.0 is released, and we'd like to know if you'd agree with this conception.

** Why do we developed IERS 2010 convention ? **
OREKIT does (or did..) not implement every detail of the IERS convention :
- UT1-UTC and pole motion were interpolated with a linear method (it's not the case now)
- the libration correction was not taken into account ; it affects UT1-UTC and pole coordinates (U,V)
- the dX & dY angles are not corrected thanks to nutation

-> So we had some difficulties to validate OREKIT frames transformation in regard of our reference tools which implement IERS 2010. Furthermore, some users want to configure frames transformation very precisely.

** Frames configuration **

The implementation we propose allows the user to configure each part of the terrestrial-celestial transformation (precession & nutation, s' correction, libration correction, tidal models) using a FramesConfiguration object as a Frame attribute. 
The main idea is that the user can configure the whole frame tree, by applying different conventions.
The configuration contains three elements :
- a polar motion model : it depends on S' correction, libration correction and the tidal corrections
- a diurnal rotation model : it depends on libration correction and the tidal corrections.
- a precession & nutation model : at the moment, the IERS 2003 precession & nutation is implemented

Each model correction respects a specific interface, so new models could be developed (for future conventions), or simplier models can also be developed ; for instance, there would be a NoLibration class to be compliant with old OREKIT transforms.

By default, each user will get frames compliant with the new IERS 2010 convention. But if the user wants to modify the frames tree convention, he can either create a frames configuration or get a predefined configuration (thanks to a FramesConfigurationFactory).

** Integration in the new conception ** 

It works well in an older version of Orekit (few months ago) but we now have to adapt it to the new conception : we have yet to modify the various TransformProvider to use the different models (libration, precession & nutation effects, S' correction, tides correction) and the FramesFactory to use Frames Configuration.

If you want more information, we can eventually attach some class diagram to Jira.

Best regards,

Yannick