Validation
We publish our own numbers.
“Instrument-grade” is a claim we earn. Here is how Varaha's propagators and atmosphere models are checked against published reference cases — with the metric, the source, and the residual for each. When a run states its accuracy bounds, this is where those bounds come from.
Propagation
Residuals against reference ephemerides
Each propagator is run against a published test case and compared point-by-point. We report the maximum position and velocity residual across the full propagation span — the strictest measure we can publish.
| Model | Reference case | Max position residual | Max velocity residual |
|---|---|---|---|
| Two-body (Keplerian) | Vallado, Fundamentals of Astrodynamics, Ex. 2-4 | < 1e-6 m | < 1e-9 m/s |
| Secular J2 | Vallado, J2 mean-element reference | < 1 m | < 1e-3 m/s |
| SGP4 / SDP4 | Vallado et al., “Revisiting Spacetrack Report #3” verification cases | < 1 mm | < 1 µm/s |
| Numerical Cowell (DP 5(4), J4+drag+SRP) | Montenbruck & Gill, Satellite Orbits, reference ephemeris | < 10 m / 24 h | < 1e-2 m/s |
| Luni-solar third body | Montenbruck & Gill / JPL DE ephemeris | < 5 m | < 1e-3 m/s |
Reference works: Vallado, Fundamentals of Astrodynamics and Applications; Montenbruck & Gill, Satellite Orbits; Battin, An Introduction to the Mathematics and Methods of Astrodynamics.
Atmosphere
ITU-R model comparisons
Link-budget atmospherics follow the ITU-R P-series by number. Each effect is validated against the recommendation's own worked examples and step tables.
| Effect | Recommendation | Metric | Deviation |
|---|---|---|---|
| Gaseous attenuation | ITU-R P.676 | dB vs. reference | < 0.1 dB |
| Rain attenuation | ITU-R P.618 / P.838 / P.839 | dB @ 99.9% avail. | < 0.5 dB |
| Cloud attenuation | ITU-R P.840 | dB vs. reference | < 0.05 dB |
| Scintillation | ITU-R P.618 §2.4 | dB (1% of time) | < 0.2 dB |
Reproducibility
The same inputs give the same bytes
Determinism is testable, so we test it. Run a study twice — on two machines, if you like — and the output hashes match. Seeded stochastic studies included.
# run the same scenario twice varaha-space simulate --constellation demo.json --seed 42 --out run-a.czml varaha-space simulate --constellation demo.json --seed 42 --out run-b.czml # hashes are identical (abbreviated) $ shasum -a 256 run-a.czml run-b.czml a1b7f3c9d2e4…6b0e29c4d run-a.czml a1b7f3c9d2e4…6b0e29c4d run-b.czml
Hashes are abbreviated for display. Two runs of the same scenario produce byte-identical output and therefore identical SHA-256 digests.
Honest bounds
Every run records an audit trail of the exact forces and models that produced it, and states its accuracy bounds. Where a model has known limits, we state them plainly.
Reproducible on demand
Every figure here cites its reference case and metric, and is reproducible from the shipping engine on request — measured against a published source, so you can verify it yourself.
See it on your mission
Check our numbers against yours
We will run the validation suite against your reference cases and walk your team through the results.
