Scenario kind pagesEdit on GitHubSource: docs/kinds/by-kind/time-transfer-budget.md

time-transfer-budget (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#

Two-way satellite time and frequency transfer between two stations through a geostationary relay: the two-way equation solved for T_A - T_B with every non-reciprocal term (station equipment delays, Ku-band ionosphere, transponder, Sagnac), a quadrature uncertainty budget whose type A term is the simulated link's TDEV at the averaging time, a simulated link with white and flicker phase noise and a diurnal non-reciprocity, and the stability (rate, residual RMS, TDEV, ADEV) of any supplied BIPM Circular T Section 1 series, MJD,ns CSV or IGS RINEX station-clock records. MODELLED.

One run of scenarios/time-transfer-budget.toml summarises as: time-transfer-budget: europe - north-america offset 12.500 ns (Sagnac 204.365 ns, ionosphere 0.0213 ns); combined u 1.087 ns (type A 0.031 ns at 86400 s); 0 real series (MODELLED)

Inputs#

From the schema (kshana kinds --json):

  • Required fields: station_a, station_b, satellite_lon_deg, transponder_ab_ns, transponder_ba_ns, white_noise_ns, uncertainty
  • Optional fields: uplink_ghz, downlink_ghz, true_offset_ns, flicker_noise_ns, diurnal_amplitude_ns, reciprocity_bias_ns, step_s, span_days, averaging_s, seed, series

The example scenarios/time-transfer-budget.toml sets, among others:

Field Value Unit
averaging_s 86400 s
diurnal_amplitude_ns 0.2 ns
downlink_ghz 11 GHz
flicker_noise_ns 0.05 ns
kind time-transfer-budget text
reciprocity_bias_ns 0 ns
satellite_lon_deg -10 deg
seed 2026 not stated
span_days 30 d
station_a.height_m 100 m
station_a.lat_deg 50 deg
station_a.lon_deg 10 deg

Run it#

kshana scenarios/time-transfer-budget.toml

What it gives#

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

Result Value Unit
combined_uncertainty_ns 1.086953 ns
inputs.averaging_s 86400 s
inputs.diurnal_amplitude_ns 0.2 ns
inputs.flicker_noise_ns 0.05 ns
inputs.reciprocity_bias_ns 0 ns
inputs.span_days 30 d
inputs.step_s 300 s
inputs.true_offset_ns 12.5 ns
inputs.white_noise_ns 0.3 ns
simulated.mean_offset_ns 12.4957 ns

Result label (the engine's): MODELLED — TWSTFT two-way equation (station delays, Ku-band ionosphere, transponder, Sagnac) solved from stated delays, a quadrature uncertainty budget with the simulated link's TDEV as the type A term, a simulated link with flicker phase noise and diurnal non-reciprocity, and the stability of any r

The chart the engine writes for scenarios/time-transfer-budget.toml, kind time-transfer-budget

Evidence#

MODELLED: the verification matrix rows that name this kind.

  • MODELLED The TWSTFT two-way equation solved for T_A - T_B with station transmit and receive delays, the Ku-band ionospheric up/down asymmetry, the transponder delay difference and the Sagnac terms, against its exact forward model; a quadrature uncer

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
  • MODELLED The TWSTFT two-way equation solved for T_A - T_B with station transmit and receive delays, the Ku-band ionospheric up/down asymmetry, the transponder delay diff. Oracle (InternalConsistency): Internal consistency: the forward model and the solved equation agree to 1e-15 s, the Sagnac term equals the module's independent BIPM 2A omega/c^2 loop form, the ionospheric term is 40.3 TEC (1/f_up^2 - 1/f_down^2)/c, and the noise processes show their expected TDEV shapes. WHAT IS NOT: no real TWSTFT measurement or calibration report has been compared; the stated delays and uncertainties are inputs, not measured; t

Limitations#

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

  • MODELLED — TWSTFT two-way equation (station delays, Ku-band ionosphere, transponder, Sagnac) solved from stated delays, a quadrature uncertainty budget with the simulated link's TDEV as the type A term, a simulated link with flicker phase noise and diurnal non-reciprocity, and the stability of any real UTC-UTC(k) or station-clock series supplied; not compared with a real TWSTFT link (result label)
  • MODELLED. (kind catalogue (kshana kinds --json))
  • Two-way satellite time and frequency transfer (TWSTFT) between two ILLUSTRATIVE stations, one in central Europe and one in eastern North America, through a geostationary relay at 10 deg W. The run solves the two-way equation for T_A - T_B from the stated equipment, transponder, ionospheric (Ku band, 14/11 GHz) and Sagnac terms. It forms an uncertainty budget whose statistical term is the TDEV, at one day, of a simula (scenario file comment, lines 1 to 8)
  • 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))
  • TWSTFT two-way equation, uncertainty budget and link stability with flicker and diurnal non-reciprocity 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#