Hi all!
I was performing some tests to get the transformation between ECI and ECEF and I find out a doubt that I hope you will help me to solve.
I defined an instance of the EME2000 inertial reference frame and two different instances of the ECEF reference frames. In particular, the first ECEF is defined using IERS_2010 conventions and ITRF_2014 version, while the second one is defined using IERS_2010 conventions and ITRF_2008 version.
Frame eme2000 = FramesFactory.getEME2000();
Frame ecef2014 = FramesFactory.getITRF(ITRFVersion.ITRF_2014, IERSConventions.IERS_2010, true);
Frame ecef2008 = FramesFactory.getITRF(ITRFVersion.ITRF_2008, IERSConventions.IERS_2010, true);
I defined the following two epochs as dates to get the transformation between the reference frames.
AbsoluteDate epoch1 = new AbsoluteDate(2017, 2, 28, 23, 59, 0.0, TimeScalesFactory.getUTC());
AbsoluteDate epoch2 = new AbsoluteDate(2017, 3, 1, 0, 0, 0.0, TimeScalesFactory.getUTC());
I checked that for “epoch1” the transformation has no translation vector considering ITRF_2008 version, while for “epoch2” the transformation has no translation vector considering ITRF_2014.
I know that the ITRF versions are associated to different realizations of the ITRS and I am assuming that this can imply the presence of roto-translations from one version to the other one. I can also think that “epoch2” may be a sort of cut-off epoch to move from ITRF_2008 to ITRF_2014 used as reference ECEF frame (am I right?).
However, the instance of the EME2000 frame is always the same. Therefore, my question is if also the origin of the inertial frames (EME2000, GCRF) is changed according to the epoch. Otherwise, it is not possible that the same instance of the inertial frame shares the origin with two different ITRF versions that do not share the same origin.
I thank you all in advance for any help.
Regards,
Marco