Precision about orekit 12.0 release


great work for the Orekit 12.0 !! Congratulations !!

Could it be possible to detail what you have done concerning :

  • Huge improvements in spacecraft state interpolation ? is it related to PV and Angular coordinate interpolation. You use it in rugged here, do we expect a change when using orekit 12.0.

  • Building of ITRF frame directly from EOP. We have a task to build EOPHistory from EOPEntry described here, @luc gives us a workaround, is there a new methodology from this improvement in 12.0



Hi @jonathan.guinet,

Regarding spacecraft state interpolation, i believe it is mostly referring to the introduced modularity. The TimeInterpolable interface has been removed and a TimeInterpolator interface has been introduced. This way, you can use any kind of interpolator to perform interpolation on your sample. Also,the interpolator is thread safe.

In your example and if you want to perform the same computations as before, you can create a TimeStampedPVCoordinatesHermiteInterpolator using the " TimeStampedPVCoordinatesHermiteInterpolator(int interpolationPoints)" constructor with “interpolationPoints” being the number of interpolation points to use (i.e the length of the pvCache.getNeighbors(pvInterpolationDate) sample in order to find the same results).

In short, the code in the provided link will need to be changed in order to take into account the new interface. Hopefully this is only a minor change and you can take a look at how it has been implemented between the 11.3 and the 12.0.

I’ll let someone else answer your second point :sweat_smile:


Concerning the creation of ITRF frame, it is indeed a new API.
Look at FramesFactory.buildUncachedITRF(EOPHistory, UTCScale).
There is a unit test for this new method: FramesFactoryTest.testCustomEOP().