Validate OMM reference context before propagation - #27
Validate OMM reference context before propagation#27sylvesterkaczmarek wants to merge 3 commits into
Conversation
|
Hi @sylvesterkaczmarek , can you provide an actual input/use case where dSGP4 currently produces an incorrect or misleading result because of this? |
|
Yes. A concrete case is an OMM with the normal SGP4 elements but REF_FRAME=EME2000. Today load_from_omm() accepts it and produces the same propagatable object as if REF_FRAME=TEME, because the reference-frame metadata is not used when converting the OMM fields into the SGP4/TLE representation. The caller therefore gets a propagated result without any indication that EME2000 elements were interpreted under dSGP4's TEME assumptions. The same issue applies to a non-UTC TIME_SYSTEM or non-Earth CENTER_NAME. The purpose of this PR is to fail explicitly at ingestion rather than silently reinterpret incompatible metadata. |
sylvesterkaczmarek
left a comment
There was a problem hiding this comment.
Missing CENTER_NAME, REF_FRAME, or TIME_SYSTEM is silently defaulted to EARTH/TEME/UTC, so an OMM with unknown reference context is accepted and propagated under assumed coordinates. Require these fields on OMM input (the writer can still emit defaults) and make the missing-context regression fail closed.
|
Thanks for the follow-up. I don't think this change is a good fit for dSGP4, for a few reason (at least as of now).
This EME2000 example is constructed rather than observed. Under CCSDS 502.0-B-3, SGP4 mean elements are by definition expressed in TEME, so an OMM with If we did want an ingestion guard, The proposal in your last comment: requiring those three fields and failing closed when they are absent, I believe it would be a breaking change for a large share of users. CelesTrak's GP JSON/CSV output omits I will at some point add a guard on |
Summary
Reject OMM metadata that is incompatible with the reference context assumed by dSGP4 propagation.
Changes
CENTER_NAMEto resolve toEARTHREF_FRAMEto resolve toTEMETIME_SYSTEMto resolve toUTCRationale
load_from_omm()previously accepted incompatible reference metadata and then propagated the elements using the Earth/TEME/UTC assumptions used internally by dSGP4. This change rejects those mismatches before propagation.Validation
Focused regression validation passes. The upstream GitHub Actions workflow is currently waiting for maintainer approval to run for this fork PR.