I was looking at time series of some TLE parameter(semimajor axis, inclination, etc..) and I wanted to how those parameters evolve between measured time points. So i decided to feed TLE element to SPG4 propagator in python. This propagator, however, outputs state vectors, i.e., r and v. So I converted those vector back to orbital elements using rv2coe algorithm.
I tried to test this approach by no feeding propagator the exact time of TLE measurement, which in my opinion should result in no propagation and only conversion of orbital elements to state vectors. But the results differ from state vectors obtained by coe2rv transform.
I understand that TLE orbital elements are in teme frame, but i still assumed that transform from TEME orbital elements to TEME state vectors will look the same as in classical case. Can you explain where is the issue with this logic?
Also, I would be glad if anyone told me how to achieve what I am trying to do in the first place, computing TEME orbital elements of propagated satellite? Is this even possible?
------ code sample -----
from poliastro.core.elements import rv2coe as rc
from poliastro.core.elements import coe2rv as coe
from sgp4.api import Satrec
#tle
t = '1 22076U 92052 A 92313.00000000 -.00000012 +00000-0 +00000-5 0 9994'
s = '2 22076 066.0397 067.7576 0007354 268.3209 091.6966 12.80929363011469'
satellite = Satrec.twoline2rv(t, s)
jd = satellite.jdsatepoch
fr = satellite.jdsatepochF
e, r, v = satellite.sgp4(jd, fr)
obtained
r =(2921.4342910801934, 7143.671606708223, 0.026677943621712583)
v =(-2.7011095249536727, 1.1034342941544737, 6.569372429454202)
Coordinate transform:
r_eci: (2915.56799533073 7143.99403314843 12.51960898796)
v_eci: (-2.70443791382 1.09791652715 6.56795904965)