Skip to Content
Getting StartedCore conceptsPropagation fidelity

Propagation fidelity

Propagation advances a satellite from a known state at one time to its state at another. Every model is an approximation; they differ in which physics they keep.

Choosing one is a judgment about what you are asking. A model that answers “is the geometry roughly right?” is not the model that answers “where will this spacecraft be in six weeks?”

The five models

ModelForces includedCostHonest for
two-bodyPoint-mass EarthLowestIntuition, teaching, a first look at geometry
j2Two-body plus secular J2LowConstellation geometry over days to weeks, sun-synchronous design
sgp4The perturbation set TLEs are fitted toLowCatalog objects, and only from TLEs
numericalConfigurable: zonal harmonics, drag, solar radiation pressure, third bodiesHighestDesign reviews, maneuver planning, anything quantitative
ephemerisWhatever produced the supplied tableLowestReproducing an externally supplied trajectory

Two hard constraints

sgp4 requires TLE-derived satellites. Two-line element sets are fitted to the SGP4 model; the model and the data are a matched pair. Feeding SGP4 a state vector from another source produces a confidently wrong answer rather than an error, because nothing about the arithmetic fails.

ephemeris requires an imported table, and only works inside the span that table covers. Outside it there is nothing to interpolate.

Selecting either on a constellation from constellation walker fails immediately, naming the satellite that lacks the required data:

Error: simulation failed Caused by: satellite `demo-s0-p00-sat00` has no TLE; SGP4 propagation requires one (import via TLE)

That is the correct behavior. A silent fallback to a different model would be far worse than an error.

What J2 buys

J2 is the largest departure of Earth’s gravity from a sphere, and it dominates every other perturbation in low Earth orbit. It produces two secular effects that matter for constellation design:

Ω˙=−32J2(REp)2ncos⁡i\dot{\Omega} = -\frac{3}{2} J_2 \left(\frac{R_E}{p}\right)^2 n \cos i

Nodal regression: the orbit plane rotates about the polar axis at a rate set by inclination. This is what makes sun-synchronous orbits possible, by choosing an inclination where the plane precesses at one revolution per year and the local solar time of the crossing stays fixed.

Apsidal rotation: the major axis rotates within the plane, which matters for eccentric orbits and vanishes for circular ones.

Ignoring J2 over a week-long window will put your planes in visibly wrong places. This is why two-body is for intuition rather than analysis.

When to use the numerical model

Use it when the answer must be defensible. It integrates the total acceleration directly, with terms you enable explicitly:

orbitforge simulate \ --constellation demo.json --duration-hours 24 --step-seconds 60 \ --model numerical --gravity j4 \ --drag-cdam 0.02 --atmosphere harris-priester \ --srp-cram 0.02 --third-body sun,moon \ --czml demo-hifi.czml

Each force term is opt-in because each one needs a parameter you must know:

TermParameterUnitsIf you guess
Drag--drag-cdam, CDA/mC_D A/mm^2/kgAlong-track error grows without bound
Solar radiation pressure--srp-cram, CRA/mC_R A/mm^2/kgSmaller error, still secular
Gravity field--gravityn/aHigher degree costs time, not accuracy, once past the dominant terms

A high-fidelity propagator fed a guessed ballistic coefficient is not more accurate than a low-fidelity one. It is more expensive and equally wrong. If you do not know the spacecraft’s drag term, say so in the output rather than inventing a plausible value.

Choosing, in practice

The diagram splits first on data provenance, because that decides two of the five models outright. Only a designed constellation gives you a real choice, and that choice is driven by what the answer will be used for.

Next steps

Question? Give us feedbackDocuments Varaha Constellation Designer main (pre-release)
Last updated on