TEME transformationsΒΆ

Out:

Transform:
x = -7.1003e+03 km  | vx = 8.6771e-02 km/s
y = -3.8977e+03 km  | vy = -3.4072e+00 km/s
z = 1.8568e+04 km  | vz = 2.9616e+00 km/s
->
x = 3.3654e+03 km  | vx = -1.5679e+00 km/s
y = 7.3675e+03 km  | vy = 2.4351e+00 km/s
z = 1.8568e+04 km  | vz = 2.9616e+00 km/s

Initial TEME
x = -7.1003e+03 km  | vx = 8.6771e-02 km/s
y = -3.8977e+03 km  | vy = -3.4072e+00 km/s
z = 1.8568e+04 km  | vz = 2.9616e+00 km/s
Recovered TEME
x = -7.1003e+03 km  | vx = 8.6771e-02 km/s
y = -3.8977e+03 km  | vy = -3.4072e+00 km/s
z = 1.8568e+04 km  | vz = 2.9616e+00 km/s
Error
x = 0.0000e+00 km  | vx = 1.2144e-12 km/s
y = -9.3132e-13 km  | vy = 1.4552e-13 km/s
z = -3.7253e-12 km  | vz = 1.4006e-12 km/s

Initial ITRS
x = 3.3654e+03 km  | vx = -1.5679e+00 km/s
y = 7.3675e+03 km  | vy = 2.4351e+00 km/s
z = 1.8568e+04 km  | vz = 2.9616e+00 km/s
Recovered ITRS
x = 3.3654e+03 km  | vx = -1.5679e+00 km/s
y = 7.3675e+03 km  | vy = 2.4351e+00 km/s
z = 1.8568e+04 km  | vz = 2.9616e+00 km/s
Error
x = -4.6566e-13 km  | vx = 0.0000e+00 km/s
y = 1.8626e-12 km  | vy = -1.8626e-12 km/s
z = -3.7253e-12 km  | vz = 7.4510e-12 km/s

import numpy as np
from astropy.time import Time

import sorts
import sorts.frames as frames


TEME0 = np.array([-7100297.113,-3897715.442,18568433.707,86.771,-3407.231,2961.571])
mjd0 = Time(53005.12, format='mjd')

def print_state(state, newline=False):
    state_ = state.copy()
    if len(state.shape) == 2:
        state_ = state_.reshape(6)
    for i,char in enumerate(['x', 'y', 'z']):
        print(f'{char} = {state_[i]*1e-3:.4e} km  | v{char} = {state_[i+3]*1e-3:.4e} km/s ')
    if newline:
        print('')



ITRS0 = frames.convert(mjd0, TEME0, in_frame='TEME', out_frame='ITRS')
TEME = frames.convert(mjd0, ITRS0, in_frame='ITRS', out_frame='TEME')
ITRS = frames.convert(mjd0, TEME, in_frame='TEME', out_frame='ITRS')

print(f'Transform:')
print_state(TEME0)
print('->')
print_state(ITRS0, newline=True)

print(f'Initial TEME')
print_state(TEME0)
print(f'Recovered TEME')
print_state(TEME)
print(f'Error')
print_state(TEME0-TEME, newline=True)

print(f'Initial ITRS')
print_state(ITRS0)
print(f'Recovered ITRS')
print_state(ITRS)
print(f'Error')
print_state(ITRS0-ITRS, newline=True)

Total running time of the script: ( 0 minutes 0.046 seconds)

Gallery generated by Sphinx-Gallery