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

sweep (scenario kind)

Scenario kind of the engine v0.38.0, family Clocks, timing and holdover. 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#

1-D trade-study sweep over a clock-pack parameter.

One run of scenarios/sweep-clock-stability.toml summarises as: sweep holdover_s over classical_q_wf (1.00e-24..1.00e-18, 25 pts, log scale) | quantum 6600.000->6600.000 | classical 2610.000->250.000

Inputs#

From the schema (kshana kinds --json):

  • Required fields: parameter, metric, start, stop, steps, base
  • Optional fields: scale

The example scenarios/sweep-clock-stability.toml sets, among others:

Field Value Unit
base.clock_classical.flicker_floor 2.0000e-11 not stated
base.clock_classical.id csac-sa45s text
base.clock_classical.provenance Microchip SA.45s CSAC datasheet sigma_y(1s)=3e-10; q_wf is s text
base.clock_classical.q_rw 0 not stated
base.clock_classical.q_wf 9.0000e-20 not stated
base.clock_classical.y0 5.0000e-10 not stated
base.clock_quantum.flicker_floor 1.0000e-16 not stated
base.clock_quantum.id optical-sr-lattice text
base.clock_quantum.provenance Strontium optical lattice clock, space-oriented goal sigma_y text
base.clock_quantum.q_rw 0 not stated
base.clock_quantum.q_wf 1.0000e-30 not stated
base.clock_quantum.y0 5.0000e-17 not stated

Run it#

kshana scenarios/sweep-clock-stability.toml

What it gives#

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

Result Value Unit
metric holdover_s text
parameter classical_q_wf text
scale log text
The chart the engine writes for scenarios/sweep-clock-stability.toml, kind sweep

Evidence#

MODELLED: the verification matrix rows that name this kind.

  • 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
  • MODELLED The gnss-ssv kind's availability sweeps: per constellation (GPS, GLONASS, Galileo, BDS, QZSS, NavIC) and combined, the share of (user, epoch) pairs with at least one and at least four signals and the longest outage, for a user on a sphere
  • MODELLED The campaign kind's sweep (one to three dotted keys of any kind, on the generic sweep's axis values, optionally an ensemble at every node) and monte_carlo sections: realisation k runs at base_seed + k; each metric reports mean, standard d Tests: campaign_composition_reference.rs.

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

  • MODELLED Closed-form coast-error growth + holdover-to-threshold; quantum-clock classes. Oracle (ReferenceImpl): Multi-step clock_state covariance recursion (same-codebase cross-check); the underlying coast-variance & holdover-inversion kernel is externally validated vs scipy (see 'Clock-holdover coast-variance & threshold inversion'). The per-class red-noise-floor holdover figures stay MODELLED
  • 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
  • MODELLED The campaign kind's sweep (one to three dotted keys of any kind, on the generic sweep's axis values, optionally an ensemble at every node) and monte_carlo sec. Oracle (InternalConsistency): The closed form of the phase random walk under white frequency noise, variance q_wf tau (NIST Technical Note 1337), for the statistics machinery, and byte equality with the stand-alone runs for the seeding. It checks the ensemble arithmetic on the engine's own clock model, not an external dataset

Limitations#

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

  • GNSS-denied clock holdover is MODELLED, not validated: checked against a separate implementation in this same codebase — independent of the unit under test, but not externally authoritative. (verification matrix (docs/MODELLED-RATIONALE.md))
  • 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))
  • Parameter sweeps and seeded Monte Carlo ensembles over any scenario kind 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#