Document two-body vs SGP4 propagation fidelity in ActorBuilder#214
Merged
gomezzz merged 1 commit intoJul 6, 2026
Merged
Conversation
set_orbit creates an analytical Keplerian two-body orbit, so J2 and drag are unmodelled and propagated positions drift from real satellite trajectories over multi-hour horizons. Measured for a LEO/SSO actor seeded from an SGP4 state: 252 km at +3 h, 5,418 km at +72 h vs the TLE's SGP4 trajectory, while set_TLE matches SGP4 exactly. Add a fidelity note to the set_orbit docstring pointing TLE users to set_TLE, a cross-reference in set_TLE, and a matching N.B. in the README's orbit section. No behaviour change. Verified-by: pytest paseos/tests — 30 passed; 6 pre-existing env failures identical on unmodified tree Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gomezzz
approved these changes
Jul 6, 2026
gomezzz
left a comment
Collaborator
There was a problem hiding this comment.
Seems there is an issue with the CI, approving since only doc changes and should hence be fine. Thanks Tobias!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Summary of changes
ActorBuilder.set_orbitdocstring: it creates an analytical two-body orbit (no J2 / drag), so propagated positions drift from real satellite trajectories over multi-hour horizons; TLE users should preferset_TLE, higher-fidelity usersset_custom_orbit.set_TLEdocstring (propagates with SGP4, consistent with the model that generated the TLE).Motivation: we seeded a LEO/SSO actor (Sentinel-1C) via
set_orbitfrom its SGP4 state at epoch and measured divergence vs the TLE's SGP4 trajectory: 252 km @ +3 h, 485 km @ +6 h, 908 km @ +12 h, 1,856 km @ +24 h, 3,634 km @ +48 h, 5,418 km @ +72 h.set_TLEmatched SGP4 to 0.00 km in the same setup. Both behaviours are correct — this PR just makes the fidelity trade-off visible at the point of choice. Docs-only, no behaviour change.Resolved Issues
How Has This Been Tested?
pytest paseos/testsrun before/after the change: 30 passed, 6 failures pre-existing and identical on the unmodified tree in this environment (pykep/boost "bad lexical cast" + one thermal assert).Related Pull Requests
🤖 Generated with Claude Code