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

contact-schedule (scenario kind)

Scenario kind of the engine v0.38.0, family Mission analysis, links and space operations. 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-contact planning for several satellites over several stations: apparent access windows (SGP4, IAU 2006/2000A Earth-fixed frame, ITU-R P.834 refraction, light time), the DVB-S2 ACM data volume of each pass (ETSI EN 302 307-1 Table 13 thresholds) and a conflict-free schedule (one satellite per antenna with a turnaround, one station per satellite, priority-weighted delivery capped at each backlog) by a marginal-value greedy, a first-come baseline and an exact branch and bound on small sets, with the greedy's optimality gap. MODELLED.

One run of scenarios/contact-schedule.toml summarises as: contact-schedule: 3 satellites x 3 stations over 12 h -> 31 candidate contacts, 22 scheduled; 797266 of 860000 Mbit delivered (MODELLED)

Inputs#

From the schema (kshana kinds --json):

  • Required fields: none
  • Optional fields: epoch, duration_hours, step_s, refraction, light_time, link, satellites, stations

The example scenarios/contact-schedule.toml sets, among others:

Field Value Unit
duration_hours 12 h
epoch [2024, 1, 1, 0, 0, 0] not stated
kind contact-schedule text
light_time true flag
link.acm_step_s 10 s
link.eirp_dbw 7 dBW
link.frequency_ghz 8.2 GHz
link.implementation_margin_db 1 dB
link.other_losses_db 2 dB
link.symbol_rate_msps 20 Msymbol/s
link.zenith_atm_loss_db 0.3 dB
refraction true flag

Run it#

kshana scenarios/contact-schedule.toml

What it gives#

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

Result Value Unit
candidate_contacts 31 count
conflicting_pairs 5 count
duration_hours 12 h
light_time true flag
link.acm_step_s 10 s
link.eirp_dbw 7 dBW
link.frequency_ghz 8.2 GHz
link.implementation_margin_db 1 dB
link.other_losses_db 2 dB
link.symbol_rate_msps 20 Msymbol/s

Result label (the engine's): MODELLED — multi-satellite, multi-station contact plan: apparent access windows (SGP4, IAU 2006/2000A, ITU-R P.834 refraction, light time), DVB-S2 ACM data volume per pass from a clear-sky link budget (ETSI EN 302 307-1 Table 13 thresholds), and conflict resolution (one satellite per antenna with tu

The chart the engine writes for scenarios/contact-schedule.toml, kind contact-schedule

Evidence#

MODELLED: the verification matrix rows that name this kind.

  • 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 Candidate contacts from every satellite-station pass with its ACM data volume; conflicts where one antenna would serve two satellites inside its turnaround or one satellite would downlink to two stations at once; a priority-weighted deliver

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 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. Oracle (ExternalDataset): Orekit 13.1.8 (CS GROUP, Apache-2.0) with Hipparchus 4.0.3: TLEPropagator on the same element sets in a TEME Orekit builds to the stated definition (its IERS 2010 TOD rotated by GAST - GMST), ElevationDetector and ElevationExtremumDetector with and without ITURP834AtmosphericRefraction, and AngularAzEl with AngularRadioRefractionModifier for the light-time case, crossings and maximum solved by Hipparchus; 60 cases (f
  • 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,. Oracle (InternalConsistency): Internal consistency: the spectral efficiency computed in closed form from Table 5a K_bch and the frame lengths agrees with the efficiencies Table 13 prints (a transcription check on the threshold table); the link-budget pieces agree with their closed forms; the selection is monotone in Es/N0 and honours the margin; ACM moves at least the constant-coding volume. The pass geometry comes from the separately VALIDATED a
  • MODELLED Candidate contacts from every satellite-station pass with its ACM data volume; conflicts where one antenna would serve two satellites inside its turnaround or o. Oracle (InternalConsistency): Internal consistency: the exact branch and bound agrees with brute-force enumeration on small random sets, every plan is checked feasible against the conflict rules, and the greedy never beats the exact optimum. WHAT IS NOT: no external scheduler or operational plan has been compared; contacts are taken whole (no splitting), the backlog is fixed at the window start, slew time beyond the fixed turnaround and onboard s

Limitations#

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

  • MODELLED — multi-satellite, multi-station contact plan: apparent access windows (SGP4, IAU 2006/2000A, ITU-R P.834 refraction, light time), DVB-S2 ACM data volume per pass from a clear-sky link budget (ETSI EN 302 307-1 Table 13 thresholds), and conflict resolution (one satellite per antenna with turnaround, one station per satellite) by a marginal-value greedy checked against an exact branch and bound; no rain fade, (result label)
  • MODELLED. (kind catalogue (kshana kinds --json))
  • Every number below is ILLUSTRATIVE: no operator's orbits, stations or link budget. MODELLED: the scheduler is checked against its own exact solver, not an external tool. (scenario file comment, lines 11 to 12)
  • 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))
  • DVB-S2 adaptive coding and modulation along a LEO downlink pass is MODELLED, not validated: checked against its own closed-form / analytic identity — catches transcription and coefficient errors, but is not an external oracle. (verification matrix (docs/MODELLED-RATIONALE.md))
  • Multi-satellite, multi-station ground-contact scheduling with conflict resolution is MODELLED, not validated: checked against its own closed-form / analytic identity — catches transcription and coefficient errors, but is not an external oracle. (verification matrix (docs/MODELLED-RATIONALE.md))

See also#