def test_itrs_to_tirs(): """Check the coordinate transform accuracy.""" # test_frame = "TIRS" allowable_pos_diff = 60 * u.mm allowable_vel_diff = 0.05 * u.mm / u.s rv_tirs = rv_itrs_true.transform_to(TIRS(obstime=time)) r_diff = pos_err(rv_tirs, rv_tirs_true) v_diff = vel_err(rv_tirs, rv_tirs_true) # print(f"r {test_frame} diff : {r_diff}") # print(f"v {test_frame} diff : {v_diff}") assert approx(r_diff.value, abs=allowable_pos_diff.value) == 0.0 assert approx(v_diff.value, abs=allowable_vel_diff.value) == 0.0
def test_teme_to_tirs(): """Check the coordinate transform accuracy.""" # test_frame = "TIRS" allowable_pos_diff = 300 * u.mm allowable_vel_diff = 0.20 * u.mm / u.s rv_tirs = rv_teme_true.transform_to(TIRS(obstime=time)) r_diff = pos_err(rv_tirs, rv_tirs_true) v_diff = vel_err(rv_tirs, rv_tirs_true) # print(f"r {rv_tirs.name} diff : {r_diff}") # print(f"v {rv_tirs.name} diff : {v_diff}") assert r_diff < allowable_pos_diff assert v_diff < allowable_vel_diff
def test_teme_to_tirs_no_vel(): """Check whether coord transform without velocity is possible.""" rv_teme_no_vel = TEME(r_teme_true, obstime=time, representation_type="cartesian") rv_teme_no_vel.transform_to(TIRS(obstime=time))
[-1033.4793830, 7901.29527540, 6380.35659580], unit=u.km) rv_itrs_true = ITRS( r_itrs_true.with_differentials(v_itrs_true), obstime=time, representation_type="cartesian", differential_type="cartesian", ) # Vallado IAU 2000 - Table 3-6 TIRS v_tirs_true = CartesianDifferential( [-3.2256327470, -2.8724425110, 5.5319312880], unit=u.km / u.s) r_tirs_true = CartesianRepresentation( [-1033.47503120, 7901.30558560, 6380.34453270], unit=u.km) rv_tirs_true = TIRS( r_tirs_true.with_differentials(v_tirs_true), obstime=time, representation_type="cartesian", differential_type="cartesian", ) # Vallado IAU 2000 - Table 3-6 TEME v_teme_true = CartesianDifferential( [-4.7461314870, 0.7858180410, 5.5319312880], unit=u.km / u.s) r_teme_true = CartesianRepresentation( [5094.18016210, 6127.64465950, 6380.34453270], unit=u.km) rv_teme_true = TEME( r_teme_true.with_differentials(v_teme_true), obstime=time, representation_type="cartesian", differential_type="cartesian", )