Home About Data Tonight's Sky Launch Calendar Eclipse Tools Live View

Choosing a propagator

Applies to Orbit Visualizer v1.1 · Updated

Every object in the Orbit Visualizer carries a Propagator selector with three choices: SGP4 (for TLEs), J2 secular, and Two-body. TLE objects default to SGP4; classical-element and state-vector objects default to two-body. Change it any time from the object's dropdown — the app re-propagates immediately.

Where the selector lives

A Propagator dropdown appears in three places: the main Plot Orbit panel in the sidebar, the Add Object dialog, and each object's Properties dialog (the gear icon on the object card). Under the dropdown, a one-line description restates what the selected model does, next to a How we validate ▸ link. The object card shows a short badge — SGP4, J2, or 2B — for the current choice.

▶ Open a LEO orbit with J2 selected

Options by input type

The available models depend on how you entered the orbit, because SGP4 can only run on TLE mean elements:

  • TLE objects — all three models are offered, in the order SGP4, J2 secular, Two-body. SGP4 is the default and the recommended choice.
  • Classical-element and state-vector objects — Two-body and J2 secular are offered; SGP4 is shown disabled with the tooltip “SGP4 requires TLE mean elements; classical elements are osculating.” Two-body is the default.

The three model labels and their one-line descriptions come straight from the app:

  • SGP4 (recommended) — “Operational TLE model with drag and deep-space terms (Vallado).”
  • J2 secular — “Adds Earth-oblateness drift of node, perigee, and mean anomaly.”
  • Two-body — “Ideal Keplerian ellipse; no perturbations.”

For the physics behind each — what they model and omit — see propagation models.

The TLE-as-two-body warning

If you switch a TLE object to Two-body, the object card shows a persistent warning: “TLE mean elements propagated as osculating — expect divergence.” This is deliberate honesty, not a bug: a TLE's numbers are mean elements fitted for SGP4, so treating them as an instantaneous (osculating) state drifts from reality — by hundreds of kilometres within a day. Keep TLEs on SGP4 unless you are deliberately demonstrating that divergence. J2 or two-body are the right choice for orbits you entered as classical elements or a state vector.

Setting the propagator from a link

Deep links accept an optional &prop=sgp4|j2|twobody parameter that overrides the default for the object in the link. TLE links otherwise default to SGP4; element and state-vector links default to two-body. An invalid or unavailable value falls back to the default for that input type (so prop=sgp4 on an element link is ignored). Full parameter reference: the URL API.

Changing the model re-propagates

Picking a new propagator rebuilds that object's trajectory right away — the drawn orbit, the analysis outputs, and the card badge all update to the new model. Two-body draws a closed Keplerian ellipse; J2 and SGP4 sample the real perturbed trajectory over one period from the current scenario time. If SGP4 reports a hard error or a decayed orbit, the badge switches to an error state; see troubleshooting.

Accuracy & model notes

SGP4/SDP4 is the operational model TLEs are fitted for; its real-world accuracy is bounded by TLE age (≈1–3 km at epoch, growing per day), not by the implementation. J2 secular models only the mean drift of node, perigee, and mean anomaly — no drag or resonance — and two-body is idealized geometry that diverges from real orbits within hours. The measured accuracy figures and methodology are on the validation page.

Mini-FAQ

Why is SGP4 greyed out on my object?

SGP4 only runs on TLE mean elements, so it is disabled for objects entered as classical elements or a state vector. Add the object from a TLE (or the catalog) to use SGP4.

Which model should I use for a real satellite?

SGP4, on a fresh TLE. It is the operational model, and its accuracy is limited mainly by how old the TLE is — refresh the elements before time-sensitive work.