Executive summary
SDN-AP, the Space Data Network advanced propagator, turns element sets into states for a whole catalog at once. One WebAssembly module carries three theories (section 1): SGP4, the theory of the public catalog; the SGP4XP mode, which implements the extended theory the US Space Force publishes; and SDNAP, the Space Data Network's own theory. The module returns the same bytes under its browser host and under native WasmEdge, at any thread count (section 12.2).
The SDNAP theory contributes:
| Contribution | Section |
|---|---|
| The tesseral field of low Earth orbit in a catalog element set: m-daily short periodics, their eccentricity-vector terms and shallow resonances of every order inside a tapered band, with a zonal tail; and the projection that shows how an omitted m-daily term enters the fitted drag | 3 |
| A calibrated dynamic density inside the averaged rates: NRLMSISE-00 times the common mode of a dynamic calibration of the atmosphere, read from SDS records and evaluated through one density kernel shared by the whole catalog | 4.1, 4.2 |
| Drag-makeup thrust as a signed effective ballistic coefficient, with the thrust fraction inferred from a ballistic prior | 4.3 |
| One element-set form for Earth-centered, Moon-centered, cislunar and heliocentric arcs | 6 |
| Fit spans chosen by the data: each candidate span scored on the arc's own latest day | 7 |
| Maneuver detection by a six-element generalized likelihood ratio on the theory's own inverse-map innovations, with the epoch and the velocity change profiled over the epoch elements and the ballistic term | 8 |
| Reentry through criteria for the validity of averaging, a one-way hand-off to osculating integration in the same environment, and a closed-form lifetime window | 9 |
| Launch batches fitted jointly under a hierarchical ballistic prior, with association by along-track order | 10 |
Held out against precise orbits, sets fitted to 24 h of data have median day-3 position errors of 0.16 to 0.47 km in low Earth orbit (laser-ranged satellites), 0.13 to 0.18 km for navigation satellites in medium Earth orbit and 0.10 to 0.14 km in geostationary orbit (section 12.3). The SGP4XP mode reproduces the reference implementation of its theory to a median of 0.37 µm (section 12.1).
1 The theory family
| Theory | MEAN_ELEMENT_THEORY in SDS $OMM |
Element set | Integration |
|---|---|---|---|
| SGP4 (1.1) | SGP4 | Mean elements and B* | Closed form |
| SGP4XP (1.2) | SGP4XP | Mean elements with the ballistic term BTERM and the radiation-pressure term AGOM, both in m²/kg | Averaged rates on an integration grid |
| SDNAP (1.3) | SDNAP | Mean equinoctial elements with , AGOM and the empirical terms , ; segment sets carry a fitted epoch state | Averaged rates on an integration grid; segments by numerical integration |
1.1 SGP4
The SGP4 base is written from Spacetrack Report No. 31 and from the account of the theory by Hoots, Schumacher and Glover2.
1.2 The SGP4XP mode
The mode implements SGP4-XP as the US Space Force describes it3:
| Term | Method | Origin |
|---|---|---|
| State | Six mean equinoctial elements (section 2.1) | 4 |
| Integration | Third-order Runge–Kutta step on a grid anchored at the epoch, cubic Hermite interpolation between nodes (section 2.2) | 5 |
| Zonal gravity | Averaged rates through J5 | 6 |
| Drag | Jacchia 1970 exospheric temperature and density table, with the US Standard Atmosphere 1976 below 90 km, driven by a solar-cycle flux model of the date; averaged by 13-point Gauss–Legendre quadrature over the perigee arc | 7,8,9 |
| Radiation pressure | Cannonball area-to-mass ratio AGOM; rates averaged over the sunlit arc, whose ends are roots of the shadow quartic | 10 |
| Sun and Moon | Analytic positions; averaged quadrupole and octupole rates with output-time corrections; instantaneous point masses for periods of 1,100 min and more | 11 |
| Resonance | Classes at one day, half a day, 16 h and 8 h, with the inclination and eccentricity functions held at the epoch | 12,13 |
| Short periods | First-order J2 terms; output in TEME | 6 |
1.3 The SDNAP theory
SDNAP keeps the state, integrator, grid, checkpoints and output chain of section 2 and changes the forces:
| Term | SDNAP | Section |
|---|---|---|
| Zonal gravity | Through J5 as in section 1.2, and J6 to J20 | 3.1 |
| Tesseral gravity | EGM96 to degree 70: m-daily and eccentricity-vector short periodics at output time, shallow resonances in the rates | 3.2 to 3.4 |
| Deep resonance | The classes of section 1.2 with exact eccentricity and inclination functions | 3.5 |
| Atmosphere | NRLMSISE-00 times from SDS $SPW and $DCL records, through a shared kernel |
4.1, 4.2 |
| Ballistic term | Signed | 4.3 |
| Empirical terms | Transverse , , with a persistence time | 4.4 |
| Centers | Earth and Moon in mean elements; cislunar and heliocentric segments | 6 |
2 Mean elements and averaging
2.1 State and rates
The state is with
regular at zero eccentricity and zero inclination4. An acceleration with radial, transverse and normal components changes the elements by Gauss's equations in equinoctial form14. With the true longitude, , , the semilatus rectum and :
A force enters the theory as its average over the mean anomaly,
and gravity enters through Lagrange's equations for the averaged disturbing function (section 3). A mean-motion error grows into an along-track error . A fractional error in the drag, held for a time , gives
with the drag decay of the semi-major axis: 3.4 km after three days for a 10 % error at 550 km, where m/day. Most of the error of a low orbit lies along track, so each term below is judged by what it does to the mean motion.
2.2 Integration and output
| Stage | Method |
|---|---|
| Rates | The averaged rates of every term at the stages of a third-order Runge–Kutta step5 |
| Grid | Anchored at the epoch; a step of two mean periods, 95 min for periods of 1,100 min and more |
| Between nodes | Cubic Hermite interpolation of the elements from their values and rates at the two nodes |
| Checkpoints | Integrated states held on the grid; a request integrates from the nearest checkpoint, so a state does not depend on which times were requested before it |
| Output map | : the short-periodic corrections (J2, Sun and Moon, the tesseral terms of section 3), Kepler's equation, then position and velocity in TEME |
| Frames | GCRF by IAU 2006/2000A precession–nutation through ERFA15; EME2000 by the frame bias; Earth-fixed by GMST 1982 with UT1 = UTC and the mean pole |
2.3 Orbit averages of drag
| Orbit | Rule | Basis |
|---|---|---|
| Near-circular, with km | Trapezoid rule in eccentric anomaly, nodes with weights | Geometric convergence for smooth periodic integrands16 |
| Eccentric, | 13-point Gauss–Legendre quadrature on the perigee band | Nodes where the density is9 |
The density at each node is taken at the osculating radius: the mean orbit's plus its first-order J2 short-period radial terms. Their constant part moves the mean height by −0.43 km at 300 km and 53° inclination, about 1 % of the density.
2.4 The inverse map
The mean elements whose output is a given osculating state at solve
where gives the osculating equinoctial elements of a state: the osculating-to-mean iteration17. The short-periodic corrections are of order J2, so the iteration converges to km and km/s in about four steps. Maneuvers, detection and launch sets use it (sections 8 to 10).
3 Gravity
Kaula's disturbing function12 is
with the cosine and sine of weighted by the field coefficients and . The terms split by , the multiple of the mean anomaly in the angle:
| Family | Indices | Period | Treatment | Truncation |
|---|---|---|---|---|
| Zonal | Secular and long-period | Rates | J2 to J20 (3.1) | |
| m-daily | , , even | About day | Output, first order | Even , all (3.2) |
| Eccentricity-vector | , , odd | About day | Output, first order | (3.3) |
| Shallow resonance | , , angle slower than | 22 revolutions and longer | Rates, integrated | Odd , all (3.4) |
| Deep resonance | The classes of section 1.2 | Days and longer | Rates, integrated | As each class (3.5) |
The field is EGM96 to degree 7018, with EGM200819 as an option. Each truncation is the degree beyond which the median day-3 error against full-force Starlink truths stops falling.
3.1 Zonal
J2 to J5 enter in closed-form averaged rates (section 1.2). J6 to J20 add first-order rates: the secular terms of even degree, and the long-period terms of odd degree with angle , which are of order in but of order one in the eccentricity vector. Fitted to one full-force truth with zonal gravity only, the day-3 error is 0.35 km with J2 to J5, 0.14 km to J10, 0.047 km to J20 and 0.042 km to J40.
3.2 m-daily terms
For , and even () the angle is , with a period of about one -th of a day. With the slow elements frozen over that period and , Lagrange's equations integrate in closed form. Since , the semi-major axis, the mean motion and the eccentricity do not oscillate:
with , at the epoch inclination, , , , the term's combination of and and its antiderivative in : the equinoctial form of Danielson et al.20. The corrections are added to the elements at output time. The normalized inclination functions are Fourier coefficients. On a circular orbit, , with the longitude from the node, is a trigonometric polynomial of degree ; so samples give every coefficient exactly, and the normalized Legendre recurrence21 keeps the values stable to degree 70.
The m-daily set is a few hundred meters along track in every low orbit (EGM2008, even , exact inclination functions):
| Orbit | (km) | (°) | Along-track RMS of the set (m) |
|---|---|---|---|
| Starlink, 550 km shell | 6,928 | 53.05 | 384 |
| ISS | 6,795 | 51.64 | 394 |
| Stella (laser-ranged) | 7,180 | 98.6 | 487 |
| LAGEOS-1 | 12,270 | 109.84 | 110 |
3.3 Eccentricity-vector terms
Odd-degree terms with and have the angle , . They are of order in but of order one in the eccentricity vector, through the of Lagrange's equations, and they oscillate at the m-daily frequencies, amplified by . They are added at output time, to first order and to degree 7. Fitted to one full-force truth with tesserals to degree 3, they take the fit residual from 0.274 to 0.051 km and the day-3 error from 2.6 to 0.37 km.
3.4 Shallow resonance
The angle of order drifts slowly when about revolutions fill a nodal day. For each order whose angle moves slower than , with , the terms of odd degree to 31 enter the averaged rates, with and at the epoch inclination and at the epoch eccentricity. The grid resolves their periods, revolutions and longer. With from the current elements, each term carries the weight
so a term that crosses the band edge as drag raises fades instead of switching; terms are selected at the epoch out to . The 530 to 570 km Starlink shells lie within about 0.2 rev/day of the 15:1 commensurability. On the 53° shell rev/day: a 6.1-day period and, in EGM2008, an along-track amplitude near 0.8 km. The 97.6° shell sits on the resonance, where the term acts as a nearly constant transverse force of up to m/s².
3.5 Deep resonance
The one-day, half-day, 16 h and 8 h classes of section 1.2 take as the Hansen coefficients themselves22,12, valid at every eccentricity. Power series in diverge beyond the Laplace limit 23, and Molniya orbits sit near . The derivatives of the inclination functions are exact. The functions are held at their epoch values.
3.6 How an omitted term enters the drag
Take an along-track term that a theory omits, on a fit arc of length that holds cycles, with the arc mapped to . It projects onto the quadratic signature of drag with the Legendre coefficient
from , with the spherical Bessel functions. By equation (1) the drag itself has
which is 627 m at 24 h, 2,507 m at 48 h and 5,641 m at 72 h for m/day at 550 km. The fit biases the drag by and carries the bias forward as at a lead past the arc; at the end of day 3 after a 24 h fit, . For the J22 term of the 53° shell (period 11.8 h, along-track amplitude 454 m) the bias is 22 %, 2.1 % and 0.64 % at 24, 48 and 72 h (RMS over the phase). The terms, with periods near a day, alias harder: against 0.436 at 24 h. The tesseral terms close this path in the theory (sections 3.2 to 3.4) and longer spans close it in the fit (section 7).
4 Atmosphere and density calibration
4.1 Density and environment
| Input | Source | Use |
|---|---|---|
| Model | NRLMSISE-0024 | Total mass density at geodetic height, latitude, longitude and solar time |
| Solar flux | Daily rows of SDS $SPW, or a $PRW table |
Observed F10.7 of the previous day and its 81-day centered mean25 |
| Geomagnetic activity | The same rows | Daily Ap26 |
| Density correction | SDS $DCL |
, the common mode of a dynamic calibration of the atmosphere27,28, linear between its nodes |
Beyond the last row or node the values in force are held. The atmosphere co-rotates with the Earth.
4.2 The catalog-shared density kernel
The atmosphere at a given time is the same for every object. NRLMSISE-00 is therefore evaluated once per kernel time on a grid, every object's quadrature nodes interpolate it, and is applied at the query time:
| Axis | Nodes | Interpolation |
|---|---|---|
| Height above the equatorial radius | 79: 100 to 400 km every 10 km, to 1,000 km every 20, to 1,500 km every 50, to 2,500 km every 100 | Linear in |
| Geocentric latitude | 13, every 15° | Four-point Lagrange |
| Local solar time | 16, every 1.5 h | Four-point Lagrange, periodic |
| Time | Nine grids a day: eight at 3 h intervals of UT and one at 24 h UT under the same day's inputs | Linear, never across a change of the daily inputs |
Ninety-six grids (10.7 days) share one allocation of 6.3 MiB, so a catalog propagated over a week builds each grid once. A grid depends only on its time and the environment, never on which object first needs it. Against direct evaluation along 53° orbits, has an RMS of 0.21 %, 0.33 % and 0.47 % at 350, 450 and 550 km, and at most 1.7 %.
4.3 Effective ballistic coefficient and thrust
A drag-makeup thrust proportional and opposite to the drag, , leaves the rates of drag with
so the averaged theory carries an operator's thrust, storms included, through one fitted number. is signed: net thrust, , is a negative . It acts in the drag regime, perigee below 2,500 km. A ballistic arc observes only . Given a prior , the set reports with
4.4 Empirical transverse terms
with the argument of latitude, the end of the fit arc and h. To first order in the averaged rates are and . The constant term is an along-track quadratic ; the pair turns the eccentricity vector in a fixed direction of the orbit frame, the once-per-revolution empirical acceleration of precise orbit determination29,30. and share the signature, correlated as , above 0.99 for a 10 % density variation, so one of the two is free per object: , or with at its prior where the configuration selects sustained thrust (section 11). Above the drag regime, and carry the once-per-revolution part of radiation pressure and are held after the arc. On 54 GNSS windows (ESA final orbits) the day-3 median is 0.176 km with them held, 0.243 km with them decaying and 0.219 km without them.
5 Radiation pressure and third bodies
| Force | Earth-centered sets | Moon-centered sets | Cislunar segments | Heliocentric segments |
|---|---|---|---|---|
| Radiation pressure | Cannonball AGOM, averaged over the sunlit arc between the roots of the shadow quartic10, with output-time terms | Averaged, in the Moon's cylindrical shadow | Radial, AGOM | Radial, through with fitted |
| Third bodies | Sun and Moon from analytic series: averaged quadrupole and octupole rates11 and output-time terms; point masses for periods of 1,100 min and more | Earth and Sun, the same averaged series | The Earth or the Moon, and the Sun, as DE440 point masses31 | Venus, the Earth–Moon barycenter, Mars, Jupiter and Saturn from DE440 |
| Empirical | , above the drag regime (section 4.4) | None | None | RTN acceleration |
The lightness number , with AGOM in m²/kg, measures radial radiation pressure against the Sun's gravity. For high lunar orbits the Earth's quadrupole drives the Kozai–Lidov exchange of eccentricity and inclination32,33, which the averaged rates carry. The DE440 positions are refitted to Chebyshev records: the geocentric Moon to 1.6 m, the Sun to 3.3 km and the planets to between 2.6 m (Venus) and 0.25 km (Jupiter and Saturn).
6 Moon-centered, cislunar and heliocentric sets
6.1 Moon-centered mean elements
The Moon turns once in 27.3 days, so the tesseral angles are slow for every lunar orbit, and the lunar tesserals belong in the averaged rates rather than in the output:
| Part | Method |
|---|---|
| Frame | Mean equinoctial elements in the DE440 lunar principal-axis frame frozen at the epoch; the $OMM refers them to ICRF |
| Gravity | GRGM660PRIM34 to degree 70 in the rates: every term whose angle has no mean anomaly (, ), with and at the epoch, evaluated in the principal-axis frame of the time |
| Short periods | First-order terms with to degree 8 and |
| Integration | Fourth-order Runge–Kutta on a fixed 240 s grid from the epoch, cubic Hermite between nodes |
| Orientation | DE440 principal-axis angles refitted to 16-day Chebyshev records of degree 13, within rad of the kernel |
| Maneuvers | Each half of the arc is fitted alone. When the whole arc's residual exceeds three times the cleaner half's residual plus 0.05 km, the set is refitted on the longest latest segment (three quarters to one quarter of the arc, at least 6 h) whose residual is within ; with no such segment the arc is refused by name |
The averaged degree sets the lunar error. On 8 windows of each orbiter, day 3 is 6.5, 3.7, 1.95 and 1.83 km for LRO and 22.6, 6.3, 5.9 and 4.0 km for Danuri at degrees 10, 30, 50 and 70.
6.2 Cislunar and heliocentric segments
Where averaging about one body does not hold, a segment carries a fitted epoch state that is integrated numerically:
| Part | Cislunar | Heliocentric |
|---|---|---|
| Center and axes | The Moon or the Earth, ICRF | The Sun, ICRF |
| Forces | The other body and the Sun as DE440 point masses, the center's J2, radial radiation pressure | , five planets from DE440, RTN acceleration |
| Integration | Fourth-order Runge–Kutta5 on a fixed 60 s grid, which keeps the finite-difference Jacobian smooth | Fourth-order Runge–Kutta on a 1,800 s grid; inside a sphere of influence each step is cut into parts of 2 % of distance over speed |
| Fit | Levenberg–Marquardt on the state and AGOM | Levenberg–Marquardt with Jacobi scaling and weak priors on and the RTN terms |
| Shortest segment | 6 h | 5 days |
6.3 Reach and segmentation
| Arc | Treatment |
|---|---|
| Earth-centered, apocenter within 250,000 km | Earth mean elements (sections 2 to 5) |
| Earth-centered, apocenter beyond 250,000 km | Cislunar segment |
| Moon-centered, apocenter within 10,000 km | Moon-centered mean elements (section 6.1) |
| Moon-centered, apocenter beyond 10,000 km, or open | Cislunar segment |
| Sun-centered | Heliocentric segment, the arc cut after its latest sphere-of-influence passage |
A segment fit tries the whole arc and its latest half and quarter, each at least the shortest segment, and keeps the longest whose residual is within of the smallest residual , so a burn or a change of thrust ends the earlier segment. Each segment is an SDS $OMM35,36 with CENTER_NAME, REFERENCE_FRAME ICRF, the fitted epoch state as osculating elements with SEMI_MAJOR_AXIS and GM (an open orbit has and ), MEAN_ELEMENT_THEORY SDNAP, the regime (CISLUNAR or HELIO), the force parameters, and the time by which the epoch was carried past a maneuver or a sphere-of-influence passage.
7 Fitting and spans
The fit adjusts the epoch elements and the parameters to the positions of an SDS $OEM by Levenberg–Marquardt37,38, with analytic Jacobians: the exact derivatives of two-body motion with the J2 secular drifts, and the drag column through the theory's per unit . A prior on enters as one more row: a previous set's value and sigma (the sigma floored at 10 %), or the configuration's. Each fit starts on two revolutions and grows the arc by factors of three to the full interval, each stage starting from the last solution. The span follows the data:
| Step | Rule (defaults of $PCF FIT) |
|---|---|
| Default span | 48 h; 24 h for |
| Candidates | 48, 72 and 120 h, with 24 h first for |
| Score | Each candidate fitted to the data before the latest 24 h and scored by its error on that tail, a day-1 prediction |
| Choice | A longer candidate only when its tail error is at most 0.9 (for , 0.7) of the best shorter one's; for , no candidate longer than 36 h once the period passes 36 h |
| Final fit | The chosen span refitted on all the data |
| Implausible fit | A residual above 100 km halves the span to its latest half, down to 24 h; an Earth arc still beyond it is refused by name |
Longer spans shrink the aliasing of section 3.6 by through equation (7). On laser-ranged spheres in low orbit (Ajisai, LARES, LARES 2, Larets, Starlette, Stella and WESTPAC; 21 windows of ILRS orbits39; fits ending at the same time; median 3D RMS, km):
| Span | Day 1 | Day 2 | Day 3 |
|---|---|---|---|
| 24 h | 0.071 | 0.161 | 0.300 |
| 48 h | 0.064 | 0.087 | 0.122 |
| 72 h | 0.051 | 0.065 | 0.106 |
| 120 h | 0.050 | 0.056 | 0.074 |
| Span rule on 168 h of data, 24 h tail | 0.061 | 0.086 | 0.093 |
| Span rule, 6 h tail | 0.061 | 0.092 | 0.144 |
A 6 h tail scores the fit's own short-period error rather than its drag estimate, so the tail is a day.
8 Maneuvers
8.1 Impulse and finite-burn maps
For an impulse in the radial, in-track and cross-track axes of the pre-burn state at , the position is continuous and the post-burn mean elements follow from the inverse map, equation (2):
To first order on a near-circular orbit, , , and : a radial impulse leaves the semi-major axis unchanged, and a cross-track one moves only and . A burn of constant acceleration lasting sweeps about its centroid . Integrating the same rates over it gives
with . A finite burn is therefore the map (12) at its centroid with the eccentricity-vector and plane changes scaled by , the arc loss of the impulsive approximation40. Each burn yields a post-burn $OMM with its epoch at the centroid, and an SDS $MNV with the pre- and post-burn states and the characterization of .
8.2 Detection
| Step | Method |
|---|---|
| Innovations | against a burn-free fit of the arc: the inverse map removes the short-period motion that the theory models |
| Signature | A burn at adds for , with , and ; comes from six sets perturbed in the epoch elements. The signature is a step in and a ramp in |
| Weights | Per element, 41 with a floor of about 1 m, counted once per revolution: the theory's own low-frequency error resembles a burn's step and ramp |
The statistic
is the generalized likelihood ratio of a jump42, distributed as without a burn. A burn is declared when exceeds 20: about 5,500 candidate epochs a year in low orbit give for one false alarm per object-year. The epoch and then come from the likelihood profiled over the nuisance , the epoch elements and , re-estimated with and without the burn:
with and over the arc, and the same sums over (suffix sums, so one pass serves every candidate epoch), and the burn's image in . The $MNV gives the epoch where peaks and the interval within 3.84 of the peak, at 95 %43; a burn-free arc reports the floor per axis at the best epoch. After a detection, a joint segment fit estimates over the whole arc, the post-burn set being the map (12) of at , so the early segment still informs and the post-burn state.
8.3 Measured
| Test | Truth | Result |
|---|---|---|
| Impulse map: 1 and 10 m/s in-track at the end of a 24 h fit | 48 Starlink truths; the full-force propagator FFM-144 restarted with the impulse | Day-3 response error, the maneuvered less the unmaneuvered trajectory against the same difference in FFM-1 (median): 0.103 and 0.875 km, on displacements of about 800 and 7,400 km |
| Finite burns: 1 m/s in-track over 15, 30 and 60 min | 24 Starlink truths, FFM-1 | Day-1 excess error with the map (13): 0.000, 0.003 and 0.005 km; with a centroid impulse: 0.046, 0.321 and 1.417 km |
| Detection: 20 cm/s at 30 h of a 48 h arc, one burn per axis | A low orbit in FFM-1 | Epoch within 0.9 min; within 9.8 % (radial and cross-track) and 11.5 % (in-track); 5 cm/s in-track stays below the threshold () |
| Detection floor, 48 h arc | FFM-1 | 70, 5.5 and 54 mm/s radial, in-track and cross-track |
| False alarms | 48 burn-free arcs of 72 h and 24 of 48 h at 350 to 650 km, FFM-1 | None; a Gumbel fit45 of the largest puts the threshold of 20 at 0.35 (72 h) and 0.005 (48 h) false alarms per object-year |
9 Reentry
9.1 Where averaging ends
Averaging needs the elements to change little over one integration step of two periods, against the scales the rates depend on. At nodes every 30 min along the mean trajectory, within 120 days:
| Criterion | Test (defaults of $PCF REENTRY) |
Meaning |
|---|---|---|
| C1 | Decay over a step against the density scale height at perigee | |
| C2 | km | Perigee height |
| C3 | for | Eccentricity collapsing per revolution |
| C4 | km for | The along-track sawtooth of an eccentric orbit's perigee passes |
is the scale height of the density model at the perigee height, and the per-revolution changes are the averaged rates over one period. Drag on an eccentric orbit acts mostly at perigee46, so the osculating semi-major axis steps by at each pass while the mean theory ramps; the along-track difference is a sawtooth of peak to peak.
9.2 Hand-off and window
At the first node where a criterion trips, the set hands off, one way, to osculating integration: EGM96 to degree and order 20, the Sun and Moon, NRLMSISE-00 times under the same $SPW and $DCL records with the set's , and radial radiation pressure, by fourth-order Runge–Kutta at 10 s down to 80 km. The density model is the same on both sides of the boundary. A set flagged as lowering decays by its sustained transverse thrust , with at its prior.
A fractional ballistic error and a density error move a lifetime by . With first-order Gauss–Markov, of variance and correlation time 47, the 1-sigma window is
with , days, from the set's sigma or the configuration, and the time to go from the end of the fitted data. With the window is 9.9 % of the time to go at 10 days and 14.7 % at 1 day. Each issue is one SDS $RDM with the keywords of the CCSDS Re-entry Data Message48: the nominal epoch and its window, the orbit lifetime from the set's epoch, BALLISTIC_COEFF in kg/m², and the impact point.
9.3 Measured
Twelve decays integrated by FFM-1 to 100 km (three ballistic coefficients at three levels of solar activity, and three eccentric orbits; 134 nodes), each fitted at successive perigee heights and handed to reentry:
| Measure | Result |
|---|---|
| Criteria against the error | A criterion trips above the height where the first 3 h of prediction pass 1 km of error in 9 of 12 cases, at it in 2 and below it in 1; for 10 km, above it in 11 and at it in 1 |
| Reentry epoch (80 km) less FFM-1's 100 km stop, median | −0.33 h with more than 48 h to go, −0.36 h at 12 to 48 h, −0.27 h under 12 h |
| Absolute error, median | 0.42, 0.40 and 0.34 h |
| FFM-1's stop inside the window | 131 of 131 nodes |
10 Launch sets
| Method | Input | Result |
|---|---|---|
| First set | An SDS $LAM insertion orbit (osculating at its epoch) or an SDS $BOV burnout vector, Earth-fixed and rotated by GMST |
by equation (2); and AGOM priors of 0.01 m²/kg, or a prior set's |
| First fit | An early ephemeris, SDS $OEM |
fit with the first set as prior |
| Batch | One parent state and its objects | The batch-joint fit below |
From the $LAM uncertainties of perigee and apogee height, argument of latitude and node, the first set's sigmas for a near-circular insertion are
A deployment releases objects from a parent state at , object with a separation impulse and its own . Its set is the map (12) of the parent set with , plus element offsets under a tight prior (about 100 m of position). The fit estimates the parent's elements, the shared and and the batch mean , and per object and , under
the hierarchical prior of Stein shrinkage49,50, with m/s. The normal matrix is an arrowhead, the parent block coupled to one block per object, and its Schur complement solves it in time linear in the number of objects. Each object's along-track offset from the parent follows Clohessy–Wiltshire51 plus differential drag,
and the objects are associated with later catalog sets by sorting both by along-track position.
| Test | Truth | Result (days 1 / 2 / 3, median, km) |
|---|---|---|
| First set | One low insertion, FFM-1 | 0.0000 m from the insertion state at its epoch, from $LAM and from $BOV; day 1 1.019 |
| First fits of a new batch | 27 Starlinks, the states of the operator's first files52 | 6 h fit: 1.5 / 6.1 / 15.3; 12 h: 1.4 / 6.9 / 16.6; 24 h: 0.4 / 0.9 / 0.8. from 6 h is within 1 % of its 24 h value |
| Batch-joint against per-object fits, separations of 1 m/s per axis | 54 objects in two batches from one exact parent orbit, FFM-1 | 6 h: 0.8 / 5.4 / 15.1 against 3.4 / 19.0 / 50.8; 12 h: 1.4 / 6.4 / 15.1 against 1.8 / 8.6 / 20.6; 24 h: 0.9 / 3.4 / 7.6 against 0.9 / 3.4 / 7.5; 54 of 54 associated |
| The same, 0.25 m/s per axis | 54 objects in two batches, FFM-1 | 6 h: 1.8 / 8.7 / 21.3 against 2.0 / 9.5 / 23.4; 12 h (one batch, the other's joint fit failed): 0.3 / 0.4 / 0.7 against 0.4 / 1.6 / 4.7; 24 h: 1.2 / 5.0 / 12.9 against 1.2 / 4.9 / 12.6 |
| Six objects from a 300 km insertion, separations up to 30 cm/s per axis, 6 h arcs | FFM-1 | Separations relative to the batch mean within 9.6 mm/s; 6 of 6 associated; 2.12 / 10.43 / 25.96 against 1.08 / 5.21 / 12.84 for per-object fits |
11 Configuration through $PCF
Each method takes one SDS $PCF35 on its required configuration port. THEORY selects SGP4, SGP4XP or SDNAP, and each method reads its own tables:
| Method | Tables |
|---|---|
propagate, maneuver |
MEAN_ELEMENT, SEGMENTS, OUTPUT, FORCES |
fit |
FIT, MEAN_ELEMENT, SEGMENTS, FORCES |
detect_maneuvers |
MEAN_ELEMENT, MANEUVER_DETECTION |
reentry |
REENTRY, MEAN_ELEMENT, FORCES |
launch_set, launch_batch |
LAUNCH, MEAN_ELEMENT |
The truncations of section 3, the kernel of section 4.2, the empirical terms of section 4.4, the segment rules of section 6, the span rule of section 7, the detection threshold of section 8, the criteria and window of section 9 and the launch priors of section 10 are fields of these tables, so the configuration of a run names every choice that shaped its result. A field set to a value the module cannot apply is refused by name, as "TABLE.FIELD: reason", never silently replaced.
12 Verification
12.1 Conformance of the SGP4XP mode
A seeded corpus of 10,200 synthetic element sets, 1,700 per regime, is propagated to eight times over 7 days by the module and by the US Space Force's Sgp4Prop library, version 9.9, run as a black box3. Differences are 3D positions at the times both answer:
| Regime | Corpus: mean motion (rev/day), , (°) | Samples | Median | Within 1 m | Maximum |
|---|---|---|---|---|---|
| LEO | 14.8 to 16.2; 0 to 0.02 (0.002 above 15.8 rev/day); 20 to 90 | 13,044 | 49 µm | 99.03 % | 28.7 m |
| SSO | 14.2 to 15.4; 0 to 0.005; 96.5 to 99.5 | 13,600 | 4.9 µm | 99.54 % | 3.58 m |
| MEO | 1.7 to 6.5; 0 to 0.02; 0 to 70 | 13,600 | 0.18 µm | 98.56 % | 26.9 m |
| GEO | 0.99 to 1.01; 0 to 0.003; 0 to 15 | 13,600 | 0.25 µm | 96.19 % | 35.2 m |
| HEO | 1.95 to 2.05, 0.6 to 0.75, 62 to 65; or 2.2 to 2.4, 0.70 to 0.73, 5 to 30 | 13,530 | 0.19 µm | 99.19 % | 954 m |
| Long-period | 0.07 to 0.9; 0.1 to 0.8; 0 to 90 | 13,600 | 0.24 µm | 99.04 % | 116 m |
| All | 80,974 | 0.37 µm | 98.59 % | 954 m |
Where both refuse a decayed set, the two refusal epochs agree within 1 % of the elapsed lifetime (164 of 164). Every module output is digested with SHA-256, so a rebuilt module is checked bit for bit against a recorded run.
12.2 Two-runtime parity and determinism
The module53 is compiled once, with clang for wasm32-wasip1-threads and without exception handling, and the same module.wasm runs in the browser host and in native WasmEdge 0.16.454. propagate returns identical $OEM bytes in both. Batch propagation returns the same bytes at any thread count, and no state depends on the order of requests: the checkpoints of section 2.2 and the kernel grids of section 4.2 are keyed by time and environment alone.
12.3 Held-out accuracy
Windows are registered in a frozen plan before scoring55. Each fits the first 24 h of its truth (30 days for cruise, 14 days for the halo orbit) under the space weather of GFZ and NOAA SWPC and IERS Earth orientation, with and no ballistic prior, and is scored on the days that follow. A cell is the median over windows of each day's 3D RMS, in km:
| Regime | Truth | Windows | Fit | Day 1 | Day 2 | Day 3 |
|---|---|---|---|---|---|---|
| LEO, Starlink shells | FFM-1 propagation of fits to the operator's ephemerides52, same density model | 239 | 0.069 | 0.171 | 0.458 | 0.993 |
| LEO, ISS | NASA trajectory files56 | 14 | 0.060 | 0.279 | 0.888 | 1.562 |
| LEO, laser-ranged satellites | ILRS orbits39 | 98 | 0.047 | 0.081 | 0.153 | 0.164 |
| LEO, laser-ranged spheres, October 2026 | ILRS rapid orbits via CDDIS57 | 51 | 0.047 | 0.086 | 0.211 | 0.473 |
| MEO, GPS, GLONASS and Galileo | ESA final orbits58 | 60 | 0.013 | 0.055 | 0.117 | 0.178 |
| MEO, GNSS, October 2026 | GFZ rapid orbits59 | 48 | 0.013 | 0.048 | 0.089 | 0.128 |
| MEO, laser-ranged (LAGEOS, Etalon, LARES 2) | ILRS orbits | 77 | 0.025 | 0.041 | 0.068 | 0.084 |
| MEO, laser-ranged, October 2026 | ILRS orbits via CDDIS | 44 | 0.025 | 0.041 | 0.078 | 0.105 |
| IGSO, BeiDou and QZSS | GFZ MGEX rapid orbits | 120 | 0.014 | 0.056 | 0.120 | 0.187 |
| IGSO, October 2026 | GFZ rapid orbits | 29 | 0.012 | 0.053 | 0.096 | 0.194 |
| GEO, BeiDou and QZSS | GFZ MGEX rapid orbits | 84 of 90 | 0.018 | 0.045 | 0.086 | 0.135 |
| GEO, October 2026 | GFZ rapid orbits | 5 | 0.012 | 0.035 | 0.067 | 0.100 |
| HEO, THEMIS and Chandra | NAIF reconstructions60 | 50 | 0.026 | 0.233 | 0.706 | 1.334 |
| HEO, TESS, 13.7-day orbit (segment set) | TESS definitive ephemeris, MAST61 | 39 | 0.121 | 0.203 | 0.473 | 1.104 |
| Moon, LRO, about 90 km | NAIF reconstruction | 44 | 0.139 | 0.456 | 0.909 | 1.526 |
| Moon, Danuri, about 130 km | JPL Horizons62 | 30 of 31 | 0.134 | 0.598 | 1.452 | 3.435 |
| Cislunar, CAPSTONE near-rectilinear halo orbit | JPL Horizons | 50 | 0.415 | 1.872 | 4.972 | 9.833 |
| Heliocentric cruise, Psyche | JPL Horizons | 20 | 0.016 | 0.065 | 0.180 | 0.294 |
| Heliocentric cruise, Lucy | JPL Horizons reconstruction | 15 | 0.005 | 0.029 | 0.054 | 0.085 |
| Heliocentric cruise, Juno | JPL Horizons | 22 | 0.013 | 0.057 | 0.121 | 0.223 |
The Starlink truth shares the theory's density model and weather, so that row measures the theory's own approximations against full-force integration; the other rows measure the real atmosphere and the real spacecraft. Further out, the halo orbit's segmented error is 17.2, 23.1, 36.4 and 48.4 km at days 4 to 7, and at days 7 and 15 of cruise it is 1.4 and 5.6 km for Psyche, 0.6 and 4.3 km for Lucy and 0.9 and 5.8 km for Juno (720 h fits).
12.4 Cost
| Quantity | Value |
|---|---|
| SDNAP rate evaluation, every term | 3.26 µs |
| SDNAP output state, every term | 2.11 µs |
| SDNAP memory per object | 4.64 KiB |
| Shared density kernel, 10.7 days | 6.3 MiB |
SDNAP element set, SDS $OMM |
648 bytes, 10 fitted parameters |
| 24 h fit of a Starlink truth | 2.6 s, median |
| Moon-centered 24 h fit at degree 70 | 4.6 to 6.1 s |
| Cislunar or heliocentric segment fit | 0.3 to 0.4 s per window |
| SGP4XP mode: memory; 60 s step; 1-day and 7-day jumps | 3.47 KiB; 1.14 µs; 57.7 and 310 µs |
Times are one thread of the WebAssembly module on a desktop workstation.
References
R1
Hoots, F. R., Roehrich, R. L. (1980). Models for propagation of NORAD element sets. Spacetrack Report No. 3, Aerospace Defense Command.
R2
Hoots, F. R., Schumacher, P. W., Glover, R. A. (2004). History of analytical orbit modeling in the U.S. space surveillance system. Journal of Guidance, Control, and Dynamics 27(2), 174–185.
R3
US Space Force. Astrodynamics Standards: the Sgp4Prop library and its release notes, version 8.0 and later (the public description of SGP4-XP).
R4
Broucke, R. A., Cefola, P. J. (1972). On the equinoctial orbit elements. Celestial Mechanics 5, 303–310.
R5
Kutta, W. (1901). Beitrag zur näherungsweisen Integration totaler Differentialgleichungen. Zeitschrift für Mathematik und Physik 46, 435–453.
R6
Brouwer, D. (1959). Solution of the problem of artificial satellite theory without drag. Astronomical Journal 64, 378–397.
R7
Jacchia, L. G. (1970). New static models of the thermosphere and exosphere with empirical temperature profiles. Smithsonian Astrophysical Observatory Special Report 313.
R8
NOAA, NASA, US Air Force (1976). U.S. Standard Atmosphere, 1976. U.S. Government Printing Office, Washington, D.C.
R9
Abramowitz, M., Stegun, I. A. (1964). Handbook of Mathematical Functions. National Bureau of Standards, Applied Mathematics Series 55.
R10
Escobal, P. R. (1965). Methods of Orbit Determination. John Wiley & Sons.
R11
Kaula, W. M. (1962). Development of the lunar and solar disturbing functions for a close satellite. Astronomical Journal 67, 300–303.
R12
Kaula, W. M. (1966). Theory of Satellite Geodesy. Blaisdell.
R13
Allan, R. R. (1967). Resonance effects due to the longitude dependence of the gravitational field of a rotating primary. Planetary and Space Science 15, 53–76.
R14
Walker, M. J. H., Ireland, B., Owens, J. (1985). A set of modified equinoctial orbit elements. Celestial Mechanics 36, 409–419.
R15
IAU SOFA Board. IAU SOFA Software Collection, and ERFA: Essential Routines for Fundamental Astronomy. ERFA
R16
Trefethen, L. N., Weideman, J. A. C. (2014). The exponentially convergent trapezoidal rule. SIAM Review 56(3), 385–458.
R17
Walter, H. G. (1967). Conversion of osculating orbital elements into mean elements. Astronomical Journal 72, 994–997.
R18
Lemoine, F. G., et al. (1998). The development of the joint NASA GSFC and the National Imagery and Mapping Agency (NIMA) geopotential model EGM96. NASA/TP-1998-206861, Goddard Space Flight Center.
R19
Pavlis, N. K., Holmes, S. A., Kenyon, S. C., Factor, J. K. (2012). The development and evaluation of the Earth Gravitational Model 2008 (EGM2008). Journal of Geophysical Research 117, B04406.
R20
Danielson, D. A., Sagovac, C. P., Neta, B., Early, L. W. (1995). Semianalytic satellite theory. Naval Postgraduate School, NPS-MA-95-002.
R21
Holmes, S. A., Featherstone, W. E. (2002). A unified approach to the Clenshaw summation and the recursive computation of very high degree and order normalised associated Legendre functions. Journal of Geodesy 76, 279–299.
R22
Hansen, P. A. (1855). Entwickelung des Products einer Potenz des Radius Vectors mit dem Sinus oder Cosinus eines Vielfachen der wahren Anomalie in Reihen. Abhandlungen der Königlich Sächsischen Gesellschaft der Wissenschaften 4, 182–281.
R23
Murray, C. D., Dermott, S. F. (1999). Solar System Dynamics. Cambridge University Press.
R24
Picone, J. M., Hedin, A. E., Drob, D. P., Aikin, A. C. (2002). NRLMSISE-00 empirical model of the atmosphere: statistical comparisons and scientific issues. Journal of Geophysical Research 107(A12), 1468.
R25
Tapping, K. F. (2013). The 10.7 cm solar radio flux (F10.7). Space Weather 11, 394–406.
R26
Matzka, J., Stolle, C., Yamazaki, Y., Bronkalla, O., Morschhauser, A. (2021). The geomagnetic Kp index and derived indices of geomagnetic activity. Space Weather 19, e2020SW002641.
R27
Marcos, F. A., Kendra, M. J., Griffin, J. M., Bass, J. N., Larson, D. R., Liu, J. J. F. (1998). Precision low Earth orbit determination using atmospheric density calibration. Journal of the Astronautical Sciences 46(4).
R28
Casali, S. J., Barker, W. N. (2002). Dynamic calibration atmosphere (DCA) tool for the high accuracy satellite drag model (HASDM). AIAA 2002-4888.
R29
Colombo, O. L. (1989). The dynamics of Global Positioning System orbits and the determination of precise ephemerides. Journal of Geophysical Research 94(B7), 9167–9182.
R30
Wu, S. C., Yunck, T. P., Thornton, C. L. (1991). Reduced-dynamic technique for precise orbit determination of low earth satellites. Journal of Guidance, Control, and Dynamics 14(1), 24–30.
R31
Park, R. S., Folkner, W. M., Williams, J. G., Boggs, D. H. (2021). The JPL planetary and lunar ephemerides DE440 and DE441. Astronomical Journal 161, 105.
R32
Kozai, Y. (1962). Secular perturbations of asteroids with high inclination and eccentricity. Astronomical Journal 67, 591–598.
R33
Lidov, M. L. (1962). The evolution of orbits of artificial satellites of planets under the action of gravitational perturbations of external bodies. Planetary and Space Science 9, 719–759.
R34
Lemoine, F. G., et al. (2013). High-degree gravity models from GRAIL primary mission data. Journal of Geophysical Research: Planets 118, 1676–1698.
R35
Space Data Standards, release 1.264.0: the $OMM, $OEM, $MNV, $RDM, $LAM, $BOV, $SPW, $PRW, $DCL and $PCF schemas. Space Data Standards
R36
CCSDS (2023). Orbit Data Messages. Recommended Standard CCSDS 502.0-B-3, Blue Book.
R37
Levenberg, K. (1944). A method for the solution of certain non-linear problems in least squares. Quarterly of Applied Mathematics 2, 164–168.
R38
Marquardt, D. W. (1963). An algorithm for least-squares estimation of nonlinear parameters. Journal of the Society for Industrial and Applied Mathematics 11(2), 431–441.
R39
Pearlman, M. R., Degnan, J. J., Bosworth, J. M. (2002). The International Laser Ranging Service. Advances in Space Research 30(2), 135–143.
R40
Robbins, H. M. (1966). An analytical study of the impulsive approximation. AIAA Journal 4(8), 1417–1423.
R41
Hampel, F. R. (1974). The influence curve and its role in robust estimation. Journal of the American Statistical Association 69, 383–393.
R42
Willsky, A. S., Jones, H. L. (1976). A generalized likelihood ratio approach to the detection and estimation of jumps in linear systems. IEEE Transactions on Automatic Control 21(1), 108–112.
R43
Wilks, S. S. (1938). The large-sample distribution of the likelihood ratio for testing composite hypotheses. Annals of Mathematical Statistics 9(1), 60–62.
R44
Space Data Network. FFM-1, the full-force numerical propagator: propagator/ffm. Source
R45
Gumbel, E. J. (1958). Statistics of Extremes. Columbia University Press.
R46
King-Hele, D. G. (1987). Satellite Orbits in an Atmosphere: Theory and Applications. Blackie.
R47
Emmert, J. T., Warren, H. P., Segerman, A. M., Byers, J. M., Picone, J. M. (2017). Propagation of atmospheric density errors to satellite orbits. Advances in Space Research 59(1), 147–165.
R48
CCSDS (2019). Re-entry Data Message. Recommended Standard CCSDS 508.1-B-1, Blue Book.
R49
James, W., Stein, C. (1961). Estimation with quadratic loss. Proceedings of the Fourth Berkeley Symposium on Mathematical Statistics and Probability 1, 361–379.
R50
Efron, B., Morris, C. (1975). Data analysis using Stein's estimator and its generalizations. Journal of the American Statistical Association 70, 311–319.
R51
Clohessy, W. H., Wiltshire, R. S. (1960). Terminal guidance system for satellite rendezvous. Journal of the Aerospace Sciences 27(9), 653–658.
R52
SpaceX. Starlink satellite ephemerides: operator predictions, reissued about every 8 h.
R53
Space Data Network. The SDN-AP propagator: propagator/sdn-ap, Apache-2.0. Source
R54
WasmEdge runtime, version 0.16.4. WasmEdge
R55
Space Data Network. Held-out accuracy of SDN-AP: the frozen plan, windows, truth and results of the experiment sdn-gp-starlink-ffm-match. Repository
R56
NASA Johnson Space Center, Flight Operations Directorate. ISS trajectory data, CCSDS orbit ephemeris messages.
R57
Noll, C. E. (2010). The Crustal Dynamics Data Information System: a resource to support scientific analysis using space geodesy. Advances in Space Research 45(12), 1421–1440.
R58
Johnston, G., Riddell, A., Hausler, G. (2017). The International GNSS Service. In Teunissen, P. J. G., Montenbruck, O. (eds.), Springer Handbook of Global Navigation Satellite Systems, 967–982. Springer.
R59
Montenbruck, O., et al. (2017). The Multi-GNSS Experiment (MGEX) of the International GNSS Service (IGS): achievements, prospects and challenges. Advances in Space Research 59(7), 1671–1697.
R60
Acton, C. H. (1996). Ancillary data services of NASA's Navigation and Ancillary Information Facility. Planetary and Space Science 44(1), 65–70.
R61
Ricker, G. R., et al. (2015). Transiting Exoplanet Survey Satellite. Journal of Astronomical Telescopes, Instruments, and Systems 1(1), 014003.
R62
Giorgini, J. D., et al. (1996). JPL's on-line solar system data service. Bulletin of the American Astronomical Society 28(3), 1158.