Scenario kind pagesEdit on GitHubSource: docs/kinds/by-kind/passes.md

passes (scenario kind)

Scenario kind of the engine v0.38.0, family Constellations, coverage and geometry. Advisory: analysis output from a research and engineering tool, not type-approved navigation equipment and not a safety-of-life service. Every label here is the engine's or the verification matrix's; a kind is MODELLED unless the matrix says otherwise (how a label is earned: the README's Evidence section).

What it does#

Ground-station pass prediction: the time-domain visibility passes (AOS/TCA/LOS, maximum apparent elevation, duration) of a circular orbit, as SGP4 mean elements at the window start, over a station above an elevation mask across a window, with total access time. SGP4/SDP4 propagation on the IAU 2006/2000A Earth-fixed frame (optional UT1 - UTC and polar motion), ITU-R P.834-9 tropospheric refraction and the downlink light time (both on by default), crossings solved to 1e-7 s and the culmination by golden-section search. The pass geometry is VALIDATED against Orekit 13.1.8 at sea-level stations; the scenario's orbit and station are illustrative inputs.

One run of scenarios/passes.toml summarises as: passes: 5 pass(es) of a 550 km / 97.6° orbit over (52.2°, 4.4°) > 10° in 24 h; 1659 s total access (MODELLED)

Inputs#

From the schema (kshana kinds --json):

  • Required fields: none
  • Optional fields: altitude_km, inclination_deg, raan_deg, arg_lat_deg, station_lat_deg, station_lon_deg, station_alt_m, epoch, mask_deg, duration_hours, step_s, refraction, light_time, ut1_minus_utc_s, xp_arcsec, yp_arcsec

The example scenarios/passes.toml sets, among others:

Field Value Unit
altitude_km 550 km
arg_lat_deg 0 deg
duration_hours 24 hr
epoch [2024, 1, 1, 0, 0, 0] not stated
inclination_deg 97.6 deg
kind passes text
mask_deg 10 deg
raan_deg 0 deg
station_alt_m 0 m
station_lat_deg 52.2 deg
station_lon_deg 4.4 deg
step_s 10 s

Run it#

kshana scenarios/passes.toml

What it gives#

The scalar results of that run, with the units the engine states:

Result Value Unit
altitude_km 550 km
best_max_elevation_deg 70.081649 deg
duration_hours 24 hr
inclination_deg 97.6 deg
light_time true flag
mask_deg 10 deg
pass_count 5 count
refraction true flag
station_lat_deg 52.2 deg
station_lon_deg 4.4 deg

Result label (the engine's): MODELLED — time-domain ground-station pass prediction; SGP4/SDP4 propagation, IAU 2006/2000A Earth-fixed frame (UT1 = UTC, no polar motion unless Earth orientation parameters are given), apparent elevation with ITU-R P.834-9 refraction and light time when switched on, crossings and culmination refin

The chart the engine writes for scenarios/passes.toml, kind passes

Evidence#

MODELLED 2 · VALIDATED 2: the verification matrix rows that name this kind.

  • VALIDATED Time-domain visibility passes (AOS/TCA/LOS, max elevation, duration) of an engine propagator over a station above an elevation mask, with interpolated rise/set crossings and total access: passes::predict_passes, the geometric scheduler (no Tests: ground_station_pass_prediction_reference.rs.
  • VALIDATED Visibility passes (AOS, TCA, LOS, maximum apparent elevation, duration) of an SGP4 element set over a WGS-84 station on the validated Earth-orbit path (IAU 2006/2000A, optional Earth orientation parameters), with ITU-R P.834-9 tropospheric Tests: pass_predictor_on_path_orekit_oracle.rs.
  • MODELLED Downlink Es/N0 along each pass of one satellite over one station (EIRP, free-space loss, cosecant-law atmospheric loss, other losses, G/T, Boltzmann's constant, symbol rate), the most efficient DVB-S2 MODCOD that clears its ETSI EN 302 307-
  • MODELLED One run takes a contact plan (a list of aos_s/los_s windows, each asking the aperture for navigation or communications — the same window vocabulary passes::predict_passes emits, converted by aperture_duty::windows_from_passes), an apert

The rows the run itself exercised, with the oracle the matrix gives each (the public sources are named there):

  • MODELLED Deterministic, scenario-hashed, SBOM + cross-platform golden gates. Oracle (ExternalDataset): SBOM conformance to the official CycloneDX 1.5 JSON Schema (+ valid SPDX identifiers) — an external published standard, zero validation errors over the full dependency graph; the FoM-determinism / byte-reproducibility part remains a pinned self-consistency check, so the row stays MODELLED
  • VALIDATED Time-domain visibility passes (AOS/TCA/LOS, max elevation, duration) of an engine propagator over a station above an elevation mask, with interpolated rise/set . Oracle (ExternalDataset): Orekit 12.2 (CS GROUP, Apache-2.0) + Hipparchus 3.1 — an independent flight-dynamics library: ElevationDetector (Brent root-finder) + EventsLogger over an ITRF ephemeris, station as a WGS-84 TopocentricFrame. AOS/LOS/max-elevation/pass-count/total-access matched on identical orbit+station+mask+window (committed fixture; driver xval/orekit-passes)

Limitations#

What the run's own report says is not modelled or not validated:

  • MODELLED — time-domain ground-station pass prediction; SGP4/SDP4 propagation, IAU 2006/2000A Earth-fixed frame (UT1 = UTC, no polar motion unless Earth orientation parameters are given), apparent elevation with ITU-R P.834-9 refraction and light time when switched on, crossings and culmination refined below the step (result label)
  • Reproducibility & software assurance is MODELLED, not validated: a sub-claim is externally checked, but the whole capability composes modelled pieces, so the capability stays Modelled. (verification matrix (docs/MODELLED-RATIONALE.md))

See also#