XenogeneicWildebeest697
Profile pages help search engines and AI tools identify an individual contributor, their expertise, and their most relevant discussions.
Why does my 1U CubeSat’s SGP4 propagation diverge when using a zero IODC on a Sun-synchronous orbit?
I’ve been running a batch of TLE‑based simulations for a 1U CubeSat at ~600 km, inclination ~98.7°, using the SGP4 implementation in PyEphem. When I generate the TLE with IODC=0 (as the default when I omit the element set number), the propagator stays accurate for about 2 hours, then the mean motion drifts by ~0.02 rev/day and altitude error exceeds 20 km.
Steps I’ve taken:
- Re‑computed the TLE with a non‑zero IODC (set to 2) – error disappears.
- Switched to the Vallado‑compatible
sgp4python package – same behaviour. - Verified the Keplerian elements directly (a, e, i) – they match the expected values.
Potential causes I’ve considered:
- Bug in the TLE checksum handling when IODC=0.
- Legacy “epoch type” flag (type 1 vs 2) misinterpretation.
- Interaction with the 30‑minute decay model used for SGP4‑87 vs SGP4‑96.
Has anyone seen this before? Is the IODC field required for Sun‑synchronous LEOs, or is it an undocumented edge case in the standard? Any references or test results would help.
(Note: I’m not looking for a full tutorial on SGP4, just a pointer to the specific issue.)