{
"coverage": {
"described_fields_without_definition": 239,
"fields_described": 1698,
"fields_total": 1741,
"fields_without_units": 43,
"kinds_complete": 59,
"kinds_total": 61,
"kinds_uncovered": 2,
"uncovered_kind_ceiling": 2,
"uncovered_kinds": [
{
"fields_without_units": 2,
"kind": "sweep-nd",
"reason": "two of its three columns have no unit that is not itself data: `points[].coords[]` carries one value per caller-chosen dotted scenario key and `points[].metrics[]` one per caller-chosen dotted result path, so each is a column of mixed units. Resolving them means looking each path up in the SWEPT pack's own units table, which this pack does not consult. Its third column, `shape[]`, is described — 2 fields"
},
{
"fields_without_units": 41,
"kind": "cislunar-observability",
"reason": "the released document is byte-frozen by an explicit R1 additivity pin (src/cislunar_observability.rs, `default_document_is_bit_for_bit_the_released_one`), which asserts the released document has NO `units` key and pins its fnv64; the pack does publish a units block, but only inside its opt-in extension document. Adding one to the released document means deleting that assertion, which is a decision about the pin, not about units — 41 fields"
}
]
},
"evidence_tiers": {
"depends-on-input": "the provenance class is a disjunction, so the tier is one too",
"illustrative": "an example value chosen to make the scenario runnable",
"inherits-scenario-label": "derived: the tier is the one the report's own honesty label states",
"modelled": "a documented model or allocation, not a measurement",
"validated": "checkable against an oracle outside the run: a published figure, a stated device spec, algebra, a defined constant, or a real observed series"
},
"generated_by": "cargo test --test field_units_global zzz_emit_field_units_schema -- --ignored",
"kinds": {
"aperture-duty-cycle": {
"complete": true,
"fields": {
"aperture_seconds_available": {
"definition": "apertures * horizon_s; the denominator of every duty",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "aperture*s"
},
"apertures": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"communications_duty": {
"definition": "communications_served_aperture_s / aperture_seconds_available",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction (dimensionless)"
},
"communications_served_aperture_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "aperture*s"
},
"contention_s": {
"definition": "wall-clock seconds during which more sessions were active than there are apertures",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"horizon_end_s": {
"definition": "seconds from the plan epoch; defaults to the latest los_s in the plan",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"horizon_s": {
"definition": "horizon_end_s - horizon_start_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"horizon_start_s": {
"definition": "seconds from the plan epoch; defaults to the earliest aos_s in the plan",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"idle_aperture_s": {
"definition": "accumulated independently of the two service totals in the same sweep",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "aperture*s"
},
"idle_duty": {
"definition": "idle_aperture_s / aperture_seconds_available",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction (dimensionless)"
},
"navigation_duty": {
"definition": "navigation_served_aperture_s / aperture_seconds_available",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction (dimensionless)"
},
"navigation_served_aperture_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "aperture*s"
},
"peak_concurrent_demand": {
"definition": "the most sessions active at any one instant; contention exists where this exceeds apertures",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"session_count": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"sessions[].aos_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"sessions[].los_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"sessions[].outage_fraction": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction (dimensionless)"
},
"sessions[].outage_s": {
"definition": "requested_s - served_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"sessions[].requested_s": {
"definition": "the declared window clipped to the reporting horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"sessions[].served_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"total_outage_s": {
"definition": "total_requested_s - total_served_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"total_requested_s": {
"definition": "summed over sessions; one aperture-second per session-second, so this is not scaled by the aperture count",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"total_served_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"worst_outage_fraction": {
"definition": "the largest per-session outage_fraction in the plan",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction (dimensionless)"
}
},
"fields_described": 24,
"fields_total": 24,
"fields_without_units": [],
"label": "MODELLED — aperture scheduling arithmetic over a supplied contact plan: an exact interval sweep of navigation-versus-communications time-share and per-session contention loss under a named arbitration policy. No slew / retune / changeover time is charged when an aperture changes service or session, no data volume, buffer state, energy budget or link closure enters the decision, and the contact windows are inputs — their geometry is whatever produced them. NOT a ground-segment scheduling product.",
"source": "defaults"
},
"araim-reference-check": {
"complete": true,
"fields": {
"acceptance_tolerance_m": {
"definition": "TOL_PL",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"acceptance_vectors": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"vectors[].achieved_risk_vert": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "probability per approach (dimensionless)"
},
"vectors[].allocated_risk_vert": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "probability per approach (dimensionless)"
},
"vectors[].bias_up_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].constellation_modes[].bias_up_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].constellation_modes[].bias_up_published_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors[].constellation_modes[].p_fault": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "probability per approach (dimensionless)"
},
"vectors[].constellation_modes[].sigma_ss_up_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].constellation_modes[].sigma_ss_up_published_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors[].constellation_modes[].sigma_up_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].constellation_modes[].sigma_up_published_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors[].constellation_modes[].threshold_up_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].emt_abs_error_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].emt_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].emt_published_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors[].hpl_abs_error_m": {
"definition": "|computed - published|",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].hpl_east_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].hpl_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].hpl_north_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].hpl_published_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors[].k_fa_horz": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "sigma multiplier (dimensionless)"
},
"vectors[].k_fa_vert": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "sigma multiplier (dimensionless)"
},
"vectors[].k_fa_vert_published": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "sigma multiplier (dimensionless)"
},
"vectors[].n_fault_max": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"vectors[].n_fault_modes": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"vectors[].n_fault_modes_in_published_k_fa": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "count"
},
"vectors[].p_fault_not_monitored": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "probability per approach (dimensionless)"
},
"vectors[].risk_allocation_factor": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction (dimensionless)"
},
"vectors[].sigma_up_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].sigma_v_acc_abs_error_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].sigma_v_acc_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].sigma_v_acc_published_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors[].tolerance_m": {
"definition": "TOL_PL as stated by the source document",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors[].vpl_abs_error_m": {
"definition": "|computed - published|",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].vpl_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vectors[].vpl_published_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"vectors_checked": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"worst_acceptance_error_m": {
"definition": "the largest |computed - published| over the VPL and HPL of every vector whose protection levels the source states consistently",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 39,
"fields_total": 39,
"fields_without_units": [],
"label": "EXTERNALLY CHECKED — the engine's ARAIM protection levels run against the published worked numerical examples of the EU-U.S. Working Group C ARAIM Technical Subgroup reference airborne algorithm, at the tolerance (TOL_PL) those documents themselves state. Every published figure carries its source URL, retrieval date, file SHA-256 and page. This reproduces a reference algorithm's worked example; it is NOT a certification, an airworthiness artefact or an approval.",
"source": "defaults"
},
"attitude-budget": {
"complete": true,
"fields": {
"altitude_km": {
"definition": "circular-orbit altitude above the equatorial radius",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"contributors[].sigma_arcsec": {
"definition": "1 sigma pointing-error contribution of one named source; the default set is an illustrative budget allocation the caller may override",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "arcsec"
},
"contributors[].variance_fraction": {
"definition": "share of the total pointing variance this contributor carries, sigma_i^2 / sigma_total^2; the fractions sum to 1",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"delta_inertia_kg_m2": {
"definition": "principal moment-of-inertia spread |I_max - I_min| of the body",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "kg*m^2"
},
"gravity_gradient_torque_max_nm": {
"definition": "worst-case gravity-gradient disturbance torque in newton-metres, (3/2) * (mu_Earth / R^3) * delta_inertia, the value at the 45 deg attitude",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "N*m"
},
"total_pointing_error_arcsec": {
"definition": "1 sigma pointing error of the whole budget: the root-sum-square sqrt(sum of contributor sigma^2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "arcsec"
}
},
"fields_described": 6,
"fields_total": 6,
"fields_without_units": [],
"label": "MODELLED — scalar 3-DOF AOCS error budget: gravity-gradient worst-case disturbance torque + RSS pointing budget; NOT a control-loop / 6-DoF / flexible-mode simulation (a pre-hardware complement to Basilisk/42, not a replacement)",
"source": "defaults"
},
"cislunar-arc-recovery": {
"complete": true,
"fields": {
"arc_hours": {
"definition": "total span of the sampled arc the prefixes are drawn from",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "h"
},
"claim_under_test.estimability_ratio_estimator_over_gramian": {
"definition": "measured boundary divided by the formal one; one means the covariance prediction is borne out",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ratio (dimensionless)"
},
"claim_under_test.estimator_estimability_boundary_hours": {
"definition": "this pack's measured estimability boundary, the number to set against the formal one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"claim_under_test.estimator_noise_free_boundary_hours": {
"definition": "this pack's own recovery boundary, the number to set against the published rank threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"claim_under_test.gramian_estimability_threshold_hours": {
"definition": "the estimability-criterion arc-length threshold from the same cislunar-observability run: the first arc at which the FORMAL 1-sigma position uncertainty falls below the stated bound, against which this pack's MEASURED Monte-Carlo boundary is compared",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"claim_under_test.gramian_rank_threshold_hours": {
"definition": "the rank-criterion arc-length threshold, obtained by RUNNING cislunar-observability on the identical grid and reading its result — not transcribed. Computed by that pack, not by this one, and printed here only so the two verdicts sit side by side",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"claim_under_test.rank_ratio_estimator_over_gramian": {
"definition": "estimator recovery boundary divided by the Gramian rank threshold; below one means the state is recoverable before the rank read says so",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ratio (dimensionless)"
},
"claim_under_test.rel_tol": {
"definition": "relative singular-value tolerance of the QUOTED Gramian read; no effect on the estimator",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "fraction (dimensionless)"
},
"displacement_km": {
"definition": "displacement_nd x 384400 km; the position scale of the a-priori error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"displacement_nd": {
"definition": "how far the estimator is started from truth, as a fraction of the rotating-frame length unit — the a-priori error it has to remove",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "nondimensional rotating-frame state units"
},
"epoch_grid_hours": {
"definition": "arc_hours/(epochs-1); no boundary is resolved finer than this",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"epochs": {
"definition": "measurement epochs on that arc, so prefix k carries k+1 measurements",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"error_bound_km": {
"definition": "position-error bound the Monte-Carlo RMS must fall below for the estimability criterion",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"link.chief_state[]": {
"definition": "differential-corrected periodic-orbit initial condition",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "nondimensional rotating-frame state units"
},
"link.reference_state[]": {
"definition": "the reference member's state at epoch zero, the other end of the single tracked link",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "nondimensional rotating-frame state units"
},
"max_iterations": {
"definition": "fixed Gauss-Newton iteration count; the tolerance is zero so the count is deterministic",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"mu": {
"definition": "Earth-Moon mass ratio",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "fraction (dimensionless)"
},
"n_spacecraft": {
"definition": "constellation members; only the chief and reference 0 are linked",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"recovery_factor": {
"definition": "fraction of that displacement the final error must fall below for the prefix to count as recovered",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "fraction (dimensionless)"
},
"recovery_threshold.epoch_grid_hours": {
"definition": "spacing of the prefix grid; no threshold is resolved finer than this, which is why each carries a bracket",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.error_bound_sweep[].arc_hours": {
"definition": "the resulting estimability boundary at that bound",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.error_bound_sweep[].epoch_index": {
"definition": "prefix at which the measured RMS first meets that bound",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count (index)"
},
"recovery_threshold.error_bound_sweep[].error_bound_km": {
"definition": "the position bound this sweep row was run at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"recovery_threshold.estimability_criterion.arc_hours": {
"definition": "arc length at which the MEASURED Monte-Carlo RMS first meets the bound",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.estimability_criterion.arc_time_tu": {
"definition": "the same boundary in rotating-frame time units",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rotating-frame time units"
},
"recovery_threshold.estimability_criterion.bracket_high_hours": {
"definition": "first prefix that met it; the crossing lies in between",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.estimability_criterion.bracket_low_hours": {
"definition": "last prefix that failed the criterion",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.estimability_criterion.epoch_index": {
"definition": "prefix at which the measured RMS first falls below the bound",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count (index)"
},
"recovery_threshold.estimability_criterion.n_measurements": {
"definition": "measurements available at that prefix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"recovery_threshold.noise_free_criterion.arc_hours": {
"definition": "arc length at which every trial first recovers, noise-free",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.noise_free_criterion.arc_time_tu": {
"definition": "the same boundary in rotating-frame time units",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rotating-frame time units"
},
"recovery_threshold.noise_free_criterion.bracket_high_hours": {
"definition": "first prefix that meets the criterion; the true crossing lies in (bracket_low, bracket_high]",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.noise_free_criterion.bracket_low_hours": {
"definition": "last epoch NOT recovering; the true crossing lies above this",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.noise_free_criterion.epoch_index": {
"definition": "prefix at which noise-free recovery first holds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count (index)"
},
"recovery_threshold.noise_free_criterion.n_measurements": {
"definition": "measurements available at that prefix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"recovery_threshold.recovery_factor_sweep[].arc_hours": {
"definition": "the resulting boundary; flat across decades here, unlike the rank threshold's dependence on its own tolerance",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_threshold.recovery_factor_sweep[].epoch_index": {
"definition": "prefix at which recovery first holds at that fraction",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count (index)"
},
"recovery_threshold.recovery_factor_sweep[].recovery_factor": {
"definition": "the recovery fraction this sweep row was run at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "fraction (dimensionless)"
},
"recovery_vs_arc[].arc_hours": {
"definition": "the prefix's span in hours",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "h"
},
"recovery_vs_arc[].arc_time_tu": {
"definition": "the prefix's span in rotating-frame time units",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rotating-frame time units"
},
"recovery_vs_arc[].epoch_index": {
"definition": "which prefix this row is, counted from zero",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count (index)"
},
"recovery_vs_arc[].mc_rms_position_km": {
"definition": "measured RMS distance from estimate to known truth over the noise ensemble",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"recovery_vs_arc[].mc_rms_velocity_mm_s": {
"definition": "RMS velocity error over the noisy trials at this prefix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mm/s"
},
"recovery_vs_arc[].mc_worst_position_km": {
"definition": "worst single-trial position error at this prefix, which is what a mean would hide",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"recovery_vs_arc[].n_measurements": {
"definition": "measurements in this prefix; below the state dimension the row is underdetermined and gets no verdict",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"recovery_vs_arc[].noise_free_worst_ratio": {
"definition": "worst trial's final state error divided by its a-priori displacement; null when underdetermined or unsolvable",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction (dimensionless)"
},
"recovery_vs_arc[].trials_solved": {
"definition": "trials whose Gauss-Newton solve returned a state at all",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"seed": {
"definition": "ChaCha8 stream seed",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count (opaque)"
},
"sigma_measurement_nd": {
"definition": "the measurement sigma converted to rotating-frame units, which is what the weights actually use",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "nondimensional (length or velocity, per observable)"
},
"sigma_range_m": {
"definition": "1-sigma range measurement noise; used only when observable = range",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"sigma_range_rate_mm_s": {
"definition": "1-sigma range-rate measurement noise; used only when observable = range-rate",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "mm/s"
},
"state_dim": {
"definition": "4 planar, 6 spatial",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"steps": {
"definition": "RK4 sub-steps per inter-epoch propagation",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"trials": {
"definition": "seeded starts per prefix; every one must recover for the prefix to count",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
}
},
"fields_described": 54,
"fields_total": 54,
"fields_without_units": [],
"label": "MODELLED cislunar arc-length recovery test (independent-estimator corroboration of the P6 observability threshold). VALIDATED core: the estimator is the crate's pre-existing weighted Gauss-Newton batch corrector (crate::batch_ls), whose design matrix is a CENTRAL FINITE DIFFERENCE of the composed forward model - it calls no analytic measurement Jacobian row, no variational state-transition matrix, no singular-value or eigen decomposition, no rank tolerance and no square-root information filter, so its verdict does not restate the observability Gramian's; the verdict itself is a direct state RECOVERY ERROR against a known truth, in km and mm/s, not a predicted covariance; the initial conditions are the same differential-corrected periodic orbits the Gramian path uses, and the dynamics are the same RK4 CR3BP flow - both shared deliberately and named here, because two analyses of one physical problem must share the physics to be comparable at all. MODELLED: the constellation design, the epoch grid, the single tracked link, the displacement magnitude of the a-priori error, the measurement sigma, and the two stated bounds (recovery_factor and error_bound_km), each of which is swept so its arbitrariness is visible. Not a certified navigation-performance product.",
"source": "defaults"
},
"cislunar-observability": {
"complete": false,
"fields": {},
"fields_described": 0,
"fields_total": 41,
"fields_without_units": [
"arc_hours",
"arc_time_tu",
"chief_state[]",
"dro_provenance.members[].perilune_km",
"dro_provenance.members[].period_tu",
"dro_provenance.members[].periodicity_residual",
"dro_provenance.members[].phase_fraction",
"dro_provenance.members[].state[]",
"gdop.range_only.defect",
"gdop.range_only.rank",
"gdop.range_rate.gdop",
"gdop.range_rate.rank",
"gramian_spectrum.condition",
"gramian_spectrum.defect",
"gramian_spectrum.eigenvalues_ascending[]",
"gramian_spectrum.max_eigenvalue",
"gramian_spectrum.min_eigenvalue",
"gramian_spectrum.rank",
"gramian_spectrum.trace",
"mu",
"range_rate_lever.n_links",
"range_rate_lever.rank_range_only",
"range_rate_lever.rank_range_rate",
"rank_vs_arc[].arc_hours",
"rank_vs_arc[].arc_time_tu",
"rank_vs_arc[].epoch_index",
"rank_vs_arc[].n_rows",
"rank_vs_arc[].rank",
"rank_vs_arc[].sigma_max",
"rank_vs_arc[].sigma_min",
"reference_states[][]",
"rel_tol",
"srif_cross_validation.arc[].arc_hours",
"srif_cross_validation.arc[].arc_time_tu",
"srif_cross_validation.arc[].epoch_index",
"srif_cross_validation.arc[].gramian_condition",
"srif_cross_validation.arc[].n_rows",
"srif_cross_validation.arc[].observable_rank",
"srif_cross_validation.arc[].srif_condition",
"srif_cross_validation.full_rank_transition_epoch",
"state_dim"
],
"label": "MODELLED planar cislunar constellation observability (P6). VALIDATED core: the observable RANK is a rank-revealing singular-value threshold cross-checked against the Gramian eigen-rank; the Gramian eigen-spectrum obeys the spectral invariants (trace = sum eig, det = prod eig, Frobenius^2 = sum eig^2); the variational STM is the finite-difference-validated CR3BP STM (crate::cr3bp); the range / range-rate Jacobian rows are finite-difference-validated analytic partials (cross-checked against the crate's 3-D range-rate observable); the four-spacecraft initial conditions are differential-corrected planar DROs (crate::dro) that close to a tight periodicity residual and are retrograde; and the rank transition is cross-validated against an independent square-root information filter (crate::cislunar_srif) whose posterior covariance turns finite exactly at full observable rank. MODELLED: the constellation design (which DRO perilune amplitudes and phases) and the specific rank-vs-arc progression it produces. Not a certified navigation-performance product.",
"source": "defaults"
},
"clock": {
"complete": true,
"fields": {
"classical.adev_curve[].adev": {
"definition": "overlapping Allan deviation sigma_y(tau) of the clock phase — a dimensionless fractional-frequency stability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].ci_hi": {
"definition": "upper end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].ci_lo": {
"definition": "lower end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].edf": {
"definition": "effective degrees of freedom of this point for the power-law noise type identified over the whole record",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].n_samples": {
"definition": "number of overlapping second differences averaged into this point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"classical.adev_curve[].tau_s": {
"definition": "averaging time of this overlapping-Allan point, m*time.step_s at octave-spaced m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.filter_health.nees_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NEES mean, chi2_0.025(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nees_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NEES mean, chi2_0.975(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nees_mean": {
"definition": "pooled mean normalised estimation error squared; a matched two-state filter gives 2",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"classical.filter_health.nis_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NIS mean, chi2_0.025(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nis_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NIS mean, chi2_0.975(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nis_mean": {
"definition": "pooled mean normalised innovation squared over the consistency ensemble; a matched filter gives 1",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"classical.fom.availability": {
"definition": "fraction of all samples in the run whose absolute timing error is within threshold_ns",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.integrity": {
"definition": "filter self-consistency: the fraction of outage samples whose true error stays inside the Kalman 3-sigma phase bound; not an aviation HPL/VPL/RAIM integrity figure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.resilience_slope_ns_per_s": {
"definition": "least-squares slope of the absolute timing error against time over the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns/s"
},
"classical.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / threshold_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.fom.timing_rms_ns": {
"definition": "root mean square of the timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.series[].error_ns": {
"definition": "timing error at t: the true clock phase minus the coasted prediction; zero while GNSS is nominal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.spec.params.q_wf": {
"definition": "white-FM process-noise intensity: the clock phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"classical.spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"quantum.adev_curve[].adev": {
"definition": "overlapping Allan deviation sigma_y(tau) of the clock phase — a dimensionless fractional-frequency stability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].ci_hi": {
"definition": "upper end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].ci_lo": {
"definition": "lower end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].edf": {
"definition": "effective degrees of freedom of this point for the power-law noise type identified over the whole record",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].n_samples": {
"definition": "number of overlapping second differences averaged into this point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"quantum.adev_curve[].tau_s": {
"definition": "averaging time of this overlapping-Allan point, m*time.step_s at octave-spaced m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.filter_health.nees_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NEES mean, chi2_0.025(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nees_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NEES mean, chi2_0.975(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nees_mean": {
"definition": "pooled mean normalised estimation error squared; a matched two-state filter gives 2",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"quantum.filter_health.nis_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NIS mean, chi2_0.025(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nis_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NIS mean, chi2_0.975(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nis_mean": {
"definition": "pooled mean normalised innovation squared over the consistency ensemble; a matched filter gives 1",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"quantum.fom.availability": {
"definition": "fraction of all samples in the run whose absolute timing error is within threshold_ns",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.integrity": {
"definition": "filter self-consistency: the fraction of outage samples whose true error stays inside the Kalman 3-sigma phase bound; not an aviation HPL/VPL/RAIM integrity figure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.resilience_slope_ns_per_s": {
"definition": "least-squares slope of the absolute timing error against time over the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns/s"
},
"quantum.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / threshold_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.fom.timing_rms_ns": {
"definition": "root mean square of the timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.series[].error_ns": {
"definition": "timing error at t: the true clock phase minus the coasted prediction; zero while GNSS is nominal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.spec.params.q_wf": {
"definition": "white-FM process-noise intensity: the clock phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"quantum.spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"seed": {
"definition": "RNG seed of the quantum realisation; the classical realisation runs at seed + 0x9e3779b97f4a7c15",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"threshold_ns": {
"definition": "timing spec: a sample whose absolute timing error is at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ns"
}
},
"fields_described": 52,
"fields_total": 52,
"fields_without_units": [],
"label": null,
"source": "scenarios/clock-holdover.toml"
},
"combined-altpnt": {
"complete": true,
"fields": {
"combined_m": {
"definition": "residual horizontal position error when all three channels are fused, the search maximising the product of the three likelihoods",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"free_inertial_drift_m": {
"definition": "horizontal position error of the unaided inertial solution: the configured constant drift in degrees converted to metres at the track's mid-latitude",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"gravity_only_m": {
"definition": "residual horizontal position error when only the gravity-anomaly channel drives the offset search",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"magnetic_only_m": {
"definition": "residual horizontal position error when only the magnetic-anomaly channel drives the offset search",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"terrain_only_m": {
"definition": "residual horizontal position error when only the ground-elevation channel drives the offset search",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 5,
"fields_total": 5,
"fields_without_units": [],
"label": null,
"source": "scenarios/combined-altpnt.toml"
},
"conflict-resilience": {
"complete": true,
"fields": {
"correlation_sweep.min_ratio_over_grid": {
"definition": "the smallest finite resilience_ratio found over the correlation grid",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"correlation_sweep.reference_intensity": {
"definition": "the fixed threat intensity the whole correlation sweep is run at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"correlation_sweep.rows[].layered_total_loss": {
"definition": "Monte-Carlo probability that no layer is usable at this correlation, i.e. the fraction of trials with a total loss of PNT",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"correlation_sweep.rows[].per_layer_deny_rate[]": {
"definition": "one entry per layer, in layers order: the fraction of trials in which that layer was denied at this correlation, the copula marginal-preservation check",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"correlation_sweep.rows[].resilience_ratio": {
"definition": "single_layer_loss divided by layered_total_loss at this correlation; null when the layered total loss was never observed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"correlation_sweep.rows[].rho": {
"definition": "equicorrelation of the one-factor Gaussian copula coupling the layers' denials, in [0, 1]; 0 is the independent model",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"correlation_sweep.rows[].single_layer_loss": {
"definition": "Monte-Carlo probability that the primary layer alone is unusable at this correlation: 1 minus its empirical usable fraction",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"intensity_grid[]": {
"definition": "the swept threat intensities; a layer's denial probability at intensity x is clamp(vulnerability * x * vector_weight, 0, 1), so x is dimensionless",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"intensity_sweep.rows[].intensity": {
"definition": "the grid threat intensity this row was simulated at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"intensity_sweep.rows[].mean_fused_error_m": {
"definition": "mean of that same fused 1 sigma position error over the trials that were not a total loss",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"intensity_sweep.rows[].median_fused_error_m": {
"definition": "median, over the trials that were not a total loss, of the inverse-variance-fused 1 sigma position error (sum_i 1/sigma_i^2)^(-1/2) taken over the surviving layers",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"intensity_sweep.rows[].per_layer_deny_rate[]": {
"definition": "one entry per layer, in layers order: the fraction of trials in which that layer was denied; a probability estimate in [0, 1], not a per-second rate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"intensity_sweep.rows[].per_layer_usable[]": {
"definition": "one entry per layer, in layers order: the fraction of trials in which that layer was both available and not denied",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"intensity_sweep.rows[].total_loss_closed_form": {
"definition": "closed-form probability of that same event under independent denial: the product over layers of (1 - availability * (1 - p_deny))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"intensity_sweep.rows[].total_loss_probability": {
"definition": "Monte-Carlo probability of a total loss of PNT at this intensity, i.e. the fraction of trials in which no layer was usable",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"layers[].availability": {
"definition": "probability that this layer produces a fix at all absent any threat, in [0, 1]; a sourced-but-Modelled allocation from crate::conflict_threat_params, not a measured availability",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].deny_prob_at_reference": {
"definition": "probability that the shared threat denies this layer at the reference intensity: clamp(vulnerability * reference_intensity * vector_weight, 0, 1)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"layers[].index": {
"definition": "zero-based position of this layer in the emitted layers array",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"layers[].loss_prob_at_reference": {
"definition": "probability that this layer yields no usable fix at the reference intensity (unavailable or denied): 1 - availability * (1 - deny_prob_at_reference)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"layers[].sigma_m": {
"definition": "standard deviation (1 sigma) of this layer's own position error, the per-layer term entering the inverse-variance fuse; a sourced-but-Modelled allocation",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "m"
},
"layers[].vector_profile.cyber": {
"definition": "probability that a cyber attack on this layer's control or network, acting alone at unit intensity, denies it, in [0, 1]; a sourced-but-Modelled per-vector susceptibility",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].vector_profile.jamming": {
"definition": "probability that broadband RF jamming acting alone at unit intensity denies this layer, in [0, 1]; a sourced-but-Modelled per-vector susceptibility, held separate from the aggregate vulnerability",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].vector_profile.kinetic": {
"definition": "probability that a kinetic strike on this layer's physical assets, acting alone at unit intensity, denies it, in [0, 1]; a sourced-but-Modelled per-vector susceptibility",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].vector_profile.spoofing": {
"definition": "probability that counterfeit-signal spoofing acting alone at unit intensity denies this layer, in [0, 1]; a sourced-but-Modelled per-vector susceptibility",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].vector_weight": {
"definition": "coupling weight of this layer to the shared threat vector, in [0, 1]; a sourced-but-Modelled allocation",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].vulnerability": {
"definition": "nominal denial sensitivity of this layer to the shared threat, in [0, 1]; a prior SOURCED from published material (JammerTest 2024, TEXBAT, EASA SIB 2022-02, RTCA DO-229, LunaNet/IOAG) whose magnitude the catalog states is Modelled",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].vulnerability_prior_max": {
"definition": "upper end of the sourced [min, max] vulnerability prior the sensitivity block draws over, in [0, 1]",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"layers[].vulnerability_prior_min": {
"definition": "lower end of the sourced [min, max] vulnerability prior the sensitivity block draws over, in [0, 1]",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"per_vector_survival.reference_intensity": {
"definition": "the threat intensity each vector's survival is scored at for the sharpest-vector ranking",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"per_vector_survival.vectors[].rows[].intensity": {
"definition": "the grid threat intensity this survival sample was taken at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"per_vector_survival.vectors[].rows[].survival_closed_form": {
"definition": "closed-form probability that at least one layer is still usable under this vector alone: 1 - prod_i (1 - a_i * (1 - clamp(susceptibility_i,v * x, 0, 1)))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"per_vector_survival.vectors[].rows[].survival_mc": {
"definition": "Monte-Carlo estimate of that same probability, from seeded independent per-layer availability and denial draws",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"per_vector_survival.vectors[].survival_at_reference": {
"definition": "probability that at least one layer is still usable under this named vector acting alone at the reference intensity",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"primary_layer": {
"definition": "zero-based index of the layer used as the single-layer baseline the resilience ratio is taken against",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"prior_sensitivity.effort_reallocation_ratio_ci_95[]": {
"definition": "the two endpoints, 2.5th then 97.5th percentile, of a central 95 % interval for the resilience ratio when the adversary's total threat effort (the sum of the layers' vector_weight) is held fixed and re-split across the layers by a seeded Dirichlet draw; the underlying quantity is the dimensionless loss ratio",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"prior_sensitivity.nominal_ratio": {
"definition": "the closed-form resilience ratio evaluated at the catalog-nominal vulnerability priors",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"prior_sensitivity.ratio_ci_95[]": {
"definition": "the two endpoints, 2.5th then 97.5th percentile, of a central 95 % interval for the resilience ratio; the underlying quantity is the dimensionless single-over-layered loss ratio, sampled by drawing each layer's vulnerability uniformly over its sourced [min, max] prior",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"prior_sensitivity.reference_intensity": {
"definition": "the threat intensity the sensitivity block evaluates the headline ratio at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"prior_sensitivity.samples": {
"definition": "prior draws behind each percentile interval and behind the effort re-allocation; a fixed engine setting (2000), not a scenario input",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "count"
},
"prior_sensitivity.tornado[].layer_index": {
"definition": "zero-based index of the layer whose prior weight this tornado bar scans",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"prior_sensitivity.tornado[].margin_swing": {
"definition": "absolute change in the layered-over-single decision margin when this layer's weight is scanned by plus and minus 25 %, i.e. 2 * 0.25 * w_k * |v_layered,k - v_single,k| with w_k the layer's nominal vulnerability and v the per-layer usable probability at the reference intensity; a dimensionless weighted-score difference, not a probability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"prior_sensitivity.total_loss_ci_95[]": {
"definition": "the two endpoints, 2.5th then 97.5th percentile, of a central 95 % interval for the closed-form total-loss probability; the underlying quantity is that dimensionless probability in [0, 1], over the same prior draws",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"reference_intensity": {
"definition": "the intensity grid's highest point, at which the headline ratio, the correlation sweep and the per-vector survival are all evaluated; intensity is a dimensionless scale factor on a layer's denial sensitivity, not a power or a rate",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"resilience_ratio.closed_form_independent": {
"definition": "the primary layer's loss probability divided by the closed-form layered total-loss probability at the reference intensity, under independent denial; a pure ratio, how many times less often the layered user loses PNT",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"resilience_ratio.monte_carlo_independent": {
"definition": "the same ratio estimated from the independent Monte-Carlo: the primary layer's empirical loss fraction divided by the empirical total-loss fraction",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"trials": {
"definition": "Monte-Carlo trials run at every intensity and every correlation grid point",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
}
},
"fields_described": 46,
"fields_total": 46,
"fields_without_units": [],
"label": "MODELLED layered-PNT conflict resilience (P7). VALIDATED core: the Monte-Carlo total-loss probability converges to the closed-form independent product Pi_i p_deny_i (asserted within Monte-Carlo standard error at a fixed seed and large N); the inverse-variance position fuse sigma_fused = (sum_i 1/sigma_i^2)^(-1/2) is a closed-form identity; at correlation rho=0 the Gaussian copula reduces exactly to the independent model (agreeing within MC error for the same seed) and preserves each layer's marginal denial rate at every rho. MODELLED: the per-layer vulnerability / availability / accuracy magnitudes are sourced-but-Modelled inputs (see crate::conflict_threat_params — JammerTest 2024, TEXBAT, EASA SIB, LunaNet/IOAG); the ~7x headline resilience ratio and the ratio-vs-correlation curve shape are properties of that Modelled parameterisation, not certified figures. Not a certified navigation-availability product.",
"source": "defaults"
},
"earth-gnss-lunar": {
"complete": true,
"fields": {
"earth_limb_half_angle_deg": {
"definition": "asin(R_earth / r_orbit): the minimum off-boresight angle a lunar-bound ray must exceed to clear the Earth",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"links[].cn0_dbhz": {
"definition": "carrier-to-noise density with the receiving antenna gain applied; inherits the modelled transmit gain",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"links[].off_boresight_deg": {
"definition": "angle from the satellite's nadir direction to the receiver; the transmit beam is referenced to nadir",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"links[].path_loss_db": {
"definition": "free-space loss at the carrier; about 208 dB at L1 over the mean lunar distance",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dB"
},
"links[].range_m": {
"definition": "straight-line transmitter-to-receiver distance",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"links[].received_power_dbw": {
"definition": "tx_power + tx_gain - path_loss, isotropic at the receiver",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBW"
},
"links[].sat_index": {
"definition": "index in generation order",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"links[].tx_gain_dbi": {
"definition": "uniform-circular-aperture (Airy) gain at the off-boresight angle. A real GPS L1 antenna is a helical array with a shaped main lobe and non-Airy sidelobes, so this is a first-principles stand-in and not a measured beam",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "dBi"
},
"n_geometrically_visible": {
"definition": "satellites the Earth does not occult",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_satellites": {
"definition": "constellation size",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"n_trackable": {
"definition": "of those, the ones clearing the tracking threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"receiver_range_m": {
"definition": "receiver distance from the Earth's centre; the Moon's position is an input here, not an ephemeris lookup",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"sweep.best_cn0_dbhz": {
"definition": "best carrier-to-noise density anywhere in the sweep",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"sweep.epochs[].best_cn0_dbhz": {
"definition": "strongest trackable link at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"sweep.epochs[].n_trackable": {
"definition": "links clearing the threshold in the forward hemisphere, un-occulted, at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"sweep.epochs[].t_s": {
"definition": "seconds after the constellation epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"sweep.fix_availability": {
"definition": "fraction of epochs with at least FOUR trackable links. This is the figure a layered-resilience prior should take from this scenario, not the signal availability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"sweep.max_trackable": {
"definition": "largest trackable count over the sweep",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"sweep.mean_trackable": {
"definition": "mean trackable count over the sweep",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"sweep.signal_availability": {
"definition": "fraction of epochs with at least ONE trackable link: a timing observation, not a fix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"sweep.span_s": {
"definition": "span the epochs cover",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"tracking_threshold_dbhz": {
"definition": "carrier-to-noise density a link must reach to count as trackable",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB-Hz"
},
"tx_boresight_gain_dbi": {
"definition": "peak gain the pattern is referenced to",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "dBi"
}
},
"fields_described": 23,
"fields_total": 23,
"fields_without_units": [],
"label": null,
"source": "scenarios/earth-gnss-lunar.toml"
},
"eo-coverage": {
"complete": true,
"fields": {
"altitude_km": {
"definition": "circular-orbit geometric altitude above the equatorial radius",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"earth_angular_radius_deg": {
"definition": "angular radius of the Earth seen from the spacecraft: asin(R_eq / (R_eq + h))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"equatorial_ground_track_spacing_km": {
"definition": "equatorial distance between successive ascending nodes: R_eq * omega_Earth * T, with no J2 nodal regression",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "km"
},
"half_fov_deg": {
"definition": "sensor half field of view, as a nadir angle measured from boresight",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"max_access_ground_range_km": {
"definition": "surface-arc ground range from the sub-satellite point to a target at the field-of-regard edge: R_eq * lambda(max_off_nadir)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "km"
},
"max_off_nadir_deg": {
"definition": "effective field-of-regard edge: the caller's slew limit clamped to the Earth angular radius, and the angular radius itself by default",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"nadir_gsd_m": {
"definition": "nadir ground sample distance: altitude * per-pixel IFOV",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"orbital_period_min": {
"definition": "circular-orbit period 2*pi*sqrt((R_eq + h)^3 / mu_Earth)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "min"
},
"swath_width_km": {
"definition": "surface-arc swath of a nadir-pointing sensor: 2 * R_eq * lambda(half_fov)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "km"
}
},
"fields_described": 9,
"fields_total": 9,
"fields_without_units": [],
"label": "MODELLED — spherical-Earth space-triangle geometry; swath/GSD/access are geometric (no radiometry/MTF/atmosphere/jitter/glint), ground-track spacing is simple nodal R_e·ω·T (no J2 regression)",
"source": "defaults"
},
"ephemeris": {
"complete": true,
"fields": {
"alt_max_km": {
"definition": "largest WGS-84 geodetic height of the satellite over the samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"alt_min_km": {
"definition": "smallest WGS-84 geodetic height of the satellite over the samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"jd_utc0": {
"definition": "Julian Date, UTC scale, of t = 0: the scenario `epoch` when given, otherwise the TLE's own epoch (its 1950-origin day count plus 2433281.5)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "day"
},
"lat_max_deg": {
"definition": "largest WGS-84 geodetic sub-satellite latitude over the samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"lat_min_deg": {
"definition": "smallest WGS-84 geodetic sub-satellite latitude over the samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"max_elevation_deg": {
"definition": "highest station elevation above the local horizon reached over the samples; absent when the scenario declares no station or the satellite never rises",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"n_samples": {
"definition": "number of time samples emitted, round(duration_s / step_s) + 1",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"peak_doppler_hz": {
"definition": "largest |station_view.doppler_hz| over the samples where the satellite is at or above the horizon, at the scenario's carrier frequency; absent when there is no station or no visibility",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"samples[].alt_km": {
"definition": "satellite height above the WGS-84 ellipsoid along the local normal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"samples[].ecef_r_m[]": {
"definition": "satellite position [x, y, z] in the Earth-fixed ITRF/ECEF frame: the TEME->PEF sidereal rotation at UT1 followed by IERS polar motion",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"samples[].gcrs_r_m[]": {
"definition": "satellite position [x, y, z] reduced to GCRS (~J2000) by the precession/nutation chain at this epoch's TT",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"samples[].gcrs_v_m_s[]": {
"definition": "satellite velocity [vx, vy, vz] reduced to GCRS (~J2000)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"samples[].jd_utc": {
"definition": "Julian Date, UTC scale, of this sample: jd_utc0 + t_s / 86400",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "day"
},
"samples[].lat_deg": {
"definition": "sub-satellite WGS-84 geodetic latitude, north positive",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"samples[].lon_deg": {
"definition": "sub-satellite WGS-84 geodetic longitude, east positive",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"samples[].speed_m_s": {
"definition": "inertial (TEME) speed |v| at this sample",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"samples[].station_view.az_deg": {
"definition": "topocentric azimuth of the satellite from the station, measured clockwise from true north in [0, 360), in the station's local East-North-Up frame",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"samples[].station_view.doppler_hz": {
"definition": "carrier Doppler shift -range_rate_m_s / lambda, with lambda = c / carrier_hz (GPS L1 by default); positive as the satellite closes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"samples[].station_view.el_deg": {
"definition": "topocentric elevation of the satellite above the station's local horizon (the WGS-84 ellipsoid normal), in [-90, 90]; negative means below the horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"samples[].station_view.range_km": {
"definition": "geometric slant range from the station to the satellite",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"samples[].station_view.range_rate_m_s": {
"definition": "d(range)/dt: the station-to-satellite relative velocity projected onto the line of sight, both endpoints taken in TEME with the station carrying omega x r; positive means receding",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"samples[].t_s": {
"definition": "seconds from t = 0 of this sample, i * step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"samples[].teme_r_m[]": {
"definition": "satellite position [x, y, z] in the propagator's true-equator mean-equinox (TEME) of-date inertial frame",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"samples[].teme_v_m_s[]": {
"definition": "satellite velocity [vx, vy, vz] in the TEME of-date inertial frame",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"speed_max_m_s": {
"definition": "largest inertial (TEME) speed |v| over the samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"speed_min_m_s": {
"definition": "smallest inertial (TEME) speed |v| over the samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
}
},
"fields_described": 26,
"fields_total": 26,
"fields_without_units": [],
"label": null,
"source": "scenarios/ephemeris.toml"
},
"fusion": {
"complete": true,
"fields": {
"classical.accel_spec.params.bias": {
"definition": "residual (post-GNSS-calibration) accelerometer bias of the truth sensor; this pack's filter does not estimate a constant bias state, so the demo scenario drives the sensor with noise rather than a bias",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"classical.accel_spec.params.gyro_bias": {
"definition": "residual gyro bias of the truth sensor; the tilt error it accumulates couples gravity into a g*theta specific-force error",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"classical.accel_spec.params.q_aa": {
"definition": "acceleration-random-walk (rate-random-walk) PSD of the truth sensor: its bias gains variance q_aa*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/s"
},
"classical.accel_spec.params.q_arw": {
"definition": "angular-random-walk PSD of the truth sensor: the attitude (tilt) error gains variance q_arw*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(rad/s)^2/Hz"
},
"classical.accel_spec.params.q_va": {
"definition": "white acceleration noise PSD driving velocity random walk (velocity gains variance q_va*dt per step); it also drives the velocity state of the filter's position block, whose coast variance is q_va*T^3/3",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/Hz"
},
"classical.clock_spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.clock_spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity of the truth clock, and of the filter's clock block: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.clock_spec.params.q_wf": {
"definition": "white-FM process-noise intensity of the truth clock, and of the filter's clock block: the phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"classical.clock_spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the truth clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"classical.fom.integrity": {
"definition": "joint-filter self-consistency: the fraction of outage samples where the timing error stays inside the 3-sigma phase bound (widened by the re-sync link variance when re-sync is enabled) and the position error inside the 3-sigma position bound; not an aviation HPL/VPL/RAIM integrity figure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.pnt_availability": {
"definition": "fraction of all samples in the run with both the timing and the position error inside their specs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.pnt_holdover_s": {
"definition": "worst-case (shortest) coast before either channel leaves its spec, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.position_holdover_s": {
"definition": "worst-case (shortest) coast before the position error leaves position_spec_m, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.position_p95_m": {
"definition": "95th percentile (nearest-rank) of the absolute position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / timing_spec_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.timing_holdover_s": {
"definition": "worst-case (shortest) coast before the timing error leaves timing_spec_ns, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.series[].position_m": {
"definition": "single-axis (1-DOF) position error at t: the dead-reckoned truth position minus the joint filter's position estimate, reported at every sample",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.series[].timing_ns": {
"definition": "timing error at t: the truth clock phase minus the joint filter's phase estimate — the delivered solution is the filter's, so this residual is reported at every sample, including while GNSS disciplines the filter",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"position_spec_m": {
"definition": "position spec: a sample whose absolute position error is at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"quantum.accel_spec.params.bias": {
"definition": "residual (post-GNSS-calibration) accelerometer bias of the truth sensor; this pack's filter does not estimate a constant bias state, so the demo scenario drives the sensor with noise rather than a bias",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"quantum.accel_spec.params.gyro_bias": {
"definition": "residual gyro bias of the truth sensor; the tilt error it accumulates couples gravity into a g*theta specific-force error",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"quantum.accel_spec.params.q_aa": {
"definition": "acceleration-random-walk (rate-random-walk) PSD of the truth sensor: its bias gains variance q_aa*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/s"
},
"quantum.accel_spec.params.q_arw": {
"definition": "angular-random-walk PSD of the truth sensor: the attitude (tilt) error gains variance q_arw*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(rad/s)^2/Hz"
},
"quantum.accel_spec.params.q_va": {
"definition": "white acceleration noise PSD driving velocity random walk (velocity gains variance q_va*dt per step); it also drives the velocity state of the filter's position block, whose coast variance is q_va*T^3/3",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/Hz"
},
"quantum.clock_spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.clock_spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity of the truth clock, and of the filter's clock block: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.clock_spec.params.q_wf": {
"definition": "white-FM process-noise intensity of the truth clock, and of the filter's clock block: the phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"quantum.clock_spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the truth clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"quantum.fom.integrity": {
"definition": "joint-filter self-consistency: the fraction of outage samples where the timing error stays inside the 3-sigma phase bound (widened by the re-sync link variance when re-sync is enabled) and the position error inside the 3-sigma position bound; not an aviation HPL/VPL/RAIM integrity figure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.pnt_availability": {
"definition": "fraction of all samples in the run with both the timing and the position error inside their specs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.pnt_holdover_s": {
"definition": "worst-case (shortest) coast before either channel leaves its spec, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.position_holdover_s": {
"definition": "worst-case (shortest) coast before the position error leaves position_spec_m, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.position_p95_m": {
"definition": "95th percentile (nearest-rank) of the absolute position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / timing_spec_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.timing_holdover_s": {
"definition": "worst-case (shortest) coast before the timing error leaves timing_spec_ns, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.series[].position_m": {
"definition": "single-axis (1-DOF) position error at t: the dead-reckoned truth position minus the joint filter's position estimate, reported at every sample",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.series[].timing_ns": {
"definition": "timing error at t: the truth clock phase minus the joint filter's phase estimate — the delivered solution is the filter's, so this residual is reported at every sample, including while GNSS disciplines the filter",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"seed": {
"definition": "RNG seed of the quantum suite; the classical suite runs at seed + 0x9e3779b97f4a7c15",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"timing_spec_ns": {
"definition": "timing spec: a sample whose absolute timing error is at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ns"
}
},
"fields_described": 43,
"fields_total": 43,
"fields_without_units": [],
"label": null,
"source": "scenarios/fusion-pnt.toml"
},
"gnss-ins": {
"complete": true,
"fields": {
"classical.fom.availability": {
"definition": "fraction in [0, 1] of the samples of the WHOLE run — not just the outage — whose |error_m| is within threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.drift_slope_m_per_s": {
"definition": "least-squares slope of |series[].error_m| against t over the GNSS-denied samples: the growth rate of the horizontal error through the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"classical.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments: per segment, the time from its start to the first sample breaching threshold_m, or to its end if none does; grid-bounded, so a lower bound at the time-step resolution",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.pos_p95_m": {
"definition": "95th percentile (nearest-rank on the sorted values) of |series[].error_m| over the GNSS-denied samples only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.fom.pos_rms_m": {
"definition": "root-mean-square of series[].error_m over the GNSS-denied (outage) samples only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.free_outage_rms_m": {
"definition": "time-RMS horizontal error over the same GNSS-denied samples of the unaided free-running INS, which never receives a fix — the comparison baseline the fused figure is read against",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.fused_outage_rms_m": {
"definition": "time-RMS horizontal error of the fused INS/GNSS solution over the GNSS-denied samples; the same statistic as fom.pos_rms_m, accumulated independently as the run proceeds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.series[].error_m": {
"definition": "horizontal (north/east) distance between the fused INS/GNSS position and truth in the tangent plane at that epoch, for the classical IMU",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.series[].t": {
"definition": "epoch of the sample, step index times time.step_s from the run start",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.spec.params.accel_bias[]": {
"definition": "the classical IMU's true constant accelerometer turn-on bias, body axes (x, y, z), echoed from imu_classical.accel_bias",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"classical.spec.params.gyro_bias[]": {
"definition": "the classical IMU's true constant gyro turn-on bias, body axes (x, y, z), echoed from imu_classical.gyro_bias",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"quantum.fom.availability": {
"definition": "fraction in [0, 1] of the samples of the WHOLE run — not just the outage — whose |error_m| is within threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.drift_slope_m_per_s": {
"definition": "least-squares slope of |series[].error_m| against t over the GNSS-denied samples: the growth rate of the horizontal error through the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"quantum.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments: per segment, the time from its start to the first sample breaching threshold_m, or to its end if none does; grid-bounded, so a lower bound at the time-step resolution",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.pos_p95_m": {
"definition": "95th percentile (nearest-rank on the sorted values) of |series[].error_m| over the GNSS-denied samples only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.fom.pos_rms_m": {
"definition": "root-mean-square of series[].error_m over the GNSS-denied (outage) samples only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.free_outage_rms_m": {
"definition": "time-RMS horizontal error over the same GNSS-denied samples of the unaided free-running INS, which never receives a fix — the comparison baseline the fused figure is read against",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.fused_outage_rms_m": {
"definition": "time-RMS horizontal error of the fused INS/GNSS solution over the GNSS-denied samples; the same statistic as fom.pos_rms_m, accumulated independently as the run proceeds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.series[].error_m": {
"definition": "horizontal (north/east) distance between the fused INS/GNSS position and truth in the tangent plane at that epoch, for the quantum-grade IMU",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.series[].t": {
"definition": "epoch of the sample, step index times time.step_s from the run start",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.spec.params.accel_bias[]": {
"definition": "the quantum-grade IMU's true constant accelerometer turn-on bias, body axes (x, y, z), echoed from imu_quantum.accel_bias",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"quantum.spec.params.gyro_bias[]": {
"definition": "the quantum-grade IMU's true constant gyro turn-on bias, body axes (x, y, z), echoed from imu_quantum.gyro_bias",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"seed": {
"definition": "master RNG seed; the quantum run uses it directly and the classical run uses it plus a fixed odd-constant stride, so both are reproducible and independently drawn",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"threshold_m": {
"definition": "horizontal-error alert threshold: a sample is in spec when |error_m| <= threshold_m, which is what sets availability and what ends a holdover segment",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
}
},
"fields_described": 24,
"fields_total": 24,
"fields_without_units": [],
"label": null,
"source": "scenarios/gnss-ins.toml"
},
"gnss-sim": {
"complete": true,
"fields": {
"fom.fault_rate": {
"definition": "fraction of epochs at which the RAIM chi-squared test declared a fault",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fom.mean_hpl_m": {
"definition": "mean horizontal protection level over the epochs that had one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.mean_iono_m": {
"definition": "mean modelled slant ionospheric delay over every satellite sample of the run",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.mean_tropo_m": {
"definition": "mean modelled slant tropospheric delay over every satellite sample of the run",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.mean_vpl_m": {
"definition": "mean vertical protection level over the epochs that had one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.raim_availability": {
"definition": "fraction of epochs at which RAIM produced protection levels and both were at or below their alert limits",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"gnss_measurements[].measurements[].az_deg": {
"definition": "satellite azimuth at the receiver, clockwise from north",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"gnss_measurements[].measurements[].cn0_dbhz": {
"definition": "representative elevation-dependent carrier-to-noise-density ratio, 40 + 8*sin(elevation); an illustrative magnitude, not a link budget",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "dB-Hz"
},
"gnss_measurements[].measurements[].doppler_hz": {
"definition": "L1 Doppler shift: minus the central-differenced geometric range rate divided by the L1 wavelength",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"gnss_measurements[].measurements[].el_deg": {
"definition": "satellite elevation above the receiver's local horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"gnss_measurements[].measurements[].iono_correction_m": {
"definition": "Klobuchar single-frequency slant ionospheric group delay added to this pseudorange",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"gnss_measurements[].measurements[].prn": {
"definition": "zero-based index of the satellite within the configured constellation, carried as its pseudo-random-noise code number",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"gnss_measurements[].measurements[].pseudorange_m": {
"definition": "simulated code pseudorange: geometric range + receiver clock - satellite clock + iono + tropo + multipath + thermal noise",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"gnss_measurements[].measurements[].sat_clock_m": {
"definition": "satellite clock offset as a range: a deterministic per-satellite value spread over plus/minus sat_clock_rms_m by a fixed stride",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"gnss_measurements[].measurements[].tropo_correction_m": {
"definition": "Saastamoinen zenith tropospheric delay projected to this elevation by the Niell mapping function",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"gnss_measurements[].n_visible": {
"definition": "satellites above the elevation mask at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"gnss_measurements[].raim.hpl_m": {
"definition": "horizontal (east-north) protection level: the largest horizontal slope times pbias times the 1-sigma user-equivalent range error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"gnss_measurements[].raim.n_used": {
"definition": "satellites entering the snapshot-RAIM least-squares solution at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"gnss_measurements[].raim.test_statistic": {
"definition": "normalised residual sum of squares SSE / sigma^2 — dimensionless, chi-squared with n_used - 4 degrees of freedom when fault-free",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"gnss_measurements[].raim.threshold": {
"definition": "the chi-squared quantile at 1 - p_fa for n_used - 4 degrees of freedom that test_statistic is compared against; also dimensionless",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"gnss_measurements[].raim.vpl_m": {
"definition": "vertical (up) protection level, formed the same way from the largest vertical slope",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"gnss_measurements[].t": {
"definition": "epoch time since the start of the run: the grid index times time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"seed": {
"definition": "seed of the pseudorange thermal-noise generator; the run is reproducible in it",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
}
},
"fields_described": 23,
"fields_total": 23,
"fields_without_units": [],
"label": null,
"source": "scenarios/gnss-sim-raim.toml"
},
"gravity-map": {
"complete": true,
"fields": {
"free_inertial_drift_m": {
"definition": "horizontal position error of the unaided inertial solution at the end of the outage: the configured constant drift in degrees converted to metres at the track's mid-latitude",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"map_matched_error_m": {
"definition": "residual horizontal position error after gravity-map matching: the true drift minus the recovered offset estimate, in metres",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"measurement_sigma_mgal": {
"definition": "1 sigma matching noise used by the likelihood: the gravimeter white floor ASD/sqrt(tau) combined in quadrature with the configured map representation error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mGal"
}
},
"fields_described": 3,
"fields_total": 3,
"fields_without_units": [],
"label": null,
"source": "scenarios/gravity-map-nav.toml"
},
"hybrid": {
"complete": true,
"fields": {
"classical.accel_spec.params.bias": {
"definition": "residual (post-GNSS-calibration) accelerometer bias — the sensor's published bias stability",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"classical.accel_spec.params.gyro_bias": {
"definition": "residual gyro bias; the tilt error it accumulates couples gravity into a g*theta specific-force error",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"classical.accel_spec.params.q_aa": {
"definition": "acceleration-random-walk (rate-random-walk) PSD: the accelerometer bias gains variance q_aa*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/s"
},
"classical.accel_spec.params.q_arw": {
"definition": "angular-random-walk PSD: the attitude (tilt) error gains variance q_arw*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(rad/s)^2/Hz"
},
"classical.accel_spec.params.q_va": {
"definition": "white acceleration noise PSD driving velocity random walk (velocity gains variance q_va*dt per step); derived from the cold-atom-interferometer physics instead of echoed when the sensor carries a `cai` block",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/Hz"
},
"classical.clock_spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.clock_spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.clock_spec.params.q_wf": {
"definition": "white-FM process-noise intensity: the clock phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"classical.clock_spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"classical.fom.integrity": {
"definition": "filter self-consistency on the timing channel: the fraction of outage samples whose timing error stays inside the Kalman 3-sigma phase bound, widened by the re-sync link variance when re-sync is enabled; not an aviation HPL/VPL/RAIM integrity figure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.pnt_availability": {
"definition": "fraction of all samples in the run with both the timing and the position error inside their specs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.pnt_holdover_s": {
"definition": "worst-case (shortest) coast before either channel leaves its spec, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.position_holdover_s": {
"definition": "worst-case (shortest) coast before the position error leaves position_spec_m, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.position_p95_m": {
"definition": "95th percentile (nearest-rank) of the absolute position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / timing_spec_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.timing_holdover_s": {
"definition": "worst-case (shortest) coast before the timing error leaves timing_spec_ns, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.series[].position_m": {
"definition": "single-axis (1-DOF) dead-reckoning position error at t; zero while GNSS is nominal, where the fix re-aligns the model",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.series[].timing_ns": {
"definition": "timing error at t: the clock's coasted prediction residual, plus the optical inter-satellite link's fresh measurement residual when re-sync is enabled; zero while GNSS is nominal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"position_spec_m": {
"definition": "position spec: a sample whose absolute position error is at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"quantum.accel_spec.params.bias": {
"definition": "residual (post-GNSS-calibration) accelerometer bias — the sensor's published bias stability",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"quantum.accel_spec.params.gyro_bias": {
"definition": "residual gyro bias; the tilt error it accumulates couples gravity into a g*theta specific-force error",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"quantum.accel_spec.params.q_aa": {
"definition": "acceleration-random-walk (rate-random-walk) PSD: the accelerometer bias gains variance q_aa*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/s"
},
"quantum.accel_spec.params.q_arw": {
"definition": "angular-random-walk PSD: the attitude (tilt) error gains variance q_arw*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(rad/s)^2/Hz"
},
"quantum.accel_spec.params.q_va": {
"definition": "white acceleration noise PSD driving velocity random walk (velocity gains variance q_va*dt per step); derived from the cold-atom-interferometer physics instead of echoed when the sensor carries a `cai` block",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/Hz"
},
"quantum.clock_spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.clock_spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.clock_spec.params.q_wf": {
"definition": "white-FM process-noise intensity: the clock phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"quantum.clock_spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"quantum.fom.integrity": {
"definition": "filter self-consistency on the timing channel: the fraction of outage samples whose timing error stays inside the Kalman 3-sigma phase bound, widened by the re-sync link variance when re-sync is enabled; not an aviation HPL/VPL/RAIM integrity figure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.pnt_availability": {
"definition": "fraction of all samples in the run with both the timing and the position error inside their specs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.pnt_holdover_s": {
"definition": "worst-case (shortest) coast before either channel leaves its spec, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.position_holdover_s": {
"definition": "worst-case (shortest) coast before the position error leaves position_spec_m, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.position_p95_m": {
"definition": "95th percentile (nearest-rank) of the absolute position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / timing_spec_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.timing_holdover_s": {
"definition": "worst-case (shortest) coast before the timing error leaves timing_spec_ns, across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.series[].position_m": {
"definition": "single-axis (1-DOF) dead-reckoning position error at t; zero while GNSS is nominal, where the fix re-aligns the model",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.series[].timing_ns": {
"definition": "timing error at t: the clock's coasted prediction residual, plus the optical inter-satellite link's fresh measurement residual when re-sync is enabled; zero while GNSS is nominal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"seed": {
"definition": "RNG seed of the quantum suite; the classical suite runs at seed + 0x9e3779b97f4a7c15",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"timing_spec_ns": {
"definition": "timing spec: a sample whose absolute timing error is at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ns"
}
},
"fields_described": 43,
"fields_total": 43,
"fields_without_units": [],
"label": null,
"source": "scenarios/hybrid-pnt.toml"
},
"hybrid-optical-rf": {
"complete": true,
"fields": {
"cross_modality_raim.alert_limit_h_m": {
"definition": "horizontal alert limit the horizontal protection level is compared against; the scenario's alert_limit_h_m after defaults (10 m)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"cross_modality_raim.alert_limit_t_s": {
"definition": "timing alert limit the timing protection level is compared against; the scenario's alert_limit_t_s after defaults (20 ns)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"cross_modality_raim.alert_limit_v_m": {
"definition": "vertical alert limit the vertical protection level is compared against; the scenario's alert_limit_v_m after defaults (15 m)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"cross_modality_raim.axes[].fused_sigma": {
"definition": "1 sigma of that fusion, sqrt(1/(1/sigma_rf^2 + 1/sigma_opt^2)); metres on the east/north/up rows and seconds on the clock row, as the row's own `role` field says",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"cross_modality_raim.axes[].fused_value": {
"definition": "the inverse-variance (minimum-variance) fusion of the RF and optical estimates on this axis; metres on the east/north/up rows and seconds on the clock row, as the row's own `role` field says",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"cross_modality_raim.axes[].protection_level": {
"definition": "the solution-separation protection level K_fa*sqrt(sigma_rf^2 + sigma_opt^2)*max(w_rf, w_opt) + K_md*sigma_fused on this axis; metres on the east/north/up rows and seconds on the clock row, as the row's own `role` field says",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"cross_modality_raim.axes[].separation_statistic": {
"definition": "the axis term (y_rf - y_opt)^2/(sigma_rf^2 + sigma_opt^2) of the monitor statistic, chi-square with 1 degree of freedom under the fault-free hypothesis",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"cross_modality_raim.chi2_statistic": {
"definition": "the monitor statistic sum_axes (y_rf - y_opt)^2/(sigma_rf^2 + sigma_opt^2); chi-square with n_axes = 4 degrees of freedom under the fault-free hypothesis",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"cross_modality_raim.chi2_threshold": {
"definition": "the detection threshold chi-square_{1-P_fa}(n_axes): the exact quantile at 4 degrees of freedom, the same value fault_injection.chi2_threshold reports",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"cross_modality_raim.hpl_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"cross_modality_raim.n_axes": {
"definition": "number of monitored axes, which is also the degrees of freedom of the chi-square detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"cross_modality_raim.tpl_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"cross_modality_raim.vpl_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fault_injection.axes[].alert_limit": {
"definition": "the alert limit this axis is compared against, selected from the scenario's alert limits by the axis role, in the unit the row's own `unit` field names (m on east/north/up, s on clock)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "mixed - see note"
},
"fault_injection.axes[].detection_power_curve[].fault_magnitude": {
"definition": "the same bias magnitude in the axis unit, fault_multiple_of_mdb * minimum_detectable_bias, in the unit the row's own `unit` field names (m on east/north/up, s on clock)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"fault_injection.axes[].detection_power_curve[].fault_multiple_of_mdb": {
"definition": "the bias magnitude of this curve point, expressed as a multiple of the axis minimum detectable bias",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fault_injection.axes[].detection_power_curve[].noncentrality": {
"definition": "lambda = bias^2/(sigma_rf^2 + sigma_opt^2), the non-centrality that bias injects into the chi-square statistic",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"fault_injection.axes[].detection_power_curve[].p_detect": {
"definition": "probability the monitor flags that bias, 1 - F_noncentral_chi2(T; dof, lambda); its zero-fault end equals P_fa",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"fault_injection.axes[].injected[].expected_noncentrality": {
"definition": "the non-centrality the analytic model predicts for that injected bias, bias^2/(sigma_rf^2 + sigma_opt^2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"fault_injection.axes[].injected[].fault_multiple_of_mdb": {
"definition": "the size of the bias actually written into the RF estimate, as a multiple of the axis minimum detectable bias",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fault_injection.axes[].injected[].injected_bias": {
"definition": "the bias actually added to the RF estimate on this axis before the monitor was re-run, in the unit the row's own `unit` field names (m on east/north/up, s on clock)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"fault_injection.axes[].injected[].realised_chi2_statistic": {
"definition": "the statistic the monitor itself returned with the bias injected, read back from the re-run rather than predicted",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fault_injection.axes[].mdb_over_alert_limit": {
"definition": "minimum_detectable_bias / alert_limit; above 1 the smallest fault the monitor can catch is already outside tolerance",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fault_injection.axes[].minimum_detectable_bias": {
"definition": "the smallest bias on this axis the monitor detects with probability 1 - P_md, sqrt(lambda*)*sigma_separation, in the unit the row's own `unit` field names (m on east/north/up, s on clock)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"fault_injection.axes[].ramp_rate_per_s": {
"definition": "the ramp rate the ramp treatment uses, in the axis unit per second (m/s on the position axes, s/s on the clock axis); a representative modelled input, default 0.05 m/s and 1e-11 s/s",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "mixed - see note"
},
"fault_injection.axes[].ramp_time_to_detect_s": {
"definition": "minimum_detectable_bias / ramp_rate_per_s, a rate conversion and not a time-series simulation; see fault_injection.ramp_note",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"fault_injection.axes[].sigma_separation": {
"definition": "sqrt(sigma_rf^2 + sigma_opt^2), the 1 sigma of the fault-free RF-minus-optical separation on this axis, in the unit the row's own `unit` field names (m on east/north/up, s on clock)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"fault_injection.chi2_threshold": {
"definition": "chi-square_{1-P_fa}(dof); the same threshold cross_modality_raim.chi2_threshold reports, not a re-derivation",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dimensionless"
},
"fault_injection.deterministic_detection_multiple_of_mdb": {
"definition": "sqrt(T/lambda*): the noise-free bias multiple at which the realised statistic first crosses the threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dimensionless"
},
"fault_injection.dof": {
"definition": "degrees of freedom of the monitor's chi-square statistic, the number of monitored axes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fault_injection.fault_free_chi2_statistic": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dimensionless"
},
"fault_injection.mdb_horizontal_m": {
"definition": "minimum detectable bias on a horizontal axis at the stated P_fa/P_md",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fault_injection.mdb_timing_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"fault_injection.mdb_vertical_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fault_injection.noncentrality_at_mdb": {
"definition": "lambda* = the non-centrality whose missed-detection probability is exactly P_md",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dimensionless"
},
"fault_injection.p_detect_at_mdb": {
"definition": "equals 1 - P_md by construction",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "probability"
},
"fault_injection.p_detect_at_zero_fault": {
"definition": "equals P_fa by construction - the zero-fault end of a power curve is the false-alarm rate, not zero",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "probability"
},
"fault_injection.p_fa": {
"definition": "false-alarm probability the detection threshold was set at (default 1e-5)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"fault_injection.p_md": {
"definition": "missed-detection probability the minimum detectable bias and the power curve are stated at (default 1e-3)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"fault_injection.pbias": {
"definition": "sqrt(lambda*): the minimum detectable bias in units of the axis separation sigma, shared by every axis",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dimensionless"
},
"handoff.dof": {
"definition": "degrees of freedom of the NEES chi-square, the number of filter states (4: east, north, up, clock)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"handoff.final_nees": {
"definition": "chi-square with dof = number of states",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dimensionless"
},
"handoff.max_mean_jump": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"handoff.nees_gate_hi": {
"definition": "upper bound of the two-sided NEES consistency gate, the chi-square 0.975 quantile at dof degrees of freedom",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"handoff.nees_gate_lo": {
"definition": "lower bound of the two-sided NEES consistency gate, the chi-square 0.025 quantile at dof degrees of freedom",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"handoff.variance_after_handoff": {
"definition": "covariance trace over the position axes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"handoff.variance_after_optical": {
"definition": "covariance trace over the position axes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"handoff.variance_after_rf": {
"definition": "covariance trace over the position axes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"handoff_reverse.dof": {
"definition": "degrees of freedom of the reverse pass' NEES chi-square, the number of filter states (4)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"handoff_reverse.final_nees": {
"definition": "normalised estimation error squared of the final estimate against truth after the RF->optical pass; chi-square with dof degrees of freedom when the filter is consistent, judged against the same handoff.nees_gate_lo/hi",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"handoff_reverse.max_mean_jump": {
"definition": "largest per-axis change in the state mean across the reverse switch; the maximum runs over the 4-state (east, north, up, clock) diagonal, so the metre spelling follows the three position axes, and the bit-for-bit mean-continuity invariant holds the value at exactly 0",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"handoff_reverse.variance_after_handoff": {
"definition": "covariance trace immediately after the reverse handoff's covariance inflation, over the same whole 4-state diagonal as handoff.variance_after_handoff",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"handoff_reverse.variance_after_optical_stage": {
"definition": "covariance trace after the final tight optical update of the reverse pass, over the same whole 4-state diagonal as handoff.variance_after_rf",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"handoff_reverse.variance_after_rf_stage": {
"definition": "covariance trace after the loose RF update that precedes the reverse handoff; the trace runs over the whole 4-state diagonal (three position axes in m^2 plus the clock axis in s^2, about 1e-17 of the total here), the quantity handoff.variance_after_optical reports for the forward pass",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"joint_fom.availability": {
"definition": "the availability factor A: the spatially-correlated union availability of the optical ground network",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"joint_fom.correlation": {
"definition": "the correlation rho in [0,1] that interpolates the joint between the independent product and the co-occurrence bound (default 0.5)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"joint_fom.integrity_assured": {
"definition": "the integrity factor I: 1 - P_HMI when every protection level sits inside its alert limit, and 0 otherwise",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"joint_fom.joint_correlated": {
"definition": "A*P*I + rho*(min(A,P,I) - A*P*I), the correlation-adjusted joint probability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"joint_fom.joint_independent": {
"definition": "A*P*I, the joint probability under the independence assumption",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"joint_fom.precision_grade": {
"definition": "the precision factor P: A*[optical meets the grade] + (1 - A)*[RF meets the grade], the probability the delivered precision meets grade_pos_m and grade_time_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"joint_fom.score": {
"definition": "the headline figure of merit, equal to joint_correlated",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"link_configuration.atmospheric_loss_db": {
"definition": "one-way atmospheric loss allocation (default 3 dB): a modelled budget line, not a measurement",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dB"
},
"link_configuration.detector_efficiency": {
"definition": "detector quantum efficiency as a fraction in [0,1] (default 0.7)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"link_configuration.integration_s": {
"definition": "detector integration time over which photons are accumulated (default 1 s)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"link_configuration.optics_efficiency": {
"definition": "optics throughput as a fraction in [0,1] (default 0.5)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"link_configuration.pointing_loss_db": {
"definition": "pointing / jitter loss allocation (default 3 dB): a modelled budget line, not a measurement",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dB"
},
"link_configuration.pulse_rms_ps": {
"definition": "RMS width of the signal pulse as supplied (default 50 ps)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ps"
},
"link_configuration.range_km": {
"definition": "one-way link range as supplied (default 384000 km, the Earth-Moon distance)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"link_configuration.rx_aperture_m": {
"definition": "receive aperture diameter (default 0.85 m)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"link_configuration.tx_aperture_m": {
"definition": "transmit aperture diameter (default 0.85 m)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"link_configuration.tx_power_w": {
"definition": "optical transmit power (default 1e-3 W)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "W"
},
"link_configuration.wavelength_nm": {
"definition": "optical carrier wavelength as supplied (default 1550 nm), echoed in the unit it was given in rather than round-tripped through metres",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "nm"
},
"optical_availability.correlated_union": {
"definition": null,
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "fraction"
},
"optical_availability.correlation": {
"definition": "spatial correlation rho in [0,1] of the site outages, used for the correlated union (default 0.15)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"optical_availability.diversity_curve[].correlated": {
"definition": "spatially-correlated-union availability of that prefix, 1 - gbar^N_eff with N_eff = 1 + (n-1)(1-rho)",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
},
"optical_availability.diversity_curve[].independent": {
"definition": "independent-union availability of that prefix, 1 - prod_i (1 - a_i)",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
},
"optical_availability.diversity_curve[].n_sites": {
"definition": "number of sites in this prefix of the network",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"optical_availability.independent_union": {
"definition": null,
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "fraction"
},
"optical_availability.n_sites": {
"definition": "number of optical ground sites used: the scenario's n_optical_sites clamped to the bundled network (default 5)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"optical_availability.per_site[].availability": {
"definition": "single-site availability, clear_sky_prob * pointing_acquisition_factor clamped to [0,1]",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"optical_availability.per_site[].clear_sky_prob": {
"definition": "published satellite-derived fraction of clear nights at this site, read from the bundled climatology table (Cavazzani et al. 2011, MNRAS, GOES12 2007-2008 analysis)",
"evidence_tier": "validated",
"provenance": "published",
"unit": "1"
},
"optical_availability.per_site[].pointing_acquisition_factor": {
"definition": "fraction of clear-sky time the optical terminal points and acquires the link: a modelled terminal allocation (0.90), kept separate from the published clear-sky column",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "1"
},
"optical_availability.single_site_mean": {
"definition": "weather-limited clear-sky climatology. The RF counterpart is rf_availability.availability, and it is NOT the same kind of number: this one is a probability built from a published clear-sky climatology and a modelled pointing factor, while the RF figure is a DETERMINISTIC 0/1 indicator product over an Eb/N0 link margin and a tracking threshold, evaluated once at one range on one link budget. It carries no distribution, so it can only be 0 or 1. Quoting the two side by side as comparable percentages is a category error; rf_availability.differs_from_optical states the difference in full and rf_availability.factors_not_included names the RF outage climatology that would be needed to make them comparable",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "fraction"
},
"optical_link.detected_photons": {
"definition": "expected photon count over the integration time: the one-way photon_rate_hz reduced by the two-way return-path geometric loss, times integration_s; an expectation, so not an integer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"optical_link.divergence_rad": {
"definition": "diffraction divergence half-angle lambda/D of the transmit aperture",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "rad"
},
"optical_link.footprint_m": {
"definition": "far-field beam footprint diameter (lambda/D)*range",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"optical_link.geometric_loss_db": {
"definition": "far-field geometric capture loss -10*log10(min((D_rx/d_beam)^2, 1)), one way",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dB"
},
"optical_link.optical_ranging_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"optical_link.optical_timing_sigma_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"optical_link.photon_rate_hz": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"optical_link.rf_clock_sigma_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"optical_link.rf_position_sigma_m": {
"definition": "loose RF reference precision; a representative input, not a measurement",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"optical_link.total_loss_db": {
"definition": "one-way total loss: the geometric capture loss plus the atmospheric and pointing allocations",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"post_handover_coast.alert_limit_h_m": {
"definition": "the scenario's own alert_limit_h_m, reused so the coast is judged against the same limit as the cross-modality block",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"post_handover_coast.alert_limit_t_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"post_handover_coast.alert_limit_v_m": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"post_handover_coast.coverage_k": {
"definition": "coverage factor applied to the coasting 1 sigma before the alert-limit comparison; Phi^-1(1 - P_HMI/2) unless coast_coverage_k is given",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dimensionless"
},
"post_handover_coast.directions[].bound_h_at_handover_m": {
"definition": "k*sigma_h at the handover instant, the quantity compared against alert_limit_h_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].bound_t_at_handover_s": {
"definition": "k*sigma_t at the handover instant, compared against alert_limit_t_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].bound_v_at_handover_m": {
"definition": "k*sigma_v at the handover instant, compared against alert_limit_v_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].clock_variance_after_handoff_s2": {
"definition": "clock-axis variance immediately after the handover covariance inflation",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s^2"
},
"post_handover_coast.directions[].clock_variance_doubling_time_s": {
"definition": "P_t(0)/q_clock, the time for the coasting clock variance to double",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].horizontal_variance_doubling_time_s": {
"definition": "P_h(0)/(2*q_pos), the time for the coasting horizontal variance to double; the horizontal axis sums two independent random walks, hence 2*q_pos",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].position_variance_after_handoff_m2": {
"definition": "sum of the three position-axis variances immediately after the handover covariance inflation",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"post_handover_coast.directions[].profile[].bound_h_m": {
"definition": "k*sigma_h at this coast time",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].profile[].bound_t_s": {
"definition": "k*sigma_t at this coast time",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].profile[].bound_v_m": {
"definition": "k*sigma_v at this coast time",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].profile[].sigma_h_m": {
"definition": "horizontal 1 sigma sqrt(P_east(t) + P_north(t)) at this coast time",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].profile[].sigma_t_s": {
"definition": "clock 1 sigma at this coast time",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].profile[].sigma_v_m": {
"definition": "vertical 1 sigma at this coast time",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].profile[].t_s": {
"definition": "time since the handover at this profile sample",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].sigma_h_at_handover_m": {
"definition": "horizontal 1 sigma sqrt(P_east + P_north) at the handover instant",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].sigma_t_at_handover_s": {
"definition": "clock 1 sigma at the handover instant",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].sigma_v_at_handover_m": {
"definition": "vertical 1 sigma at the handover instant",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"post_handover_coast.directions[].time_inside_alert_limits_s": {
"definition": "how long this direction's coasting solution stays inside every alert limit, the earliest of the three crossing times; null when no limit is ever reached",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].time_to_alert_limit_h_s": {
"definition": "time after the handover at which k*sigma_h(t) first reaches alert_limit_h_m; null means it never does",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].time_to_alert_limit_t_s": {
"definition": "time after the handover at which k*sigma_t(t) first reaches alert_limit_t_s; null means it never does",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].time_to_alert_limit_v_s": {
"definition": "time after the handover at which k*sigma_v(t) first reaches alert_limit_v_m; null means it never does",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.directions[].total_variance_after_handoff": {
"definition": "the whole 4-state diagonal trace immediately after the handover (three position axes in m^2 plus the clock axis in s^2), carried so it can be reconciled against handoff.variance_after_handoff",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"post_handover_coast.directions[].vertical_variance_doubling_time_s": {
"definition": "P_v(0)/q_pos, the time for the coasting vertical variance to double",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.process_noise_clock_psd_s2_s": {
"definition": "MODELLED: white-FM clock phase random walk, q = tau*sigma_y(tau)^2; the 1e-22 default is sigma_y(1 s) = 1e-11, a representative space USO",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"post_handover_coast.process_noise_position_psd_m2_s": {
"definition": "MODELLED representative position random-walk PSD; the 1e-3 default is 1 m (1 sigma) of unmodelled growth per 1000 s of coast, per axis",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m^2/s"
},
"post_handover_coast.time_inside_alert_limits_optical_to_rf_s": {
"definition": "how long the coasting solution stays inside every alert limit after the optical->RF handover; null means no limit is ever reached",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"post_handover_coast.time_inside_alert_limits_rf_to_optical_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"ranging_comparison.common_configuration.accumulation_time_s": {
"definition": "the accumulation time both legs must average over - the scenario's own integration_s",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"ranging_comparison.common_configuration.optical_accumulation_s": {
"definition": "the optical leg's photon accumulation time; equal to accumulation_time_s by construction",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"ranging_comparison.common_configuration.range_km": {
"definition": "the one-way range BOTH legs were evaluated at - the scenario's own range_km",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"ranging_comparison.common_configuration.rf_equivalent_averaging_s": {
"definition": "1/(2*B_L), the equivalent averaging time of a single-sided loop noise bandwidth. The ratio is quoted only when this equals optical_accumulation_s, and refused otherwise",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "s"
},
"ranging_comparison.optical_advantage_db": {
"definition": "the same ratio in decibels, 20*log10(sigma_rf/sigma_optical); positive means optical is tighter. null when the comparison is refused",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"ranging_comparison.optical_leg.detected_photons_one_way": {
"definition": "photon_rate_hz * integration_s: the ONE-WAY detected photon count, without the two-way return-path geometric loss that optical_link.detected_photons carries. An expectation, so not an integer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"ranging_comparison.optical_leg.pulse_rms_s": {
"definition": "RMS signal-pulse width, the scenario's pulse_rms_ps in seconds",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"ranging_comparison.optical_leg.sigma_range_m": {
"definition": "the optical leg of the ratio: 1 sigma ONE-WAY ranging precision c*pulse_rms/sqrt(N_one_way), the photon-limited CRLB at the common configuration. NOT optical_link.optical_ranging_sigma_m, which is the two-way headline - two_way_penalty_factor is the exact bridge",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"ranging_comparison.optical_leg.sigma_time_s": {
"definition": "the same bound as a time of arrival, pulse_rms/sqrt(N_one_way); sigma_range_m = c * sigma_time_s exactly",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "s"
},
"ranging_comparison.optical_over_rf": {
"definition": "THE LIKE-FOR-LIKE RATIO: optical_leg.sigma_range_m / rf_leg.sigma_range_m, both at the one common configuration emitted in this same object. Below 1 means optical is the tighter modality. null when the comparison is refused - read refusal_reason",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"ranging_comparison.released_rf_position_sigma_m": {
"definition": "the scenario's CHOSEN RF 1 sigma input optical_link.rf_position_sigma_m, carried only so the refusal beside it can name the number it declines to divide by - see ratio_against_chosen_rf_sigma_refused",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"ranging_comparison.released_two_way_optical_sigma_m": {
"definition": "the released headline optical_link.optical_ranging_sigma_m, carried here so the one-way comparison leg reconciles with it exactly rather than looking like a second, disagreeing optical number",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"ranging_comparison.rf_leg.chip_rate_hz": {
"definition": "the chip rate the jitter was converted to metres through; the same value rf_link_configuration.chip_rate_hz reports",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "chip/s"
},
"ranging_comparison.rf_leg.cn0_dbhz": {
"definition": "the C/N0 the jitter was evaluated at - the same value rf_availability.cn0_dbhz reports, from the same single link budget, not a re-derivation",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"ranging_comparison.rf_leg.code_jitter_chips": {
"definition": "DLL coherent early-late thermal jitter sqrt((B_L*d/(2c))*(1 + 2/((2-d)*T*c))) with c the linear C/N0 (Kaplan & Hegarty eq. 8.90, navsignal::dll_code_jitter_chips)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "chip"
},
"ranging_comparison.rf_leg.dll_bandwidth_hz": {
"definition": "the loop noise bandwidth used; the same value rf_link_configuration.dll_bandwidth_hz reports",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"ranging_comparison.rf_leg.sigma_range_m": {
"definition": "the RF leg of the ratio: 1 sigma ONE-WAY ranging precision from the DLL early-late thermal code-tracking jitter at the same range and the same averaging time. Thermal noise only - no media delay, clock or ambiguity error - exactly as the optical leg excludes its own systematics",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"ranging_comparison.rf_leg.sigma_time_s": {
"definition": "the same bound as a code-phase time error, code_jitter_chips / chip_rate_hz; sigma_range_m = c * sigma_time_s exactly",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"ranging_comparison.rf_over_optical": {
"definition": "the reciprocal: the factor by which the optical leg beats the RF leg at this configuration. null when the comparison is refused",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"ranging_comparison.two_way_penalty_factor": {
"definition": "released_two_way_optical_sigma_m / optical_leg.sigma_range_m: exactly 1 when the scenario runs one-way, and the full two-way penalty (the 0.5 range-from-round-trip factor over the square root of the return-path geometric loss) otherwise",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rf_availability.availability": {
"definition": "THE RF AVAILABILITY FIGURE: A_rf = I_closure * I_track, so it takes only the values 0 and 1. It is margin- and tracking-limited and DETERMINISTIC, unlike the weather-limited probability in optical_availability - see rf_availability.differs_from_optical before quoting the two together",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rf_availability.closure_indicator": {
"definition": "I_closure: 1 when the Eb/N0 margin is non-negative, 0 otherwise. An indicator, not a probability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rf_availability.closure_range_km": {
"definition": "range_km * 10^(link_margin_db/20): the range at which the Eb/N0 margin reaches zero. Exact, because the free-space loss is the only range-dependent term in the link equation",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "km"
},
"rf_availability.cn0_dbhz": {
"definition": "carrier-to-noise density EIRP - FSL - other losses + G/T - k on the one-way RF leg; the single C/N0 BOTH the tracking indicator and the ranging comparison's RF leg are evaluated at",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"rf_availability.cn0_margin_db": {
"definition": "C/N0 - tracking_threshold_dbhz; the loop holds lock when this is >= 0, which is the I_track factor of the availability rule",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"rf_availability.eb_n0_db": {
"definition": "energy-per-bit to noise density, C/N0 - 10*log10(data_rate_bps)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"rf_availability.factors[].value": {
"definition": "the value of this factor of the A_rf product - 0 or 1; the row's own `source`, `provenance` and `condition` fields carry where it came from",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rf_availability.fsl_db": {
"definition": "free-space path loss 20*log10(4*pi*R*f/c) on the one-way RF leg at rf_link_configuration.carrier_hz and the scenario's range_km",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dB"
},
"rf_availability.link_margin_db": {
"definition": "Eb/N0 - required_eb_n0_db; the link closes when this is >= 0, which is the I_closure factor of the availability rule",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"rf_availability.max_range_km": {
"definition": "the smaller of closure_range_km and tracking_range_km - the range beyond which A_rf becomes 0; binding_constraint names which one it is",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"rf_availability.precision_grade_with_rf_availability": {
"definition": "A*[optical meets grade] + (1-A)*A_rf*[RF meets grade]: the precision-grade factor with the RF fallback's own availability applied. The released joint_fom.precision_grade assumes the RF fallback is always there (A_rf = 1) and is NOT changed by this figure; the two agree exactly whenever A_rf = 1",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rf_availability.range_utilisation": {
"definition": "range_km / max_range_km: below 1 the link is inside both constraints, and the reciprocal is how much further it would still reach. The continuous figure to quote beside the 0/1 availability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rf_availability.tracking_indicator": {
"definition": "I_track: 1 when jamming::lock_status on this C/N0 is LOCKED or DEGRADED, 0 when it is LOST. An indicator, not a probability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rf_availability.tracking_range_km": {
"definition": "range_km * 10^(cn0_margin_db/20): the range at which C/N0 reaches the tracking threshold, by the same exact inversion",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "km"
},
"rf_link_configuration.carrier_hz": {
"definition": "the downlink band centre the free-space loss was evaluated at, selected by rf_band from the CCSDS-401 / DSN-810-005 deep-space allocations (S 2.295 GHz, X 8.420 GHz, Ka 32.0 GHz)",
"evidence_tier": "validated",
"provenance": "spec",
"unit": "Hz"
},
"rf_link_configuration.chip_rate_hz": {
"definition": "spreading-code chip rate the code jitter is converted to metres through (default 1.023e6, the GPS C/A reference rate this crate already carries as jamming::CA_CHIP_RATE_HZ)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "chip/s"
},
"rf_link_configuration.correlator_spacing_chips": {
"definition": "early-late correlator spacing d (default 0.5, the half-chip correlator the DLL thermal bound is conventionally quoted at)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "chip"
},
"rf_link_configuration.data_rate_bps": {
"definition": "RF information bit rate the Eb/N0 is formed at (default 1e6); it moves Eb/N0 and the closure margin, and does not touch C/N0 or the ranging leg",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "bit/s"
},
"rf_link_configuration.degraded_margin_db": {
"definition": "extra margin above the tracking threshold below which the loop is reported DEGRADED rather than LOCKED (default 6 dB, jamming::DEFAULT_DEGRADED_MARGIN_DB)",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dB"
},
"rf_link_configuration.dll_bandwidth_hz": {
"definition": "DLL single-sided loop noise bandwidth. Derived as 1/(2*integration_s) so the RF leg's equivalent averaging time is exactly the optical leg's accumulation time, unless the caller supplies rf_dll_bandwidth_hz - dll_bandwidth_source says which, and an override that breaks the match makes the ranging ratio refuse",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"rf_link_configuration.eirp_dbw": {
"definition": "RF transmit effective isotropic radiated power (default 26 dBW, the lunar augmented-forward-signal EIRP this crate's lunar RF work already uses): a representative terminal allocation, not a datasheet",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dBW"
},
"rf_link_configuration.g_over_t_db": {
"definition": "RF receive figure of merit G/T (default 53 dB/K, the DSN 34 m beam-waveguide X-band figure the link-budget kind defaults to): a representative station allocation",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dB/K"
},
"rf_link_configuration.other_losses_db": {
"definition": "lumped pointing / polarisation / atmosphere / implementation loss on the RF leg (default 3 dB): a modelled budget line, not a measurement",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dB"
},
"rf_link_configuration.predetection_integration_s": {
"definition": "coherent predetection integration time in the DLL squaring-loss term: the scenario's own integration_s, the same accumulation time the optical photon count uses",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"rf_link_configuration.range_km": {
"definition": "the one-way range the RF budget was evaluated at: the scenario's own range_km, so the RF leg cannot sit at a different range from the optical one",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"rf_link_configuration.required_eb_n0_db": {
"definition": "the Eb/N0 the RF margin is taken over (default 4.5 dB)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB"
},
"rf_link_configuration.tracking_threshold_dbhz": {
"definition": "C/N0 below which the tracking loop is taken to have lost lock (default 25 dB-Hz, jamming::DEFAULT_TRACKING_THRESHOLD_DBHZ): a modelled receiver allocation",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dB-Hz"
}
},
"fields_described": 171,
"fields_total": 171,
"fields_without_units": [],
"label": "Heterogeneous optical + RF PNT joint availability / precision / integrity figure of merit (P5). VALIDATED closed form: the photon-limited ranging CRLB (σ_τ/√N) and diffraction footprint (λ/D·range), the χ² cross-modality protection-level quantile, the N-station independent-union availability (1 − Π(1−a_i)), the optical↔RF handoff mean-continuity (bit-for-bit no-jump) invariant and NEES χ² gate, and the joint-FoM independent product. MODELLED: the optical loss allocations, the RF/optical 1σ magnitudes, the cloud-climatology inputs and spatial correlation, the FoM correlation, and the integrity-risk budget P_HMI are representative inputs. Not a certified availability/integrity product.",
"source": "defaults"
},
"hybrid-ukf": {
"complete": true,
"fields": {
"clock_q_rw": {
"definition": "random-walk-FM clock frequency PSD, q_rw = 3*b^2 for the dimensionless +1/2-slope Allan level b at tau = 1 s; the fractional-frequency process increment is q_rw*dt, dimensionless",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/s"
},
"clock_q_wf": {
"definition": "white-FM clock phase PSD from the q-parameter engine, q_wf = sigma_y(1 s)^2; the clock-phase process increment is q_wf*dt, a variance in s^2",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s^2/s"
},
"coast.aided_pos_rms_m": {
"definition": "ensemble mean, over the pooled seeds, of the three-axis position error magnitude at the last GNSS-aided epoch of the run — the converged accuracy the coast starts from; the ensemble statistic is an arithmetic mean of per-run magnitudes, not a root-mean-square",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"coast.coast_duration_s": {
"definition": "total GNSS-denied time, the sum of (t1 - t0) over every non-nominal window of the input timeline — the window at whose end coast_end_pos_rms_m is read",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"coast.coast_end_pos_rms_m": {
"definition": "ensemble mean, over the same seeds, of the three-axis position error magnitude at the last GNSS-denied epoch, i.e. at the end of the coast; an arithmetic mean of per-run magnitudes, not a root-mean-square",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"consistency.nees_chi2_lower_95": {
"definition": "lower 95% acceptance bound on the NEES mean, chi2_inv(0.025, n_x*runs)/runs on run-based degrees of freedom",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"consistency.nees_chi2_upper_95": {
"definition": "upper 95% acceptance bound on the NEES mean, chi2_inv(0.975, n_x*runs)/runs on run-based degrees of freedom",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"consistency.nees_dof": {
"definition": "the observable-subset state dimension the NEES is assessed over (position 3 + velocity 3 + clock 2 = 8), the chi-square(n_x) target the NEES mean is compared against",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"consistency.nees_mean": {
"definition": "mean Normalised Estimation Error Squared, e^T P^-1 e over the observable state subset (position, velocity, two-state clock) read at the converged GNSS-aided epoch and averaged over the seeds: the estimation-error consistency statistic of the filter, dimensionless because it is a quadratic form in its own covariance. A self-consistency measure, not an accuracy measure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"consistency.nis_chi2_lower_95": {
"definition": "lower 95% acceptance bound on the NIS mean, chi2_inv(0.025, m*seeds)/seeds on run-based degrees of freedom; dimensionless because the NIS it bounds is",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"consistency.nis_chi2_upper_95": {
"definition": "upper 95% acceptance bound on the NIS mean, chi2_inv(0.975, m*seeds)/seeds on run-based degrees of freedom",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"consistency.nis_dof": {
"definition": "per-update measurement dimension m = 2*n_sat (pseudorange plus range-rate for each of the six fixed satellites), the chi-square(m) target the NIS mean is compared against",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"consistency.nis_mean": {
"definition": "mean Normalised Innovation Squared, nu^T S^-1 nu, pooled over every GNSS update of every seed: the innovation-whiteness consistency statistic of the 17-state filter, dimensionless because it is a quadratic form in its own innovation covariance. A self-consistency measure, not an accuracy measure",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"consistency.seeds": {
"definition": "Monte-Carlo seeds the consistency oracle pooled over, the scenario's consistency_seeds floored at 1",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"effective_q_va": {
"definition": "white-acceleration (velocity-random-walk) PSD the filter's velocity states are driven with, as q_va*dt per step; derived from cold-atom interferometer physics when the scenario carries an [accel.cai] block, otherwise the supplied accel.q_va",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "(m/s^2)^2/Hz"
},
"seed": {
"definition": "master RNG seed; each Monte-Carlo run's seed is this plus a fixed odd-constant stride, so the whole ensemble is reproducible",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
}
},
"fields_described": 16,
"fields_total": 16,
"fields_without_units": [],
"label": null,
"source": "scenarios/hybrid-ukf.toml"
},
"impairment-eval": {
"complete": true,
"fields": {
"auc": {
"definition": "threshold-free ROC area under the curve of the scored detector over the in-distribution corpus, from the Mann-Whitney U statistic: the probability a random impaired case scores above a random nominal one (ties count half), so a pure number in [0, 1]",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"corpus.n_cases": {
"definition": "cases scored from the in-distribution corpus: n_per_class times the number of impairment classes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"corpus.n_per_class": {
"definition": "cases generated per impairment class; the corpus is class-balanced by construction",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"distribution_shift.auc_in": {
"definition": "the detector's ROC area on the in-distribution (nominal-severity) corpus",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"distribution_shift.auc_out": {
"definition": "the detector's ROC area on the out-of-distribution corpus, the same corpus regenerated with impairment severities scaled by shift_severity_scale",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"distribution_shift.optimism_gap": {
"definition": "auc_in - auc_out: how much the in-distribution area over-states the shifted-regime performance; a difference of two dimensionless areas",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"distribution_shift.shift_severity_scale": {
"definition": "dimensionless multiplier applied to every impairment severity when generating the out-of-distribution corpus; below 1 makes the impairments subtler than the tuning regime",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"operating_point.accuracy": {
"definition": "fraction of all cases classified correctly at the operating threshold, (TP + TN) / N",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"operating_point.f1": {
"definition": "harmonic mean of precision and recall, 2 * precision * pd / (precision + pd)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"operating_point.pd": {
"definition": "achieved detection probability at the operating threshold, TP / (TP + FN)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"operating_point.pfa": {
"definition": "achieved false-alarm probability at the operating threshold, FP / (FP + TN); it need not equal target_pfa exactly because the threshold is chosen from a finite score sample",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"operating_point.pmd": {
"definition": "missed-detection probability at the operating threshold, 1 - pd",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"operating_point.precision": {
"definition": "fraction of flagged cases that are genuinely impaired, TP / (TP + FP)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"per_class_pd[].pd": {
"definition": "fraction of that impaired class's cases flagged at the operating threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"roc_points": {
"definition": "number of points on the computed ROC curve, one per distinct operating threshold the corpus's scores produce",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"target_pfa": {
"definition": "target false-alarm probability the detector's operating threshold is set at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
}
},
"fields_described": 16,
"fields_total": 16,
"fields_without_units": [],
"label": "MODELLED — synthetic parameter-grounded corpus (never field/IQ); operating characteristics only, no good/bad verdict",
"source": "defaults"
},
"inertial": {
"complete": true,
"fields": {
"classical.fom.availability": {
"definition": "fraction of all samples in the run whose absolute position error is within threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.drift_slope_m_per_s": {
"definition": "least-squares slope of the absolute position error against time over the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"classical.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.pos_p95_m": {
"definition": "95th percentile (nearest-rank) of the absolute position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.fom.pos_rms_m": {
"definition": "root mean square of the position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.series[].error_m": {
"definition": "single-axis (1-DOF) dead-reckoning position error at t; zero while GNSS is nominal, where the fix re-aligns the model",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"classical.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.spec.params.bias": {
"definition": "residual (post-GNSS-calibration) accelerometer bias — the sensor's published bias stability",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"classical.spec.params.gyro_bias": {
"definition": "residual gyro bias; the tilt error it accumulates couples gravity into a g*theta specific-force error",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"classical.spec.params.q_aa": {
"definition": "acceleration-random-walk (rate-random-walk) PSD: the accelerometer bias gains variance q_aa*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/s"
},
"classical.spec.params.q_arw": {
"definition": "angular-random-walk PSD: the attitude (tilt) error gains variance q_arw*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(rad/s)^2/Hz"
},
"classical.spec.params.q_va": {
"definition": "white acceleration noise PSD driving velocity random walk (velocity gains variance q_va*dt per step); derived from the cold-atom-interferometer physics instead of echoed when the sensor carries a `cai` block",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/Hz"
},
"quantum.fom.availability": {
"definition": "fraction of all samples in the run whose absolute position error is within threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.drift_slope_m_per_s": {
"definition": "least-squares slope of the absolute position error against time over the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"quantum.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.pos_p95_m": {
"definition": "95th percentile (nearest-rank) of the absolute position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.fom.pos_rms_m": {
"definition": "root mean square of the position error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.series[].error_m": {
"definition": "single-axis (1-DOF) dead-reckoning position error at t; zero while GNSS is nominal, where the fix re-aligns the model",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"quantum.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.spec.params.bias": {
"definition": "residual (post-GNSS-calibration) accelerometer bias — the sensor's published bias stability",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"quantum.spec.params.gyro_bias": {
"definition": "residual gyro bias; the tilt error it accumulates couples gravity into a g*theta specific-force error",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad/s"
},
"quantum.spec.params.q_aa": {
"definition": "acceleration-random-walk (rate-random-walk) PSD: the accelerometer bias gains variance q_aa*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/s"
},
"quantum.spec.params.q_arw": {
"definition": "angular-random-walk PSD: the attitude (tilt) error gains variance q_arw*dt per step",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(rad/s)^2/Hz"
},
"quantum.spec.params.q_va": {
"definition": "white acceleration noise PSD driving velocity random walk (velocity gains variance q_va*dt per step); derived from the cold-atom-interferometer physics instead of echoed when the sensor carries a `cai` block",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s^2)^2/Hz"
},
"seed": {
"definition": "RNG seed of the quantum realisation; the classical realisation runs at seed + 0x9e3779b97f4a7c15",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"threshold_m": {
"definition": "position spec: a sample whose absolute dead-reckoning position error is at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
}
},
"fields_described": 26,
"fields_total": 26,
"fields_without_units": [],
"label": null,
"source": "scenarios/imu-deadreckoning.toml"
},
"ins-trn-coast": {
"complete": true,
"fields": {
"combination_sensitivity[].crossings[].coast_s": {
"declared_as": "combination_sensitivity.crossings.coast_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"combination_sensitivity[].crossings[].threshold_m": {
"declared_as": "combination_sensitivity.crossings.threshold_m",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"contribution_crossings[].coefficient_si": {
"declared_as": "contribution_crossings.coefficient_si",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s^exponent"
},
"contribution_crossings[].crossings[].bisection_s": {
"declared_as": "contribution_crossings.crossings.bisection_s",
"definition": "the engine's bisection on the same monomial",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"contribution_crossings[].crossings[].closed_form_s": {
"declared_as": "contribution_crossings.crossings.closed_form_s",
"definition": "exact algebraic inversion of that contribution's monomial",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "s"
},
"contribution_crossings[].crossings[].rel_diff": {
"declared_as": "contribution_crossings.crossings.rel_diff",
"definition": "|bisection - closed form| / closed form; the agreement of the two routes to the same crossing",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"contribution_crossings[].crossings[].threshold_m": {
"declared_as": "contribution_crossings.crossings.threshold_m",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"contribution_crossings[].exponent": {
"declared_as": "contribution_crossings.exponent",
"definition": "the power of coast duration this contribution grows with",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
},
"contributions[].coefficient_si": {
"declared_as": "contributions.coefficient_si",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s^exponent"
},
"contributions[].exponent": {
"declared_as": "contributions.exponent",
"definition": "the power of coast duration this contribution grows with",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
},
"crossings[].breakdown[].error_m": {
"declared_as": "crossings.breakdown.error_m",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"crossings[].breakdown[].exponent": {
"declared_as": "crossings.breakdown.exponent",
"definition": "the power of coast duration that contribution grows with, repeated on the breakdown row",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
},
"crossings[].breakdown[].fraction_of_linear_sum": {
"declared_as": "crossings.breakdown.fraction_of_linear_sum",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"crossings[].coast_s": {
"declared_as": "crossings.coast_s",
"definition": "bisection on the combined model; null with a status when the model never reaches the threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"crossings[].dominant_contribution_error_m": {
"declared_as": "crossings.dominant_contribution_error_m",
"definition": "the error the single largest contribution had accumulated at the crossing; `dominant_contribution` names which one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"crossings[].error_at_coast_m": {
"declared_as": "crossings.error_at_coast_m",
"definition": "the model re-evaluated at the located crossing; a residual check on the bisection",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"crossings[].implied_mean_drift_rate_m_per_s": {
"declared_as": "crossings.implied_mean_drift_rate_m_per_s",
"definition": "threshold / crossing duration; the quantity a duty-cycle study sweeps",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"crossings[].threshold_m": {
"declared_as": "crossings.threshold_m",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"crossings[].travelled_distance_m": {
"declared_as": "crossings.travelled_distance_m",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"grade_table[].accel_bias_ug": {
"declared_as": "grade_table.accel_bias_ug",
"definition": "the representative accelerometer-bias coefficient of that IMU grade band, in the units a datasheet quotes; a class figure, not a measured unit",
"evidence_tier": "validated",
"provenance": "spec",
"unit": "ug"
},
"grade_table[].crossings[].coast_s": {
"declared_as": "grade_table.crossings.coast_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"grade_table[].crossings[].implied_mean_drift_rate_m_per_s": {
"declared_as": "grade_table.crossings.implied_mean_drift_rate_m_per_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"grade_table[].crossings[].threshold_m": {
"declared_as": "grade_table.crossings.threshold_m",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"grade_table[].gyro_bias_deg_per_hr": {
"declared_as": "grade_table.gyro_bias_deg_per_hr",
"definition": "the representative gyro-bias coefficient of that IMU grade band; a class figure, not a measured unit",
"evidence_tier": "validated",
"provenance": "spec",
"unit": "deg/hr"
},
"imu.accel_bias_m_s2": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s^2"
},
"imu.accel_bias_ug": {
"definition": "1 ug = 9.80665e-6 m/s^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ug"
},
"imu.accel_scale_factor_ppm": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ppm"
},
"imu.accel_vrw_m_s_per_sqrt_hr": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "(m/s)/sqrt(hr)"
},
"imu.accel_vrw_m_s_per_sqrt_s": {
"definition": "square of this is the white acceleration PSD q_va",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "(m/s)/sqrt(s)"
},
"imu.gyro_arw_deg_per_sqrt_hr": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg/sqrt(hr)"
},
"imu.gyro_arw_rad_per_sqrt_s": {
"definition": "square of this is the white angular-rate PSD q_arw",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad/sqrt(s)"
},
"imu.gyro_bias_deg_per_hr": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg/hr"
},
"imu.gyro_bias_rad_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad/s"
},
"motion.ref_accel_m_s2": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s^2"
},
"motion.speed_m_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s"
},
"swept_drift_band.hi_m_per_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s"
},
"swept_drift_band.lo_m_per_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s"
},
"swept_drift_band.rows[].band_exit_s": {
"declared_as": "swept_drift_band.rows.band_exit_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"swept_drift_band.rows[].rate_at_bracket_hi_m_per_s": {
"declared_as": "swept_drift_band.rows.rate_at_bracket_hi_m_per_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"swept_drift_band.rows[].rate_at_bracket_lo_m_per_s": {
"declared_as": "swept_drift_band.rows.rate_at_bracket_lo_m_per_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"trn.fix_interval_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"trn.fix_residual_m": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"trn.interval_errors_m[]": {
"declared_as": "trn.interval_errors_m",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"trn.intervals_evaluated": {
"definition": "0 in fix_mode none, where the single reported error is the free-inertial value at the mission duration",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"trn.max_interval_scan": {
"definition": "the fixed cap on how many inter-fix intervals are evaluated, and the divisor of the bisection bracket's lower end",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "count"
},
"trn.mission_duration_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"trn.peak_error_m": {
"definition": "maximum over every evaluated inter-fix interval, scanned rather than assumed to be the last",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"trn.thresholds[].threshold_m": {
"declared_as": "trn.thresholds.threshold_m",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
}
},
"fields_described": 48,
"fields_total": 48,
"fields_without_units": [],
"label": "MODELLED INS/TRN coasting error budget. The per-contribution growth laws (bias t^2, gyro-bias tilt t^3, velocity random walk t^1.5, angle random walk t^2.5, scale factor x travelled distance) are exact for this model and cross-checked against the engine's own stochastic dead-reckoner and IMU error model; the IMU grade coefficients are representative CLASS figures (Groves 2013 Table 4.1 bands), not a datasheet for a part, and the TRN fix residual is a documented input. The crossings are located by bisection on the model, never by manuscript arithmetic. Not certified for operational navigation.",
"source": "defaults"
},
"integrity": {
"complete": true,
"fields": {
"al_h_m": {
"definition": "horizontal alert limit the horizontal protection level is judged against, echoed from the scenario",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"al_v_m": {
"definition": "vertical alert limit the vertical protection level is judged against, echoed from the scenario",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"epochs[].hpl_m": {
"definition": "horizontal (east-north) protection level: the largest horizontal slope times pbias times sigma_uere_m; null without redundancy",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].n_visible": {
"definition": "satellites above the elevation mask at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"epochs[].t_s": {
"definition": "epoch time since the start of the run: the grid index times time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"epochs[].vpl_m": {
"definition": "vertical (up) protection level, formed the same way from the largest vertical slope; null without redundancy",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"samples_available": {
"definition": "sampled epochs at which a protected fix existed and both protection levels were at or below their alert limits",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"samples_total": {
"definition": "epochs sampled on the time grid, one per step over the configured duration",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"stanford.alert_limit_m": {
"definition": "the alert limit dividing the Stanford diagram's regions; this diagram is the vertical one, so it is al_v_m",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"stanford.points[].error_m": {
"definition": "the diagram's x-axis: the absolute actual vertical position error from one seeded no-fault range-error draw mapped through the geometry",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"stanford.points[].pl_m": {
"definition": "the diagram's y-axis: the vertical protection level at the same epoch, the value error_m is classified against",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 11,
"fields_total": 11,
"fields_without_units": [],
"label": null,
"source": "scenarios/integrity-raim.toml"
},
"jamming": {
"complete": true,
"fields": {
"epochs[].sats[].cn0_effective_dbhz": {
"definition": "carrier-to-noise-density ratio under the interference, from the anti-jam equation with the despreading processing gain",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"epochs[].sats[].cn0_nominal_dbhz": {
"definition": "un-jammed carrier-to-noise-density ratio: received signal power plus receive-antenna gain minus the thermal noise density",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"epochs[].sats[].el_deg": {
"definition": "satellite elevation above the receiver's local horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"epochs[].sats[].js_db": {
"definition": "jammer-to-signal power ratio at the receiver antenna output for this satellite's link; negative infinity (null) with no jammer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"epochs[].sats[].prn": {
"definition": "zero-based index of the satellite within the configured constellation, carried as its pseudo-random-noise code number",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"epochs[].t": {
"definition": "epoch time since the start of the run: the grid index times time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"epochs[].tracking": {
"definition": "visible satellites whose effective C/N0 stays at or above the tracking-loss threshold — locked or degraded, but not lost",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"epochs[].visible": {
"definition": "satellites above the elevation mask at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.availability_nominal": {
"definition": "fraction of epochs at which at least four satellites are geometrically visible — the clean-sky ceiling for this geometry",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fom.availability_under_jamming": {
"definition": "fraction of epochs at which at least four satellites are still tracking under the jammer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fom.mean_js_db": {
"definition": "mean jammer-to-signal power ratio over every visible-satellite sample; not-a-number (so null once serialised) with no jammer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"fom.min_tracking": {
"definition": "fewest satellites still tracking at any epoch of the run",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"seed": {
"definition": "scenario random seed, echoed back; the interference chain is deterministic and draws no random numbers",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
}
},
"fields_described": 13,
"fields_total": 13,
"fields_without_units": [],
"label": null,
"source": "scenarios/jamming-demo.toml"
},
"launch-window": {
"complete": true,
"fields": {
"altitude_km": {
"definition": "target circular-orbit geometric altitude above the equatorial radius",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"circular_velocity_m_s": {
"definition": "sqrt(mu_Earth / (R_eq + altitude))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m/s"
},
"daily_opportunities": {
"definition": "ascending plus descending node passes per day: 2 in general, 1 when the target inclination equals the site latitude, 0 when unreachable",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"launch_azimuth_deg.ascending": {
"definition": "clockwise from north, from sin(Az) = cos(i)/cos(lat); the whole object is null when the inclination is unreachable directly",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"launch_azimuth_deg.descending": {
"definition": "the descending-pass mirror, 180 deg - ascending",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"min_inclination_deg": {
"definition": "|site latitude| — the lowest inclination a direct launch reaches",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"site_lat_deg": {
"definition": "launch-site geodetic latitude",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"site_rotation_speed_m_s": {
"definition": "omega_Earth * R_eq * cos(lat): the eastward speed a posigrade launch starts with",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m/s"
},
"target_inclination_deg": {
"definition": "target orbital inclination",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
}
},
"fields_described": 9,
"fields_total": 9,
"fields_without_units": [],
"label": "MODELLED — two-body spherical-Earth launch geometry; azimuth is the geometric sin(Az)=cos(i)/cos(lat) relation (no rotating-Earth velocity-triangle correction, no ascent/drag-loss model)",
"source": "defaults"
},
"link-budget": {
"complete": true,
"fields": {
"cn0_dbhz": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"data_rate_bps": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "bit/s"
},
"eb_n0_db": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"free_space_loss_db": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"link_constants.boltzmann_dbw_per_k_per_hz": {
"definition": "10*log10 of the SI 2019 fixed Boltzmann constant",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "dBW/K/Hz"
},
"link_constants.carrier_frequency_hz": {
"definition": "DSN downlink band centre for the selected band",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"link_constants.eirp_dbw": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dBW"
},
"link_constants.g_over_t_db": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB/K"
},
"link_constants.link_constant_dbw": {
"definition": "eirp_dbw - other_losses_db - required_eb_n0_db; the only combination of the three that required_g_over_t_db depends on",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBW"
},
"link_constants.other_losses_db": {
"definition": "lumped pointing + polarisation + atmosphere + implementation; this engine does not resolve the split, and no bandwidth or system noise temperature enters the equation at all",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB"
},
"margin_db": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"range_km": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"required_eb_n0_db": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB"
},
"required_g_over_t_db": {
"definition": "the G/T at which margin_db is zero",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB/K"
}
},
"fields_described": 14,
"fields_total": 14,
"fields_without_units": [],
"label": "One-way link budget over the CCSDS 401 / DSN 810-005 link equation (EIRP − FSPL − L_other + G/T − k); a deterministic engineering calculation from the supplied inputs, NOT a calibrated terminal datasheet",
"source": "defaults"
},
"lunar-attack-surface": {
"complete": true,
"fields": {
"afs_received_dbw": {
"definition": "AFS signal power received by the surface user: satellite EIRP plus user antenna gain minus the free-space path loss at the slant range and carrier",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dBW"
},
"deficit_band_hi_db": {
"definition": "largest deficit found over that same sweep",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"deficit_band_lo_db": {
"definition": "smallest deficit found over the reference-level x EIRP x slant-range sensitivity sweep",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"deficit_db": {
"definition": "how far the AFS received power sits below the terrestrial GPS reference level: gps_reference_dbw - afs_received_dbw",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dB"
},
"deficit_factor_rounded": {
"definition": "the same linear power ratio with the deficit first truncated to a whole dB, 10^(trunc(nominal_deficit_db)/10) — the ~32x figure",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"deficit_factor_unrounded": {
"definition": "the nominal deficit expressed as a linear power ratio at full precision, 10^(nominal_deficit_db/10) — the ~36x figure",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"footprint_boresight_gain_dbi": {
"definition": "boresight gain of the orbital transmit aperture, 10*log10(efficiency * (pi * D / lambda)^2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dBi"
},
"footprint_captured_fraction": {
"definition": "fraction of the visible lunar disk, out to the limb and area-weighted by sin(central angle), on which the orbital transmitter's J/S meets the capture threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"footprint_limb_capture_tx_power_dbw": {
"definition": "transmit power at which the baseline operating point would capture the limb: p_tx + (capture threshold - limb J/S), exact because J/S moves dB for dB with transmit power",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dBW"
},
"footprint_limb_js_db": {
"definition": "jammer-to-signal ratio the orbital transmitter delivers at the limb at the baseline operating point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"footprint_limb_margin_db": {
"definition": "footprint_limb_js_db minus the capture threshold; negative means the limb falls short by that many dB",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"footprint_sweep.altitude_m_values[]": {
"definition": "the transmitter-altitude samples above the mean lunar surface the grid was evaluated at",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"footprint_sweep.axes[].start": {
"definition": "first sample of a swept axis; both axes of this sweep are lengths in metres (transmitter altitude, then transmit-dish diameter)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"footprint_sweep.axes[].steps": {
"definition": "number of samples taken along that axis",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"footprint_sweep.axes[].stop": {
"definition": "last sample of that axis; likewise a length in metres for both axes of this sweep",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"footprint_sweep.capture_threshold_db": {
"definition": "the jammer-to-signal ratio at which a spoofer is taken to capture a surface victim (3 dB), held fixed across the grid; a stated criterion, not a measurement",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "dB"
},
"footprint_sweep.diameter_m_values[]": {
"definition": "the transmit-dish diameter samples the grid was evaluated at",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"footprint_sweep.freq_hz": {
"definition": "carrier frequency held fixed across the grid",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "Hz"
},
"footprint_sweep.hpbw_deg_values[]": {
"definition": "the half-power beamwidth each diameter sample implies at the carrier",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"footprint_sweep.limb_threshold.best_altitude_m": {
"definition": "transmitter altitude of that best grid point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"footprint_sweep.limb_threshold.best_diameter_m": {
"definition": "transmit-dish diameter of that best grid point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"footprint_sweep.limb_threshold.best_hpbw_deg": {
"definition": "half-power beamwidth at that best grid point",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"footprint_sweep.limb_threshold.best_limb_capture_tx_power_dbw": {
"definition": "transmit power at which that best grid point would capture the limb",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBW"
},
"footprint_sweep.limb_threshold.best_limb_js_db": {
"definition": "highest limb jammer-to-signal ratio found at any sampled point of the grid",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"footprint_sweep.limb_threshold.best_limb_shortfall_db": {
"definition": "how far that best point sits below the capture threshold; positive while the limb is never captured on the grid",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"footprint_sweep.p_tx_dbw": {
"definition": "transmit power fed to the antenna, held fixed across the grid",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dBW"
},
"footprint_sweep.points[].altitude_m": {
"definition": "transmitter altitude above the mean lunar surface at this grid row",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"footprint_sweep.points[].boresight_gain_dbi": {
"definition": "boresight gain of the aperture at this diameter, 10*log10(efficiency * (pi * D / lambda)^2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dBi"
},
"footprint_sweep.points[].captured_fraction": {
"definition": "area-weighted fraction of the visible disk captured at this operating point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"footprint_sweep.points[].diameter_m": {
"definition": "transmit-dish diameter at this grid row",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"footprint_sweep.points[].horizon_central_angle_rad": {
"definition": "central angle at the Moon's centre from the nadir point to the limb at this altitude, acos(R / (R + h))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "rad"
},
"footprint_sweep.points[].hpbw_deg": {
"definition": "that same half-power beamwidth in degrees",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "deg"
},
"footprint_sweep.points[].hpbw_rad": {
"definition": "half-power beamwidth this diameter implies at the carrier, approximately 1.02 * lambda / D",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "rad"
},
"footprint_sweep.points[].limb_capture_tx_power_dbw": {
"definition": "transmit power at which this operating point would capture the limb: p_tx + (capture threshold - limb J/S)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dBW"
},
"footprint_sweep.points[].limb_js_db": {
"definition": "jammer-to-signal ratio delivered at the limb at this operating point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"footprint_sweep.points[].limb_margin_db": {
"definition": "limb_js_db minus the capture threshold at this operating point; negative means the limb falls short by that many dB",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"footprint_sweep.shape[]": {
"definition": "samples per axis, in axis order; their product is the number of rows in points",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"nma_auth_latency_s": {
"definition": "TESLA key-disclosure delay before a received message can be authenticated: subframe duration times the disclosure lag (30 s x 1)",
"evidence_tier": "validated",
"provenance": "spec",
"unit": "s"
},
"nma_overhead_bps": {
"definition": "OSNMA authentication overhead, (MACK + HKROOT bits) / subframe = 600 bit / 30 s, reproducing the published Galileo OSNMA Signal-in-Space ICD field sizing",
"evidence_tier": "validated",
"provenance": "spec",
"unit": "bit/s"
},
"nma_overhead_fraction": {
"definition": "that overhead as a fraction of the nav-data rate it is measured against; the 50 bit/s AFS denominator is a Modelled representative rate, so the fraction is dimensionless but its magnitude rests on that assumption",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"orbital_horizon_los_m": {
"definition": "the orbital transmitter's own straight-line tangent distance to the lunar horizon, sqrt(2Rh + h^2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"spoof_lock_time_s": {
"definition": "time from the start of the pull-in run at which the tracking loop first settled, and stayed, within tolerance of the signal it ended on; null when it never settled",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"standoff_curve[].jam_tx_power_dbw": {
"definition": "transmit power needed at this standoff to reach the denial jammer-to-signal ratio (default 30 dB) at the victim",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dBW"
},
"standoff_curve[].spoof_tx_power_dbw": {
"definition": "transmit power an attacker needs at this standoff to reach the spoof-capture jammer-to-signal ratio (default 3 dB) at the victim; the inverse of the J/S link equation",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "dBW"
},
"standoff_curve[].spoof_tx_power_w": {
"definition": "spoof_tx_power_dbw expressed in watts, 10^(dBW/10)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "W"
},
"standoff_curve[].standoff_m": {
"definition": "attacker-to-victim distance this row sizes the required transmit power at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"surface_transmitter_reach_m": {
"definition": "line-of-sight reach of the raised surface transmitter to the user antenna over an airless sphere: sqrt(2Rh + h^2) summed over the two heights at the lunar radius",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
}
},
"fields_described": 47,
"fields_total": 47,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-beacon": {
"complete": true,
"fields": {
"beacon_pdop_improvement": {
"definition": "PDOP without beacons divided by PDOP with them; greater than one is an improvement",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"constellation_pdop_improvement": {
"definition": "PDOP of the baseline constellation divided by that of the larger one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"elevation_mask_deg": {
"definition": "satellite elevation mask applied",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"epoch_s": {
"definition": "seconds after the constellation epoch at which the snapshot is taken",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"rows[].accuracy.horizontal_m": {
"definition": "HDOP x sigma_URE; inherits the modelled ranging budget",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"rows[].accuracy.pos_3d_m": {
"definition": "PDOP x sigma_URE; inherits the modelled ranging budget",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"rows[].accuracy.time_m": {
"definition": "TDOP x sigma_URE - the time solution expressed as a range, not a duration",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"rows[].accuracy.vertical_m": {
"definition": "VDOP x sigma_URE; inherits the modelled ranging budget",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"rows[].dop.gdop": {
"definition": "geometric dilution of precision",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rows[].dop.hdop": {
"definition": "horizontal dilution of precision",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rows[].dop.pdop": {
"definition": "position dilution of precision",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rows[].dop.tdop": {
"definition": "time dilution of precision",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rows[].dop.vdop": {
"definition": "vertical dilution of precision",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"rows[].n_visible_beacons": {
"definition": "beacons clearing the airless two-height horizon; routinely FEWER than the number configured, which is why the visible count is reported rather than the configured one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"rows[].n_visible_sats": {
"definition": "satellites above the elevation mask at this epoch, not the configured total",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"sigma_ure_m": {
"definition": "root-sum-square of the clock-synchronisation, multipath and survey terms, every one a modelled allocation rather than a measured link",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "m"
}
},
"fields_described": 16,
"fields_total": 16,
"fields_without_units": [],
"label": null,
"source": "scenarios/lunar-beacon.toml"
},
"lunar-differential-pnt": {
"complete": true,
"fields": {
"baseline_curve[][]": {
"declared_as": "baseline_curve",
"definition": "noise-free corrected-error sweep, each row the pair (baseline_km, corrected user 3-D position error in m)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "(km, m)"
},
"baseline_km": {
"definition": "separation of the user from the reference station; the spatial-decorrelation lever arm",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"clock_err_ns": {
"definition": "the injected per-satellite clock-error magnitude clock_err_m read in the timing domain, clock_err_m / c * 1e9",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"correction_link.ageing_clock_time_error_s": {
"definition": "sigma_y(tau)*tau for the AGEING_CLOCK power law in crate::clock_specs",
"evidence_tier": "validated",
"provenance": "spec",
"unit": "s"
},
"correction_link.ageing_orbit_rate_m_per_s": {
"definition": "from the crate's own propagator; no assumed orbit-error rate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"correction_link.latency_clock_position_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.latency_clock_range_sigma_m": {
"definition": null,
"evidence_tier": "validated",
"provenance": "spec",
"unit": "m"
},
"correction_link.latency_curve[][]": {
"declared_as": "correction_link.latency_curve",
"definition": "latency_s vs total_position_sigma_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "(s, m)"
},
"correction_link.latency_orbit_position_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.latency_orbit_range_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.latency_position_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.latency_range_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.latency_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"correction_link.pdop": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"correction_link.protection_level_with_link_m": {
"definition": "DO-229E HPL at the augmented sigma; reported beside, never in place of, protection_level_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.quantization_bits": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "bit"
},
"correction_link.quantization_full_scale_m": {
"definition": "half-range orbit_err_m + clock_err_m; an exact bound on |-e.u + c|",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"correction_link.quantization_position_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.quantization_range_sigma_m": {
"definition": "step/sqrt(12)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"correction_link.quantization_step_m": {
"definition": "2*full_scale / 2^bits",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"correction_link.residual_sigma_m": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"correction_link.survey_position_sigma_m": {
"definition": "independent of baseline",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.survey_range_sigma_m": {
"definition": "per-satellite 1-sigma; CORRELATED across satellites",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"correction_link.survey_sigma_m": {
"definition": "reference-station 3-D coordinate 1-sigma, isotropic",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"correction_link.survey_sigma_per_axis_m": {
"definition": "survey_sigma_m / sqrt(3)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"correction_link.survey_transfer": {
"definition": "3-D position error per metre of per-axis station error, RSS over the three MCMF axes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"correction_link.total_position_sigma_m": {
"definition": "RSS of the three position-domain terms; the correlation-respecting total",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.total_range_sigma_m": {
"definition": "RSS of the three range-domain terms; approximate, because the survey term is correlated across satellites",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.total_with_residual_range_sigma_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"correction_link.vpl_with_link_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"n_sats": {
"definition": "satellites in the illustrative LCNS-class constellation placed at t_s, from the n_sats input",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"noise_m": {
"definition": "per-receiver measurement-noise 1-sigma added to the corrected error; 0 gives the exact noise-free residual",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"protection_level_m": {
"definition": "DO-229E HORIZONTAL protection level at the user, computed at the differential residual sigma",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reduction_factor": {
"definition": "user_error_uncorrected_m / user_error_corrected_m; infinite when the corrected error underflows 1e-12 m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"residual_sigma_m": {
"definition": "differential residual 1-sigma the protection levels scale with",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"user_error_corrected_m": {
"definition": "user 3-D position error after the differential corrections, including the noise_m per-receiver noise draw",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"user_error_uncorrected_m": {
"definition": "user 3-D position error from the broadcast ephemeris alone, no differential corrections applied",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vpl_m": {
"definition": "DO-229E vertical protection level at the same residual sigma",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 38,
"fields_total": 38,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-frame-campaign": {
"complete": true,
"fields": {
"beacon_information.defect": {
"definition": "unobservable directions in the beacon block: dimension minus rank",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"beacon_information.dimension": {
"definition": "3 per beacon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"beacon_information.eigenvalues_per_m2[]": {
"declared_as": "beacon_information.eigenvalues_per_m2",
"definition": "ascending",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/m^2"
},
"beacon_information.max_interbeacon_correlation": {
"definition": "largest absolute correlation coefficient between coordinates of different beacons",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"beacon_information.offblock_fraction": {
"definition": "largest inter-beacon entry over the largest diagonal entry; exactly 0 when no observation touches two beacons",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"beacon_information.rank": {
"definition": "eigenvalues above rel_tol * lambda_max",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"campaign.arc_hours": {
"definition": "total span of the observing schedule, first epoch to last",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "hr"
},
"campaign.beacons[].alt_m": {
"declared_as": "campaign.beacons.alt_m",
"definition": "height of the beacon above the mean lunar radius",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"campaign.beacons[].epochs_with_no_station_above_its_horizon": {
"declared_as": "campaign.beacons.epochs_with_no_station_above_its_horizon",
"definition": "epochs at which no Earth station cleared this beacon's own local horizon mask",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"campaign.beacons[].lat_deg": {
"declared_as": "campaign.beacons.lat_deg",
"definition": "sourced from the crate's named-site table unless the TOML overrides it; coordinate_provenance says which",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"campaign.beacons[].lon_deg": {
"declared_as": "campaign.beacons.lon_deg",
"definition": "selenographic longitude of the beacon, east positive",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"campaign.beacons[].observations": {
"declared_as": "campaign.beacons.observations",
"definition": "surviving (baseline, epoch) pairs that observe this beacon after both masks",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"campaign.beacons[].sigma_3d_m": {
"declared_as": "campaign.beacons.sigma_3d_m",
"definition": "root-sum-square of the three axis sigmas",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"campaign.beacons[].sigma_x_m": {
"declared_as": "campaign.beacons.sigma_x_m",
"definition": "MCMF x standard deviation from the campaign's beacon covariance; null under a rank deficiency",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"campaign.beacons[].sigma_y_m": {
"declared_as": "campaign.beacons.sigma_y_m",
"definition": "formal 1-sigma of this beacon's Moon-body-fixed y coordinate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"campaign.beacons[].sigma_z_m": {
"declared_as": "campaign.beacons.sigma_z_m",
"definition": "formal 1-sigma of this beacon's Moon-body-fixed z coordinate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"campaign.delay_sigma_range_equivalent_m": {
"definition": "c * delay_sigma_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"campaign.delay_sigma_s": {
"definition": "illustrative; the same magnitude lunar_vlbi_fim uses, not a measured system spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"campaign.earth_elevation_mask_deg": {
"definition": "the mask an Earth station must clear above the BEACON's local horizon",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"campaign.elevation_mask_deg": {
"definition": "minimum elevation the Moon must clear at an Earth station, applied at BOTH ends of a baseline",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"campaign.n_baselines": {
"definition": "n(n-1)/2 unordered station pairs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"campaign.n_beacons": {
"definition": "lunar-surface beacons whose coordinates the campaign solves for",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"campaign.n_epochs": {
"definition": "floor(arc_hours / step) + 1",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"campaign.n_observations": {
"definition": "(beacon, baseline, epoch) triples clearing both visibility tests",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"campaign.n_observations_unmasked": {
"definition": "what the campaign would hold with no visibility test",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"campaign.n_stations": {
"definition": "Earth stations in the observing network",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"campaign.stations[].alt_m": {
"declared_as": "campaign.stations.alt_m",
"definition": "height of the Earth station above the reference ellipsoid",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"campaign.stations[].lat_deg": {
"declared_as": "campaign.stations.lat_deg",
"definition": "geodetic latitude of the Earth station",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"campaign.stations[].lon_deg": {
"declared_as": "campaign.stations.lon_deg",
"definition": "geodetic longitude of the Earth station, east positive",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"campaign.step_min": {
"definition": "spacing between consecutive epochs of the schedule",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "min"
},
"campaign.sub_earth_direction_mcmf_unit[]": {
"declared_as": "campaign.sub_earth_direction_mcmf_unit",
"definition": "the arc-mean Moon-body-fixed unit vector toward Earth; the direction the delay observable determines WORST, because the beacon partial is a difference of near-parallel unit vectors and so lies in the plane of the sky",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"campaign.sub_earth_direction_sweep_deg": {
"definition": "largest angle the Moon-body-fixed direction to Earth makes with its first-epoch value across the arc; the libration that separates the line-of-sight beacon coordinate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"campaign.weight_per_observation_s_minus2": {
"definition": "1 / delay_sigma_s^2",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/s^2"
},
"comparison.assumed_isotropic.coordinate_sigma_m": {
"definition": "the per-coordinate sigma of the error model being replaced",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"comparison.assumed_isotropic.rank": {
"definition": "rank of the design under the isotropic substitution; it shares the geometry, so it should match",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"comparison.assumed_isotropic.rotation_sigma_norm_rad": {
"definition": "the SAME Helmert propagation run with one isotropic per-coordinate sigma in place of the campaign covariance, so only the error model differs",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "rad"
},
"comparison.assumed_isotropic.scale_sigma_ppb": {
"definition": "scale sigma under that same isotropic substitution",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "ppb"
},
"comparison.assumed_isotropic.translation_sigma_norm_m": {
"definition": "the same propagation with an isotropic coordinate covariance - the assumption this scenario replaces, computed here only to be compared against",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"comparison.independence_discarded.rank": {
"definition": "rank with the inter-beacon correlations zeroed, which changes weights but not geometry",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"comparison.independence_discarded.translation_sigma_norm_m": {
"definition": "the campaign covariance with inter-beacon correlations zeroed and re-propagated",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"comparison.injected_transform_scenario.n_points": {
"definition": "the default lunar-frame-realisation network size",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"comparison.injected_transform_scenario.rms_residual_m": {
"definition": "RMS fit residual of that scenario's own Helmert solve",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"comparison.injected_transform_scenario.rotation_error_norm_rad": {
"definition": "the lunar-frame-realisation scenario's RECOVERY ERROR against its injected transform — an error, not a formal sigma, and not comparable term for term",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "rad"
},
"comparison.injected_transform_scenario.scale_error_ppb": {
"definition": "that scenario's scale recovery error against its injected value",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "ppb"
},
"comparison.injected_transform_scenario.translation_error_norm_m": {
"definition": "that scenario's single-realisation recovery error against its own injected transform, run here rather than quoted",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"comparison.ratio_assumed_isotropic_over_campaign_rotation": {
"definition": "below 1 means the campaign determines the rotation BETTER than the isotropic assumption claims",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.ratio_assumed_isotropic_over_campaign_scale": {
"definition": "isotropic scale sigma divided by the campaign's: how much the error model alone moves the answer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.ratio_assumed_isotropic_over_campaign_translation": {
"definition": "the like-for-like ratio: same design, same network, only the error model changes",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.ratio_independence_discarded_over_campaign_translation": {
"definition": "exactly 1 when the campaign's beacon covariance is already block-diagonal",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"comparison.ratio_injected_over_campaign_rotation": {
"definition": "same construction caveat as the translation ratio",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.ratio_injected_over_campaign_scale": {
"definition": "the injected-transform scenario's scale error is signed; its MAGNITUDE is used here",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.ratio_injected_over_campaign_translation": {
"definition": "the injected-transform figure over the campaign-derived one; a ratio between two different constructions, which is the finding and not a validation",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"datum_accuracy.rotation_sigma_norm_rad": {
"definition": "Euclidean norm of the three per-axis rotation sigmas",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad"
},
"datum_accuracy.rotation_sigma_urad[]": {
"declared_as": "datum_accuracy.rotation_sigma_urad",
"definition": "per-axis formal 1-sigma of the three rotation parameters",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "urad"
},
"datum_accuracy.scale_sigma_ppb": {
"definition": "formal 1-sigma of the single scale parameter",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ppb"
},
"datum_accuracy.translation_sigma_m[]": {
"declared_as": "datum_accuracy.translation_sigma_m",
"definition": "per-axis; null under a rank deficiency",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"datum_accuracy.translation_sigma_norm_m": {
"definition": "THE DELIVERABLE: the root-sum-square translation standard deviation of the seven-parameter datum, derived from the campaign's beacon covariance",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"helmert.condition_number": {
"definition": "lambda_max / lambda_min over the observable subspace",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.defect": {
"definition": "7 - rank; the similarity directions the campaign does not constrain",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"helmert.eigenvalues[]": {
"declared_as": "helmert.eigenvalues",
"definition": "ascending",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(balanced unit)^2"
},
"helmert.information_matrix[][]": {
"declared_as": "helmert.information_matrix",
"definition": "A^T M_b A in the balanced units of parameter_units: 1/m^2, 1/urad^2, 1/ppm^2 on the diagonal and the mixed products off it",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(balanced unit)^2"
},
"helmert.parameters[].constrained_fraction": {
"declared_as": "helmert.parameters.constrained_fraction",
"definition": "1 - the squared projection of that parameter direction onto the null space; 1 means fully constrained, 0 means not constrained at all",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.parameters[].sigma": {
"declared_as": "helmert.parameters.sigma",
"definition": "the standard deviation of that Helmert parameter in the unit its row names; null when the datum is rank-deficient",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "see parameters.unit"
},
"helmert.parameters[].weakest_direction_share": {
"declared_as": "helmert.parameters.weakest_direction_share",
"definition": "the squared component of this parameter in weakest_direction - which parameters live in the poorly determined combination",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.rank": {
"definition": "how many of the seven similarity parameters this campaign constrains",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"helmert.rel_tol": {
"definition": "singular-value ratio below which a direction is counted unobservable",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"helmert.weakest_direction.direction[]": {
"declared_as": "helmert.weakest_direction.direction",
"definition": "that eigenvector in parameter_order, sign-normalised so its largest-magnitude component is positive; a FULL-RANK datum still has one, and seven sigmas alone would hide it",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.weakest_direction.eigenvalue": {
"definition": "the smallest eigenvalue of A^T M_b A; the information the campaign puts into the direction it determines least well",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(balanced unit)^2"
},
"station_datum.n_station_columns": {
"definition": "3 x (n_stations - 1) when the stations are estimated, else 0",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
}
},
"fields_described": 69,
"fields_total": 69,
"fields_without_units": [],
"label": "MODELLED campaign-driven lunar frame datum. The seven-parameter Helmert covariance is propagated from a beacon-coordinate information matrix accumulated from the engine's own lunar-VLBI delay partials over an explicit schedule of beacons, baselines and epochs; NO similarity transform is injected and nothing is recovered from a planted answer. The beacon catalogue is the crate's sourced named-site table, but the CAMPAIGN is simulated: the Earth-station network is an illustrative set of round public complex coordinates (NOT surveyed ITRF positions), the per-observation delay sigma is a stated illustrative input, and no observation here was ever made. Individual delay observations are weighted 1/sigma_tau^2 and treated as INDEPENDENT of one another, which a correlated troposphere and clock are not. The Moon-centre ephemeris, the station clocks, the troposphere and the Earth-orientation parameters are held FIXED; a real campaign estimating them alongside the coordinates would report LARGER sigmas. Cramer-Rao bound for the stated reduced parameter set, not a predicted campaign result. Not a geodetic product.",
"source": "defaults"
},
"lunar-frame-realisation": {
"complete": true,
"fields": {
"icrf_tie_rad[]": {
"definition": "per-axis small angle of the realised rotation re-expressed about the ICRF axes, M = B R_r B^T with B the IAU-2015 body-to-ICRF rotation; a change of the frame the rotation is expressed in, not an independent pole estimate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad"
},
"injected.rotation_rad[]": {
"definition": "per-axis small rotation angle of the injected truth datum, the `rot_x_urad` / `rot_y_urad` / `rot_z_urad` inputs times 1e-6",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "rad"
},
"injected.scale_ppb": {
"definition": "scale offset of the injected truth datum in parts per billion; the transform applies s = scale_ppb * 1e-9",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ppb"
},
"injected.translation_m[]": {
"definition": "per-axis translation of the injected truth datum, echoed from the `tx_m` / `ty_m` / `tz_m` inputs",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"n_points": {
"definition": "points in the synthetic selenographic network the fit ran over, the `n_points` input floored at 3",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"recovered.rotation_rad[]": {
"definition": "per-axis small rotation angle recovered by the Helmert fit",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad"
},
"recovered.scale_ppb": {
"definition": "scale offset recovered by the Helmert fit, in parts per billion",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ppb"
},
"recovered.translation_m[]": {
"definition": "per-axis translation recovered by the weighted-least-squares 7-parameter Helmert fit",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"rms_residual_m": {
"definition": "post-fit RMS coordinate residual of the Helmert fit over the point network",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"rot_err_norm_rad": {
"definition": "Euclidean norm of the three-axis rotation recovery error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad"
},
"rot_err_rad[]": {
"definition": "per-axis rotation recovery error, recovered minus injected",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad"
},
"scale_err_ppb": {
"definition": "scale recovery error, recovered minus injected, in parts per billion",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ppb"
},
"trans_err_m[]": {
"definition": "per-axis translation recovery error, recovered minus injected",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"trans_err_norm_m": {
"definition": "Euclidean norm of the three-axis translation recovery error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 14,
"fields_total": 14,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-integrity": {
"complete": true,
"fields": {
"alert_limit_m": {
"definition": "horizontal alert limit the epoch's HPL is compared against to call the surface user available; the LunaNet CONOPS ~50 m by default",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"max_hpl_m": {
"definition": "largest horizontal protection level over the sampled pass",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"min_hpl_m": {
"definition": "smallest horizontal protection level over the sampled pass",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"pass[].hpl_m": {
"definition": "lunar ARAIM horizontal protection level at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"pass[].t_s": {
"definition": "seconds since the start of the pass at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"pass[].vpl_m": {
"definition": "lunar ARAIM vertical protection level at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"samples_available": {
"definition": "sampled epochs whose HPL is at or below the alert limit",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"samples_total": {
"definition": "epochs sampled over the pass at `step_s` out to `duration_s`",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"sigma_ure_m": {
"definition": "signal-in-space ranging accuracy (1-sigma user range error) fed to the ARAIM engine; defaults to the LNIS-class [`LUNAR_SIGMA_URE_M`]",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
}
},
"fields_described": 9,
"fields_total": 9,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-interop-export": {
"complete": true,
"fields": {
"conformance.data_lines": {
"definition": "number of well-formed OEM data lines found by the conformance check: an epoch token followed by 6 or 9 numeric components",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"kif_bytes": {
"definition": "byte length of the serialised KIF envelope JSON wrapping the emitted artefacts",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "octet"
},
"n_states": {
"definition": "number of ephemeris states exported, the configured value floored at 1",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"oem_line_count": {
"definition": "total number of text lines in the emitted CCSDS OEM message, headers and data lines together",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
}
},
"fields_described": 4,
"fields_total": 4,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-jamming": {
"complete": true,
"fields": {
"carrier_hz": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "Hz"
},
"chip_rate_hz": {
"definition": "sets the despreading processing gain in the anti-jam equation",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "chip/s"
},
"degraded_margin_db": {
"definition": "band above the loss threshold reported as DEGRADED rather than LOCKED",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB"
},
"elev_mask_deg": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"epochs[].t_s": {
"declared_as": "epochs.t_s",
"definition": "seconds from scenario epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"epochs[].tracking": {
"declared_as": "epochs.tracking",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"epochs[].visible": {
"declared_as": "epochs.visible",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.availability_nominal": {
"definition": "fraction of epochs with >= 4 satellites visible",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction"
},
"fom.availability_under_jamming": {
"definition": "fraction of epochs with >= 4 satellites tracking",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "fraction"
},
"fom.min_tracking": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.n_links": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.n_lost": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"links[].az_deg": {
"declared_as": "links.az_deg",
"definition": "clockwise from local north, [0, 360)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"links[].cn0_effective_dbhz": {
"declared_as": "links.cn0_effective_dbhz",
"definition": "anti-jam equation, Kaplan & Hegarty section 9.4",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"links[].cn0_nominal_dbhz": {
"declared_as": "links.cn0_nominal_dbhz",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"links[].el_deg": {
"declared_as": "links.el_deg",
"definition": "above the user's local horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"links[].range_km": {
"declared_as": "links.range_km",
"definition": "slant range user to satellite",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"links[].rx_gain_toward_sat_dbi": {
"declared_as": "links.rx_gain_toward_sat_dbi",
"definition": "user_boresight_gain_dbi + jamming::rx_antenna_gain_db(el)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBi"
},
"links[].sat": {
"declared_as": "links.sat",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "index"
},
"links[].signal_rx_dbw": {
"declared_as": "links.signal_rx_dbw",
"definition": "link-budget leg 2 at the antenna output",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBW"
},
"links[].signal_rx_isotropic_dbw": {
"declared_as": "links.signal_rx_isotropic_dbw",
"definition": "link-budget leg 2, isotropic: sat_eirp_dbw - FSPL(range, carrier)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBW"
},
"links[].t_s": {
"declared_as": "links.t_s",
"definition": "seconds from scenario epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"n_epochs": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_sats": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"sat_eirp_dbw": {
"definition": "representative lunar AFS EIRP, not a qualified payload figure",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dBW"
},
"site_lat_deg": {
"definition": "selenographic latitude of the surface user",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"site_lon_deg": {
"definition": "selenographic east longitude of the surface user",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"temp_k": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "K"
},
"tracking_threshold_dbhz": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB-Hz"
},
"user_boresight_gain_dbi": {
"definition": "J/S is invariant to this: it enters both legs and cancels",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dBi"
}
},
"fields_described": 30,
"fields_total": 30,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-joint-od-clock": {
"complete": true,
"fields": {
"n_earth": {
"definition": "Earth ground stations in the simulated network",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"n_sat": {
"definition": "constellation satellites in the simulated network",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"observability.condition": {
"definition": "condition number lambda_max / lambda_min of the Fisher information over the observable subspace, for the configured network with VLBI",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"observability.defect": {
"definition": "datum-defect dimension n - rank, the number of unobservable directions; 0 means fully observable, for the configured network with VLBI",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"observability.e_opt": {
"definition": "E-optimality lambda_min of the Fisher information matrix, the worst-observed direction; the state is stored in units of 1e6 m (clocks as range-equivalent metres) so the information is an inverse squared stored unit, for the configured network with VLBI",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(10^6 m)^2"
},
"observability.n_params": {
"definition": "state dimension n of the Fisher information matrix, for the configured network with VLBI",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"observability.rank": {
"definition": "numerical rank of the Fisher information matrix, for the configured network with VLBI",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"observability.station_pos_crlb_m": {
"definition": "Cramer-Rao lower bound on the station 3-D absolute-position error (1-sigma RSS of the three position variances, rescaled to metres); null when the station position lies inside the datum defect, for the configured network with VLBI",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"observability.station_pos_unobservable_axes": {
"definition": "effective number of the station's three position axes captured by the datum defect, sum over null-space basis vectors of the squared projection onto those axes; a generally fractional number in [0, 3] where 0 is fully observable, for the configured network with VLBI",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"observability_without_vlbi.condition": {
"definition": "condition number lambda_max / lambda_min of the Fisher information over the observable subspace, for the same network with the VLBI legs removed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"observability_without_vlbi.defect": {
"definition": "datum-defect dimension n - rank, the number of unobservable directions; 0 means fully observable, for the same network with the VLBI legs removed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"observability_without_vlbi.e_opt": {
"definition": "E-optimality lambda_min of the Fisher information matrix, the worst-observed direction; the state is stored in units of 1e6 m (clocks as range-equivalent metres) so the information is an inverse squared stored unit, for the same network with the VLBI legs removed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(10^6 m)^2"
},
"observability_without_vlbi.n_params": {
"definition": "state dimension n of the Fisher information matrix, for the same network with the VLBI legs removed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"observability_without_vlbi.rank": {
"definition": "numerical rank of the Fisher information matrix, for the same network with the VLBI legs removed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"observability_without_vlbi.station_pos_unobservable_axes": {
"definition": "effective number of the station's three position axes captured by the datum defect, sum over null-space basis vectors of the squared projection onto those axes; a generally fractional number in [0, 3] where 0 is fully observable, for the same network with the VLBI legs removed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"station_observability_improvement_factor": {
"definition": "without_vlbi.station_pos_err_m / with_vlbi.station_pos_err_m - how many times the Earth-baseline VLBI legs sharpen the station 3-D recovery",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"with_vlbi.iterations": {
"definition": "Gauss-Newton iterations actually run before the step norm fell below tolerance (or the cap was hit), with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"with_vlbi.n_obs": {
"definition": "observables in the batch, with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"with_vlbi.n_params": {
"definition": "estimated parameters: 3 station position + 3 per satellite + one clock per asset, with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"with_vlbi.rms_residual": {
"definition": "unweighted RMS of the post-fit residual z - h(x) over the whole observation vector, which mixes the VLBI delays (s) with the clock-sync pseudo-observation and every range (m, clocks carried as range-equivalent metres); a diagnostic, not a single-unit quantity, with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"with_vlbi.sat_clock_rms_s": {
"definition": "RMS over the constellation of the per-satellite clock-offset error, in seconds after the range-equivalent-metre state is divided by c, with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"with_vlbi.sat_pos_rms_m": {
"definition": "RMS over the constellation of the per-satellite 3-D position error (recovered minus true), with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"with_vlbi.station_clock_err_s": {
"definition": "magnitude of the station clock-offset error; the clock state is estimated in range-equivalent metres and divided by c on the way out, with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"with_vlbi.station_pos_err_m": {
"definition": "magnitude of the recovered-minus-true lunar station 3-D position error, with the Earth-baseline VLBI legs included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"without_vlbi.iterations": {
"definition": "Gauss-Newton iterations actually run before the step norm fell below tolerance (or the cap was hit), with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"without_vlbi.n_obs": {
"definition": "observables in the batch, with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"without_vlbi.n_params": {
"definition": "estimated parameters: 3 station position + 3 per satellite + one clock per asset, with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"without_vlbi.rms_residual": {
"definition": "unweighted RMS of the post-fit residual z - h(x) over the whole observation vector, which mixes the VLBI delays (s) with the clock-sync pseudo-observation and every range (m, clocks carried as range-equivalent metres); a diagnostic, not a single-unit quantity, with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mixed - see note"
},
"without_vlbi.sat_clock_rms_s": {
"definition": "RMS over the constellation of the per-satellite clock-offset error, in seconds after the range-equivalent-metre state is divided by c, with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"without_vlbi.sat_pos_rms_m": {
"definition": "RMS over the constellation of the per-satellite 3-D position error (recovered minus true), with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"without_vlbi.station_clock_err_s": {
"definition": "magnitude of the station clock-offset error; the clock state is estimated in range-equivalent metres and divided by c on the way out, with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"without_vlbi.station_pos_err_m": {
"definition": "magnitude of the recovered-minus-true lunar station 3-D position error, with lunar-local ranging only",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 32,
"fields_total": 32,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-llr-datum": {
"complete": true,
"fields": {
"comparison.ratio_simulated_over_measured_rotation": {
"definition": "same construction caveat as the translation ratio",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.ratio_simulated_over_measured_scale": {
"definition": "same construction caveat as the translation ratio",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.ratio_simulated_over_measured_translation": {
"definition": "simulated over measured; a ratio between two different observables (VLBI delay against laser range) and two different networks, so it is a finding, not a validation",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"comparison.simulated_campaign.rotation_sigma_norm_rad": {
"definition": "that simulated campaign's rotation figure",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "rad"
},
"comparison.simulated_campaign.scale_sigma_ppb": {
"definition": "that simulated campaign's scale figure",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "ppb"
},
"comparison.simulated_campaign.translation_sigma_norm_m": {
"definition": "the lunar-frame-campaign scenario's own figure at its defaults, RUN here rather than transcribed; its station network and delay sigma are illustrative",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"data.dut1_s": {
"definition": "UT1 - UTC applied to the Earth-rotation angle; 0 unless stated, and the omission is inside the reported residual",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"data.first_epoch_jd_utc": {
"definition": "Julian date (UTC) of the earliest normal point used",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "d"
},
"data.last_epoch_jd_utc": {
"definition": "Julian date (UTC) of the latest normal point used",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "d"
},
"data.median_bin_rms_ps": {
"definition": "median over the used points of the archived scatter of the raw ranges about the bin trend, in picoseconds of two-way time of flight",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "ps"
},
"data.median_raw_ranges_per_point": {
"definition": "median number of raw returns compressed into one normal point",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"data.median_sigma_range_mm": {
"definition": "the same median expressed as a one-way range, c * sigma / 2",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "mm"
},
"data.median_sigma_two_way_s": {
"definition": "median of bin_rms / sqrt(n_raw): the per-observation standard error the weights use, straight out of the file",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "s"
},
"data.normal_points_parsed": {
"definition": "normal-point records read out of the committed CRD files",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"data.normal_points_used": {
"definition": "records that joined to both catalogues, carry the ground-transmit epoch convention and state a usable precision",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"data.skipped_epoch_event_not_ground_transmit": {
"definition": "records whose CRD epoch-event code is not 2; the light-time root here is solved from the ground transmit time only",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"data.skipped_no_measured_precision": {
"definition": "records with a zero bin RMS or an empty bin, so the file states no precision to weight by",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"data.skipped_station_not_in_catalogue": {
"definition": "records from a station with no published ITRF2020 position; skipped rather than given a substituted coordinate",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"data.skipped_target_not_in_catalogue": {
"definition": "records whose CRD target name is not one of the five DE430 Table 7 arrays",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"data.span_days": {
"definition": "last epoch minus first epoch; the arc the libration is sampled over",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "d"
},
"data.stations[].ilrs_id": {
"declared_as": "data.stations.ilrs_id",
"definition": "ILRS numeric station identifier exactly as the CRD h2 record states it -- a label that happens to be written as digits, with no unit and no arithmetic meaning",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "id"
},
"data.stations[].itrf_x_m": {
"declared_as": "data.stations.itrf_x_m",
"definition": "ITRF2020 SLR station X at the solution epoch, IERS",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"data.stations[].itrf_y_m": {
"declared_as": "data.stations.itrf_y_m",
"definition": "ITRF2020 SLR station Y at the solution epoch, IERS",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"data.stations[].itrf_z_m": {
"declared_as": "data.stations.itrf_z_m",
"definition": "ITRF2020 SLR station Z at the solution epoch, IERS",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"data.stations[].observations": {
"declared_as": "data.stations.observations",
"definition": "normal points this station contributed after the joins",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"datum_accuracy.rotation_sigma_norm_rad": {
"definition": "Euclidean norm of the three rotation bounds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad"
},
"datum_accuracy.rotation_sigma_urad[]": {
"declared_as": "datum_accuracy.rotation_sigma_urad",
"definition": "per-axis bound on the three small-angle rotation parameters",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "urad"
},
"datum_accuracy.scale_sigma_ppb": {
"definition": "bound on the single scale parameter",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ppb"
},
"datum_accuracy.translation_sigma_m[]": {
"declared_as": "datum_accuracy.translation_sigma_m",
"definition": "per-axis translation bound; null under a rank deficiency",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"datum_accuracy.translation_sigma_norm_m": {
"definition": "THE DELIVERABLE: root-sum-square translation standard deviation of the seven-parameter datum, from a measured schedule and measured weights",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"helmert.condition_number": {
"definition": "lambda_max / lambda_min of A^T M_b A over the observable subspace",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.defect": {
"definition": "7 - rank",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"helmert.eigenvalues[]": {
"declared_as": "helmert.eigenvalues",
"definition": "ascending eigenvalues of A^T M_b A in the balanced units of parameter_order",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(balanced unit)^2"
},
"helmert.information_matrix[][]": {
"declared_as": "helmert.information_matrix",
"definition": "A^T M_b A: 1/m^2, 1/urad^2 and 1/ppm^2 on the diagonal, mixed products off it",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(balanced unit)^2"
},
"helmert.parameters[].constrained_fraction": {
"declared_as": "helmert.parameters.constrained_fraction",
"definition": "1 minus the squared projection of that parameter direction onto the null space",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.parameters[].sigma": {
"declared_as": "helmert.parameters.sigma",
"definition": "standard-deviation bound of that Helmert parameter in the unit its row names; null when the datum is rank-deficient",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "see parameters.unit"
},
"helmert.parameters[].weakest_direction_share": {
"declared_as": "helmert.parameters.weakest_direction_share",
"definition": "squared component of this parameter in the weakest direction",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.rank": {
"definition": "how many of the seven similarity parameters this real campaign constrains",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"helmert.rel_tol": {
"definition": "eigenvalue ratio below which a similarity direction counts as unobservable",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"helmert.weakest_direction.direction[]": {
"declared_as": "helmert.weakest_direction.direction",
"definition": "that eigenvector in parameter_order, sign-normalised so its largest-magnitude component is positive",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"helmert.weakest_direction.eigenvalue": {
"definition": "smallest eigenvalue of A^T M_b A; a full-rank datum still has a weakest direction and seven sigmas alone would hide it",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/(balanced unit)^2"
},
"reflector_information.defect": {
"definition": "dimension minus rank: coordinate directions the campaign does not constrain",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"reflector_information.dimension": {
"definition": "three coordinates per array",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"reflector_information.eigenvalues_per_m2[]": {
"declared_as": "reflector_information.eigenvalues_per_m2",
"definition": "ascending eigenvalues of the joint reflector-coordinate information matrix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/m^2"
},
"reflector_information.offblock_fraction": {
"definition": "largest inter-array entry over the largest diagonal entry; exactly 0 because a range touches one array, which is measured here rather than assumed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"reflector_information.rank": {
"definition": "eigenvalues of the joint information matrix above rel_tol * lambda_max",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"reflectors[].isotropic_sweep_ratio_lower_bound": {
"declared_as": "reflectors.isotropic_sweep_ratio_lower_bound",
"definition": "1 / weighted_rms_sweep in radians: what ratio_across_over_along would be if the sweep were an isotropic disc. The MEASURED ratio is several times larger because a libration sweep is an ellipse, not a disc; principal_transverse_anisotropy is that difference printed",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"reflectors[].libration_sweep_deg": {
"declared_as": "reflectors.libration_sweep_deg",
"definition": "largest angle any used observation's body-fixed direction to its station makes with the arc-mean direction: the libration plus diurnal-parallax sweep the REAL schedule sampled for this array",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"reflectors[].mer_x_m": {
"declared_as": "reflectors.mer_x_m",
"definition": "DE430 Table 7 mean-Earth-frame X of the retroreflector array",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"reflectors[].mer_y_m": {
"declared_as": "reflectors.mer_y_m",
"definition": "DE430 Table 7 mean-Earth-frame Y of the retroreflector array",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"reflectors[].mer_z_m": {
"declared_as": "reflectors.mer_z_m",
"definition": "DE430 Table 7 mean-Earth-frame Z of the retroreflector array",
"evidence_tier": "validated",
"provenance": "published",
"unit": "m"
},
"reflectors[].observations": {
"declared_as": "reflectors.observations",
"definition": "normal points that ranged to this array in the committed slice",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"reflectors[].principal_transverse_anisotropy": {
"declared_as": "reflectors.principal_transverse_anisotropy",
"definition": "largest over middle principal sigma; 1 would mean an isotropic sweep, and the measured value is why the isotropic lower bound is optimistic",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"reflectors[].ratio_across_over_along": {
"declared_as": "reflectors.ratio_across_over_along",
"definition": "how much worse the plane-of-sky coordinates are than the line-of-sight one; set by the libration amplitude over the arc, not by the data volume",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"reflectors[].residual_mean_m": {
"declared_as": "reflectors.residual_mean_m",
"definition": "mean observed-minus-computed one-way range for this array: measurement minus the modelled chain",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "m"
},
"reflectors[].residual_rms_m": {
"declared_as": "reflectors.residual_rms_m",
"definition": "RMS observed-minus-computed one-way range for this array",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "m"
},
"reflectors[].sigma_3d_m": {
"declared_as": "reflectors.sigma_3d_m",
"definition": "root-sum-square of the three axis bounds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_across_line_of_sight_m": {
"declared_as": "reflectors.sigma_across_line_of_sight_m",
"definition": "bound in the plane of the sky, which only the libration constrains",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_along_line_of_sight_m": {
"declared_as": "reflectors.sigma_along_line_of_sight_m",
"definition": "bound along the arc-mean body-fixed direction to the observing station: the direction a range measures directly",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_principal_max_m": {
"declared_as": "reflectors.sigma_principal_max_m",
"definition": "largest principal standard deviation: the plane-of-sky direction this real schedule's libration ellipse sampled least",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_principal_mid_m": {
"declared_as": "reflectors.sigma_principal_mid_m",
"definition": "middle principal standard deviation: the better-sampled of the two plane-of-sky directions",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_principal_min_m": {
"declared_as": "reflectors.sigma_principal_min_m",
"definition": "smallest principal standard deviation of this array's 3x3 covariance block; the line-of-sight direction a range measures directly",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_x_m": {
"declared_as": "reflectors.sigma_x_m",
"definition": "Cramer-Rao bound on the array's body-fixed X from this schedule and these weights; a bound for a reduced parameter set, not an accuracy",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_y_m": {
"declared_as": "reflectors.sigma_y_m",
"definition": "Cramer-Rao bound on the array's body-fixed Y coordinate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].sigma_z_m": {
"declared_as": "reflectors.sigma_z_m",
"definition": "Cramer-Rao bound on the array's body-fixed Z coordinate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"reflectors[].weighted_rms_sweep_deg": {
"declared_as": "reflectors.weighted_rms_sweep_deg",
"definition": "that same sweep weighted by each normal point's own measured 1/sigma^2, which is how the information matrix sees it -- a wide arc observed badly buys little",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"residuals.max_m": {
"definition": "largest observed-minus-computed one-way range",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "m"
},
"residuals.mean_m": {
"definition": "mean observed-minus-computed one-way range over every point used",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "m"
},
"residuals.median_m": {
"definition": "median observed-minus-computed one-way range",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "m"
},
"residuals.min_m": {
"definition": "most negative observed-minus-computed one-way range",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "m"
},
"residuals.n": {
"definition": "residuals in the statistics; equals normal_points_used",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"residuals.rms_m": {
"definition": "RMS observed-minus-computed one-way range: THE MEASURED SIZE of every link this engine still models, dominated by the analytic Moon-centre ephemeris",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "m"
},
"sensitivity.line_of_sight_tilt_deg": {
"definition": "stated bound on the line-of-sight direction error the MODELLED Moon-centre ephemeris can induce; an input, not a measurement -- tests/lunar_llr_real_data.rs measures the worst-epoch value against JPL Horizons and asserts it is below this",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"sensitivity.ratio_tilted_over_nominal_rotation": {
"definition": "the same sensitivity for the rotation norm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"sensitivity.ratio_tilted_over_nominal_scale": {
"definition": "the same sensitivity for the scale parameter",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"sensitivity.ratio_tilted_over_nominal_translation": {
"definition": "THE ANSWER to 'does a kilometre-level range residual invalidate a centimetre-level datum sigma': how far the deliverable moves when the geometry is perturbed by the full stated ephemeris-induced tilt",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"sensitivity.rotation_sigma_norm_rad": {
"definition": "rotation norm under the same tilted geometry",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "rad"
},
"sensitivity.scale_sigma_ppb": {
"definition": "scale sigma under the same tilted geometry",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ppb"
},
"sensitivity.translation_sigma_norm_m": {
"definition": "the whole datum re-solved with every partial tilted by that angle about g x z, sign alternating observation by observation so the perturbation scatters the directions rather than rotating the frame; the line-of-sight direction is the ONLY route by which an ephemeris error reaches a Fisher information matrix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 79,
"fields_total": 79,
"fields_without_units": [],
"label": "Lunar frame datum from a REAL observing campaign. The schedule, the observation count and every observation weight come from archived ILRS lunar laser ranging normal points (measured); the station coordinates come from IERS ITRF2020 and the retroreflector coordinates from JPL DE430 Table 7 (published). The Moon-centre ephemeris, the IAU 2015 WGCCRE body orientation, and the absence of troposphere, tides, station eccentricity, polar motion, UT1-UTC, relativistic delay and station clocks remain MODELLED, and the emitted observed-minus-computed residual is their combined size. The seven-parameter figures are a Cramer-Rao bound for a reduced parameter set on a real schedule, NOT a solved datum, NOT an LLR analysis and NOT a geodetic product.",
"source": "defaults"
},
"lunar-time-budget": {
"complete": true,
"fields": {
"clock_crossovers[].closed_form_rel_diff": {
"declared_as": "clock_crossovers.closed_form_rel_diff",
"definition": null,
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"clock_crossovers[].crossover_tau_s": {
"declared_as": "clock_crossovers.crossover_tau_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"clock_crossovers[].crossover_tau_s_closed_form": {
"declared_as": "clock_crossovers.crossover_tau_s_closed_form",
"definition": null,
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "s"
},
"clock_crossovers[].sigma_y_one_s": {
"declared_as": "clock_crossovers.sigma_y_one_s",
"definition": null,
"evidence_tier": "validated",
"provenance": "spec",
"unit": "1"
},
"clock_crossovers[].x_one_day_s": {
"declared_as": "clock_crossovers.x_one_day_s",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"crossover_tau_s": {
"definition": "the averaging time at which the growing clock term equals the constant frame term; below it the budget is frame-limited, above it clock-limited",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"crossover_x_s": {
"definition": "the common time error at the crossover, x_clock = x_frame",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"frame_term_s": {
"definition": "the constant reference-frame realisation term delta_r / c, from the documented default frame position error (a budget allocation, not a measurement)",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "s"
},
"tau_s[]": {
"definition": "the averaging-time grid every curve below is evaluated on",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"terms[].x_s[]": {
"definition": "the term's time error x_i(tau) at each grid tau; the row's `name` says which of the seven budget terms it is and `grows_with_tau` whether it grows (only the clock term does)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"x_sigma_s[]": {
"definition": "the root-sum-square total x_Sigma(tau) = sqrt(sum of x_i(tau)^2)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
}
},
"fields_described": 11,
"fields_total": 11,
"fields_without_units": [],
"label": "MODELLED end-to-end LTC time-error budget. The τ-slopes are closed-form and analytically checkable (clock τ^{+1/2}/τ^{+1}, floors τ^0, measurement τ^{-1/2}) and the clock rows reproduce the published one-day clock specs; the RF/optical link, frame-realisation, relativistic-residual and ephemeris floor MAGNITUDES are Modelled budget allocations (documented defaults, caller-overridable), not measurements. The contribution is the reproducible clock-vs-frame crossover τ, not a certified per-term number. Not certified for operational timekeeping.",
"source": "defaults"
},
"lunar-time-offset": {
"complete": true,
"fields": {
"band_high": {
"definition": "upper bound of the published lunar-clock-rate band ([`RATE_BAND_HIGH_US_DAY`])",
"evidence_tier": "validated",
"provenance": "published",
"unit": "us/day"
},
"band_low": {
"definition": "lower bound of the published lunar-clock-rate band ([`RATE_BAND_LOW_US_DAY`]), carried so the modelled rate can be compared against it",
"evidence_tier": "validated",
"provenance": "published",
"unit": "us/day"
},
"horizon_days": {
"definition": "interval over which the LTC-TT offset is accumulated",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "day"
},
"kinetic_us_per_day": {
"definition": "second-order-Doppler term -(v.v)/(2 c^2) * 86400 * 1e6, with v the geocentric Moon velocity from a central finite difference of the analytic Moon series at the epoch; small and negative",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "us/day"
},
"offset_at_horizon_us": {
"definition": "accumulated LTC-TT offset at the horizon, secular_rate_us_per_day * horizon_days",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "us"
},
"secular_rate_us_per_day": {
"definition": "total secular LTC-TT rate: microseconds a lunar-surface clock gains on an Earth-geoid (TT) clock per day, the sum of the self-potential and kinetic terms",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "us/day"
},
"self_potential_us_per_day": {
"definition": "gravitational-redshift term ((W0_earth - GM_moon/R_moon) / c^2) * 86400 * 1e6, evaluated from defined constants alone",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "us/day"
},
"tcg_tcl_secular_rate_ns_per_day": {
"definition": "secular TCG-TCL rate (GM_earth/r_EM + v_moon^2/2) / c^2 * 86400 * 1e9, from the mean Earth-Moon distance and mean lunar orbital speed rather than the epoch geometry",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "ns/day"
},
"topographic_spread_ns_per_day": {
"definition": "min-to-max clock-rate spread across the lunar surface, g_moon * delta_h / c^2 * 86400 * 1e9; the magnitude is an assumption through the chosen selenoid-referenced elevation span [`LUNAR_TOPO_ELEVATION_SPAN_M`]",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "ns/day"
}
},
"fields_described": 9,
"fields_total": 9,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-vlbi": {
"complete": true,
"fields": {
"baseline_km": {
"definition": "Earth baseline length |r2 - r1| at the epoch, the two configured stations reduced to geocentric inertial (GCRS) coordinates",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"beacon_range_km": {
"definition": "geocentric range |r_B| of the lunar-surface beacon at the epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"delay_rate_s_per_s": {
"definition": "one-step forward finite difference of the full delay, (delay(t0 + dt) - delay(t0)) / dt; seconds of delay per second of time, hence dimensionless",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s/s"
},
"delay_s": {
"definition": "full VLBI delay at the epoch: the near-field two-range difference (|r2 - r_B| - |r1 - r_B|)/c plus the differenced Shapiro term, with both station clock offsets zero",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"horizon_hours": {
"definition": "length of the observed pass",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "hr"
},
"max_delay_s": {
"definition": "largest full VLBI delay over the sampled horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"min_delay_s": {
"definition": "smallest full VLBI delay over the sampled horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"near_field_correction_us": {
"definition": "wavefront-curvature term at the epoch: the near-field geometric delay minus the far-field plane-wave delay -(B.s_B)/c, in microseconds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "us"
},
"samples": {
"definition": "epochs in `series`, sampled at `step_min` out to `horizon_hours`",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"series[].beacon_range_km": {
"definition": "geocentric beacon range at this sample",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"series[].delay_s": {
"definition": "full VLBI delay at this sample, as `delay_s` at the epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"series[].geometric_delay_s": {
"definition": "geometric (near-field) two-range-difference delay at this sample, (|r2 - r_B| - |r1 - r_B|)/c, without the Shapiro or clock terms",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"series[].near_field_correction_us": {
"definition": "wavefront-curvature correction at this sample, in microseconds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "us"
},
"series[].t_hours": {
"definition": "offset of this sample from the scenario epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "hr"
}
},
"fields_described": 14,
"fields_total": 14,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"lunar-vlbi-fim": {
"complete": true,
"fields": {
"beacon_link.beacon_range_m": {
"definition": "|r_beacon| at the first epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"beacon_link.equipartition_per_coordinate_sigma_m": {
"definition": "the surface-point form of the equipartition link: the station-level value times the lever arm",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"beacon_link.lever_arm_range_over_baseline": {
"definition": "rho / B - the factor separating a station-coordinate budget from a lunar-surface-point one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"beacon_link.longest_baseline_m": {
"definition": "the longest station pair present; the most favourable lever arm, so the ratio built on it can only understate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"datum.held_fixed[]": {
"declared_as": "datum.held_fixed",
"definition": "station indices contributing no column",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"fim.condition_number": {
"definition": "lambda_max / lambda_min over the observable subspace",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fim.defect": {
"definition": "dimension - rank; the unobservable directions",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fim.dimension": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fim.eigenvalues_per_m2[]": {
"declared_as": "fim.eigenvalues_per_m2",
"definition": "ascending",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/m^2"
},
"fim.rank": {
"definition": "eigenvalues above rel_tol * lambda_max",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fim.rel_tol": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"fim.trace_per_m2": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/m^2"
},
"free_network.condition_number": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"free_network.defect": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"free_network.dimension": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"free_network.eigenvalues_per_m2[]": {
"declared_as": "free_network.eigenvalues_per_m2",
"definition": "ascending",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/m^2"
},
"free_network.rank": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"free_network.trace_per_m2": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/m^2"
},
"free_network.unobservable_directions[].direction[]": {
"declared_as": "free_network.unobservable_directions.direction",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"free_network.unobservable_directions[].index": {
"declared_as": "free_network.unobservable_directions.index",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"headline.computed_per_coordinate_sigma_all_parameters_m": {
"definition": "the same average over the whole state; identical to the headline unless the beacon is estimated too, and it is the quantity the AM-HM trace bound applies to",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"headline.computed_per_coordinate_sigma_m": {
"definition": "the deliverable: sqrt of the mean covariance diagonal over the STATION coordinates only; null when the information matrix is rank-deficient",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"headline.equipartition_all_parameters_sigma_m": {
"definition": "the same link with g = p, the full estimated state",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"headline.equipartition_g": {
"definition": "the g of the link being compared against; 3 is one station's three coordinates",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"headline.equipartition_per_coordinate_sigma_m": {
"definition": "c * delay_sigma_s * sqrt(g / n_observations) - the assumption this scenario replaces, computed here only to be compared against",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"headline.isotropic_trace_bound_m": {
"definition": "sqrt(p / trace(M)); the arithmetic-mean/harmonic-mean lower bound this covariance cannot go below",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"headline.observable_subspace_per_coordinate_sigma_m": {
"definition": "the station-coordinate average taken from the pseudo-inverse; equals the computed value at full rank, and is NOT a station sigma under a defect",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"headline.ratio_computed_over_equipartition": {
"definition": "NaN when rank-deficient",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"headline.ratio_computed_over_equipartition_all_parameters": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"headline.ratio_computed_over_trace_bound": {
"definition": ">= 1 by AM-HM; the measured anisotropy of the schedule",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"jacobian.neglected_shapiro_partial_fraction": {
"definition": "measured by finite difference on the first observation; the size of the partial the analytic rows leave out",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"jacobian.state_dimension": {
"definition": "p = 3 x estimated stations, plus 3 when the beacon is estimated",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"schedule.arc_hours": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "hr"
},
"schedule.baselines[].length_km": {
"declared_as": "schedule.baselines.length_km",
"definition": "|r2 - r1| at the first epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"schedule.baselines[].observations": {
"declared_as": "schedule.baselines.observations",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"schedule.beacon_declination_deg": {
"definition": "the beacon's inertial declination at the first epoch; it is what makes the polar station coordinate observable",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"schedule.delay_sigma_range_equivalent_m": {
"definition": "c * delay_sigma_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"schedule.delay_sigma_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"schedule.elevation_mask_deg": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"schedule.epochs[].beacon_range_km": {
"declared_as": "schedule.epochs.beacon_range_km",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"schedule.epochs[].elevation_deg[]": {
"declared_as": "schedule.epochs.elevation_deg",
"definition": "beacon elevation at each station, in schedule order",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"schedule.epochs[].los_itrs_unit[]": {
"declared_as": "schedule.epochs.los_itrs_unit",
"definition": "Earth-fixed unit line of sight to the beacon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"schedule.epochs[].observations": {
"declared_as": "schedule.epochs.observations",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"schedule.epochs[].t_hours": {
"declared_as": "schedule.epochs.t_hours",
"definition": "hours from the schedule start",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "hr"
},
"schedule.independent_baselines_per_epoch": {
"definition": "n-1; the delay closure tau_ik = tau_ij + tau_jk makes the rest linearly dependent",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "count"
},
"schedule.los_itrs_max_sweep_deg": {
"definition": "largest angle any epoch's Earth-fixed line of sight makes with the first",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"schedule.los_itrs_sweep_deg": {
"definition": "angle between the first and last epoch's Earth-fixed line of sight",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"schedule.n_baselines": {
"definition": "n(n-1)/2 unordered station pairs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"schedule.n_epochs": {
"definition": "floor(arc_hours / step) + 1",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"schedule.n_observations": {
"definition": "(baseline, epoch) pairs with BOTH stations above the mask",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"schedule.n_observations_unmasked": {
"definition": "what the schedule would hold with no visibility test",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"schedule.n_stations": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"schedule.stations[].alt_m": {
"declared_as": "schedule.stations.alt_m",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"schedule.stations[].lat_deg": {
"declared_as": "schedule.stations.lat_deg",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"schedule.stations[].lon_deg": {
"declared_as": "schedule.stations.lon_deg",
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"schedule.stations[].sigma_3d_m": {
"declared_as": "schedule.stations.sigma_3d_m",
"definition": "root-sum-square of the three axis sigmas",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"schedule.stations[].sigma_x_m": {
"declared_as": "schedule.stations.sigma_x_m",
"definition": "ITRS x standard deviation from the covariance diagonal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"schedule.stations[].sigma_y_m": {
"declared_as": "schedule.stations.sigma_y_m",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"schedule.stations[].sigma_z_m": {
"declared_as": "schedule.stations.sigma_z_m",
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"schedule.step_min": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "min"
},
"schedule.weight_per_observation_s_minus2": {
"definition": "1 / delay_sigma_s^2",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1/s^2"
},
"station_covariance.matrix_m2[][]": {
"declared_as": "station_covariance.matrix_m2",
"definition": "the inverse information matrix, or its pseudo-inverse under a datum defect",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m^2"
},
"station_covariance.sigma_m[]": {
"declared_as": "station_covariance.sigma_m",
"definition": "square root of the covariance diagonal, in parameter_order",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 63,
"fields_total": 63,
"fields_without_units": [],
"label": "MODELLED lunar-VLBI station-coordinate covariance. The covariance is accumulated from the engine's own analytic delay partials over an explicit schedule of baselines and epochs and inverted; it is NOT converted from a scalar delay precision by an assumed geometry factor. The per-observation delay sigma, the station coordinates, the beacon site and the schedule are inputs. The Moon-centre ephemeris, the station clocks, the troposphere and the Earth-orientation parameters are held FIXED: a real session estimates those alongside the coordinates and the sigmas would rise. Observations are treated as independent, which a correlated troposphere and clock are not. Cramer-Rao bound for the stated reduced parameter set, not a predicted session result. Not a geodetic product.",
"source": "defaults"
},
"mars-pnt": {
"complete": true,
"fields": {
"areostationary_radius_m": {
"definition": "areocentric synchronous radius, cbrt(mu_Mars / omega_Mars^2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"estimation[].clock_freq_sigma": {
"definition": "formal 1-sigma uncertainty of the onboard-clock FRACTIONAL frequency offset at this epoch; dimensionless (s/s)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"estimation[].pos_3sigma_m": {
"definition": "3 * estimation[].pos_sigma_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"estimation[].pos_error_3d_m": {
"definition": "3-D position error of the estimate against the synthetic truth",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"estimation[].pos_sigma_m": {
"definition": "formal 1-sigma position uncertainty, sqrt(trace of the 3x3 position covariance block)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"estimation[].t": {
"definition": "seconds past the arc epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"fom.converged_pos_3sigma_m": {
"definition": "3 * fom.converged_pos_sigma_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.converged_pos_rms_m": {
"definition": "RMS of the 3-D position error against the synthetic truth over the converged back half of the arc",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.converged_pos_sigma_m": {
"definition": "mean formal 1-sigma position uncertainty over the converged back half; a filter covariance bound, not a certified protection level",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.epochs": {
"definition": "estimation epochs on the arc",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.final_clock_freq_sigma": {
"definition": "formal 1-sigma uncertainty of the recovered onboard-clock FRACTIONAL frequency offset at the last epoch; dimensionless (s/s)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fom.initial_pos_error_m": {
"definition": "3-D error of the seeded a-priori position guess, reported so the recovery can be read against where it started",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.mean_relays_in_view": {
"definition": "relays in line of sight of the user, averaged over the arc",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"geometry[].relays_in_view": {
"definition": "relays not occulted by Mars at this epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"geometry[].t": {
"definition": "seconds past the arc epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"n_relays": {
"definition": "relays in the modelled MARCONI relay set (three areostationary plus two inclined), built from published Mars constants",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "count"
}
},
"fields_described": 16,
"fields_total": 16,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"moonlight-service-volume": {
"complete": true,
"fields": {
"alert_limit_m": {
"definition": "horizontal alert limit the protection-level availability is graded against",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"coverage_pct": {
"definition": "percentage of all (grid point, epoch) samples with 4 or more visible satellites AND PDOP below the threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "%"
},
"elev_mask_deg": {
"definition": "elevation above the site's local horizon a satellite must clear to count as visible",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"hpl_max_m": {
"definition": "largest horizontal protection level over those samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"hpl_min_m": {
"definition": "smallest horizontal protection level over the samples that admitted one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"max_sats": {
"definition": "most satellites visible at any sampled point and epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"min_sats": {
"definition": "fewest satellites visible at any sampled point and epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_epochs": {
"definition": "epochs swept, from `horizon_hours` at `step_min`",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_grid_points": {
"definition": "selenographic grid points swept, from the lat/lon min, max and step inputs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_pl_samples": {
"definition": "samples for which the lunar ARAIM engine returned a protection level",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_samples": {
"definition": "(grid point, epoch) samples evaluated, n_grid_points * n_epochs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_sats": {
"definition": "satellites in the illustrative LCNS-class constellation the sweep ran against, as built from the `n_sats` input",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"pdop_max": {
"definition": "largest PDOP over those same samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"pdop_mean": {
"definition": "arithmetic mean PDOP over those same samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"pdop_min": {
"definition": "smallest position dilution of precision over the samples that had a defined PDOP (4 or more visible satellites, non-singular geometry)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"pdop_threshold": {
"definition": "PDOP a sample must be below (together with 4 or more visible satellites) to count as covered",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"pl_availability_pct": {
"definition": "percentage of the protection-level samples whose HPL is at or below the alert limit",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "%"
},
"sigma_ure_m": {
"definition": "signal-in-space ranging accuracy (1-sigma user range error) the protection levels scale linearly with",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"vpl_max_m": {
"definition": "largest vertical protection level over those samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"vpl_min_m": {
"definition": "smallest vertical protection level over those samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 20,
"fields_total": 20,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"oem-interop": {
"complete": true,
"fields": {
"n_segments": {
"definition": "number of ephemeris segments parsed out of the OEM message",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"n_states_total": {
"definition": "number of state vectors parsed across every segment",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"round_trip_max_pos_error_km": {
"definition": "largest absolute per-component position difference between the generated reference ephemeris and the same ephemeris after export and re-import; expected to be zero up to text precision",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "km"
},
"round_trip_max_vel_error_km_s": {
"definition": "largest absolute per-component velocity difference across the same export/re-import round trip; expected to be zero up to text precision",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "km/s"
},
"segments[].n_states": {
"definition": "number of state vectors in this segment",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"segments[].span_s": {
"definition": "elapsed time from this segment's first state epoch to its last, differenced through the Julian date so day rollovers are exact",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"segments[].velocity_consistency_residual_km_s": {
"definition": "largest central-difference residual over the segment's interior epochs between the stated velocities and the numerical derivative of the stated positions; small for a smooth ephemeris",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "km/s"
}
},
"fields_described": 7,
"fields_total": 7,
"fields_without_units": [],
"label": "MODELLED — CCSDS OEM import/round-trip interop bridge (GMAT/Orekit/STK emit OEM); a structural + physical ingest check, NOT an orbit-accuracy validation of the source",
"source": "defaults"
},
"orbit": {
"complete": true,
"fields": {
"classical.adev_curve[].adev": {
"definition": "overlapping Allan deviation sigma_y(tau) of the clock phase — a dimensionless fractional-frequency stability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].ci_hi": {
"definition": "upper end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].ci_lo": {
"definition": "lower end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].edf": {
"definition": "effective degrees of freedom of this point for the power-law noise type identified over the whole record",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.adev_curve[].n_samples": {
"definition": "number of overlapping second differences averaged into this point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"classical.adev_curve[].tau_s": {
"definition": "averaging time of this overlapping-Allan point, m*time.step_s at octave-spaced m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.filter_health.nees_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NEES mean, chi2_0.025(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nees_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NEES mean, chi2_0.975(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nees_mean": {
"definition": "pooled mean normalised estimation error squared; a matched two-state filter gives 2",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"classical.filter_health.nis_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NIS mean, chi2_0.025(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nis_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NIS mean, chi2_0.975(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.filter_health.nis_mean": {
"definition": "pooled mean normalised innovation squared over the consistency ensemble; a matched filter gives 1",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"classical.fom.availability": {
"definition": "fraction of all samples in the run whose absolute timing error is within threshold_ns",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.fom.resilience_slope_ns_per_s": {
"definition": "least-squares slope of the absolute timing error against time over the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns/s"
},
"classical.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / threshold_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.fom.timing_rms_ns": {
"definition": "root mean square of the timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.series[].error_ns": {
"definition": "timing error at t: the true clock phase minus the coasted prediction; zero while GNSS is nominal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.spec.params.q_wf": {
"definition": "white-FM process-noise intensity: the clock phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"classical.spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"eci_track[][]": {
"definition": "one Earth-centred-inertial [x, y, z] component of the propagated user spacecraft at one sampled time; emitted only by the orbit pack, absent from a clock run",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"geometry.best_pdop": {
"definition": "smallest position dilution of precision (PDOP) over the grid: the dimensionless sqrt of the trace of the position block of (H^T H)^-1; null when no sample had a fix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"geometry.best_position_sigma_m": {
"definition": "best_pdop * sigma_uere_m: the 1-sigma 3-D position accuracy at the most favourable geometry; null when no sample had a fix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"geometry.median_pdop": {
"definition": "median position dilution of precision (PDOP) over the samples that had a fix, dimensionless; null when no sample had a fix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"geometry.median_position_sigma_m": {
"definition": "median_pdop * sigma_uere_m: the 1-sigma 3-D position accuracy at the typical geometry; null when no sample had a fix",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"geometry.samples_total": {
"definition": "time-grid samples at which the geometry was evaluated, round(duration_s / step_s) + 1",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"geometry.samples_with_fix": {
"definition": "samples at which at least four satellites cleared the elevation mask with a non-singular geometry, so a position fix exists",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"geometry.sigma_uere_m": {
"definition": "1-sigma user-equivalent range error: the per-satellite pseudorange error budget the dilution of precision is scaled by; the default 1 m is a representative dual-frequency budget line, not a measurement, and the caller may override it",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "m"
},
"quantum.adev_curve[].adev": {
"definition": "overlapping Allan deviation sigma_y(tau) of the clock phase — a dimensionless fractional-frequency stability",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].ci_hi": {
"definition": "upper end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].ci_lo": {
"definition": "lower end of the chi-squared 95% confidence interval on adev at this tau",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].edf": {
"definition": "effective degrees of freedom of this point for the power-law noise type identified over the whole record",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.adev_curve[].n_samples": {
"definition": "number of overlapping second differences averaged into this point",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"quantum.adev_curve[].tau_s": {
"definition": "averaging time of this overlapping-Allan point, m*time.step_s at octave-spaced m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.filter_health.nees_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NEES mean, chi2_0.025(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nees_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NEES mean, chi2_0.975(2*seeds)/seeds",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nees_mean": {
"definition": "pooled mean normalised estimation error squared; a matched two-state filter gives 2",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"quantum.filter_health.nis_chi2_lower_95": {
"definition": "lower 95% chi-squared acceptance bound on the NIS mean, chi2_0.025(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nis_chi2_upper_95": {
"definition": "upper 95% chi-squared acceptance bound on the NIS mean, chi2_0.975(K)/K over K pooled innovations",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.filter_health.nis_mean": {
"definition": "pooled mean normalised innovation squared over the consistency ensemble; a matched filter gives 1",
"evidence_tier": "validated",
"provenance": "internal-consistency",
"unit": "1"
},
"quantum.fom.availability": {
"definition": "fraction of all samples in the run whose absolute timing error is within threshold_ns",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.holdover_s": {
"definition": "worst-case (shortest) in-spec coast across the outage segments; grid-bounded at time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.fom.resilience_slope_ns_per_s": {
"definition": "least-squares slope of the absolute timing error against time over the outage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns/s"
},
"quantum.fom.security": {
"definition": "analytic spoof-detectability bound from clock stability, clamp(1 - smallest detectable offset / threshold_ns, 0, 1); meaningful only against a configured attack, and not a multi-satellite RAIM detector",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.timing_p95_ns": {
"definition": "95th percentile (nearest-rank) of the absolute timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.fom.timing_rms_ns": {
"definition": "root mean square of the timing error over the outage samples",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.series[].error_ns": {
"definition": "timing error at t: the true clock phase minus the coasted prediction; zero while GNSS is nominal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.series[].t": {
"definition": "sample time on the uniform run grid, i*time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.spec.params.drift": {
"definition": "linear fractional-frequency aging rate: the deterministic frequency is y0 + drift*t",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.spec.params.q_rw": {
"definition": "random-walk-FM process-noise intensity: the fractional frequency gains variance q_rw*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.spec.params.q_wf": {
"definition": "white-FM process-noise intensity: the clock phase gains variance q_wf*dt over a step dt, so q_wf is numerically sigma_y(1 s)^2",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"quantum.spec.params.y0": {
"definition": "deterministic fractional-frequency offset of the clock model (dimensionless df/f)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"seed": {
"definition": "RNG seed of the quantum realisation; the classical realisation runs at seed + 0x9e3779b97f4a7c15",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"threshold_ns": {
"definition": "timing spec: a sample whose absolute timing error is at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ns"
}
},
"fields_described": 58,
"fields_total": 58,
"fields_without_units": [],
"label": null,
"source": "scenarios/orbit-multignss.toml"
},
"passes": {
"complete": true,
"fields": {
"altitude_km": {
"definition": "circular-orbit altitude above the equatorial radius; the orbit radius is R_eq + this",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"best_max_elevation_deg": {
"definition": "the largest per-pass maximum elevation above the station's local horizon; null when the window contains no pass",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"duration_hours": {
"definition": "length of the prediction window, from the window start epoch",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "hr"
},
"inclination_deg": {
"definition": "orbital inclination of the circular orbit",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"mask_deg": {
"definition": "elevation mask: the angle above the station's local horizon (the WGS-84 ellipsoid normal) a pass must clear to count as visible",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"pass_count": {
"definition": "number of mask-clearing visibility passes found in the window",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"passes[].aos_s": {
"definition": "acquisition of signal: seconds from the window start at which the elevation rises through the mask, linearly interpolated between the bracketing samples; clamped to 0 for a pass already in progress",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"passes[].duration_s": {
"definition": "los_s - aos_s: the length of the pass",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"passes[].los_s": {
"definition": "loss of signal: seconds from the window start at which the elevation falls back through the mask, linearly interpolated; clamped to the window length for a pass still in progress at the end",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"passes[].max_elevation_deg": {
"definition": "highest elevation above the station's local horizon reached during the pass, at the step_s sampling resolution",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"passes[].tca_s": {
"definition": "time of closest approach: seconds from the window start of the highest-elevation sample of the pass, at the step_s resolution",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"station_lat_deg": {
"definition": "ground-station geodetic (WGS-84) latitude, north positive",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"station_lon_deg": {
"definition": "ground-station geodetic (WGS-84) longitude, east positive",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"step_s": {
"definition": "sampling step of the rise/set search, which sets the TCA and maximum-elevation resolution",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"total_access_s": {
"definition": "sum of every pass duration_s: total time the satellite is above the mask during the window",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
}
},
"fields_described": 15,
"fields_total": 15,
"fields_without_units": [],
"label": "MODELLED — time-domain ground-station pass prediction; Keplerian propagation + Earth rotation (no SGP4 drag/J2 regression), TCA/max-elevation at the sample-step resolution, no light-time / refraction correction",
"source": "defaults"
},
"pvt": {
"complete": true,
"fields": {
"epochs[].fix.alt_m": {
"definition": "estimated receiver height above the WGS-84 ellipsoid",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].fix.clock_bias_m": {
"definition": "estimated receiver clock offset expressed as a range, c times the clock offset — the fourth state of the solve",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].fix.ecef_m[]": {
"definition": "one component of the estimated receiver position in ECEF",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].fix.error_3d_m": {
"definition": "Euclidean three-dimensional position error between the estimate and the surveyed truth",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].fix.error_h_m": {
"definition": "horizontal position error against the surveyed truth, sqrt(east^2 + north^2) in the truth's local frame; non-negative",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].fix.error_v_m": {
"definition": "absolute vertical (up) position error against the surveyed truth in the truth's local frame; the sign is not carried",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].fix.gdop": {
"definition": "geometric dilution of precision: the position and clock states combined, sqrt(PDOP^2 + TDOP^2)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"epochs[].fix.hdop": {
"definition": "horizontal dilution of precision, the east and north part of the unweighted normal-matrix inverse",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"epochs[].fix.lat_deg": {
"definition": "estimated receiver WGS-84 geodetic latitude",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"epochs[].fix.lon_deg": {
"definition": "estimated receiver WGS-84 geodetic longitude, positive east",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"epochs[].fix.pdop": {
"definition": "position dilution of precision: the three-dimensional position part, sqrt(HDOP^2 + VDOP^2)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"epochs[].fix.postfit_rms_m": {
"definition": "root-mean-square of the post-fit pseudorange residuals at this epoch, sqrt(sum of squared residuals / n_used)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].fix.vdop": {
"definition": "vertical dilution of precision, the up part of the unweighted normal-matrix inverse",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"epochs[].n_used": {
"definition": "usable satellite measurements assembled for this epoch, after the elevation mask and the ephemeris-age and observation-code checks",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.epochs_solved": {
"definition": "epochs at which the least-squares solve returned a fix (at least four usable measurements and a non-singular geometry)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.epochs_total": {
"definition": "observation epochs present in the supplied RINEX observation file",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"fom.max_3d_m": {
"definition": "largest three-dimensional position error against the surveyed truth at any solved epoch",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.mean_n_used": {
"definition": "mean number of satellites entering the solve, averaged over the solved epochs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"fom.mean_pdop": {
"definition": "mean position dilution of precision over the solved epochs; a dimensionless geometry factor multiplying the ranging error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"fom.mean_postfit_rms_m": {
"definition": "mean of the per-epoch post-fit pseudorange residual RMS over the solved epochs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.rms_3d_m": {
"definition": "root-mean-square three-dimensional position error against the surveyed truth over the solved epochs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.rms_h_m": {
"definition": "root-mean-square horizontal (east-north) position error against the surveyed truth over the solved epochs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"fom.rms_v_m": {
"definition": "root-mean-square vertical (up) position error against the surveyed truth over the solved epochs",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"n_satellites_nav": {
"definition": "distinct satellites carrying a broadcast-ephemeris record in the supplied RINEX navigation file",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"truth_ecef_m[]": {
"definition": "one component of the surveyed receiver position in ECEF, echoed from the scenario as the validation truth",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
}
},
"fields_described": 25,
"fields_total": 25,
"fields_without_units": [],
"label": null,
"source": "scenarios/pvt-abmf.toml"
},
"quantum-anomaly-detect": {
"complete": true,
"fields": {
"classical_auc": {
"definition": "the same closed-form ROC area for the classical monitor, Phi(mu / (sigma_c * sqrt(2)))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical_min_detectable": {
"definition": "the same minimum detectable statistic shift for the classical monitor, sigma_c * (Phi^-1(1 - pfa) + Phi^-1(pd))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum_auc": {
"definition": "ROC area under the curve of the quantum-clock-aided monitor, Phi(mu / (sigma_q * sqrt(2))): the probability a random faulted window scores above a random nominal one, so a pure number in [0, 1]",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum_auc_ci[]": {
"definition": "the (lo, hi) endpoints of the empirical bootstrap 95% confidence interval on the quantum AUC, drawn from the seeded synthetic nominal/faulted samples; an area, so dimensionless like the AUC itself",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum_min_detectable": {
"definition": "smallest fault the quantum monitor detects at the configured pd and pfa, sigma_q * (Phi^-1(1 - pfa) + Phi^-1(pd)); a mean shift of the detection statistic, measured in the same abstract statistic units as the monitor noise sigma, to which the model attaches no physical dimension",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"trade.foms[].ci95[]": {
"definition": "the (lo, hi) endpoints of the 95% confidence interval on that row's quantum value, in the same data-dependent unit as it; present only on the rows that carry one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "see the sibling `unit` field"
},
"trade.foms[].classical": {
"definition": "the classical monitor's score on that row's figure of merit, in the same data-dependent unit as the row's quantum value",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "see the sibling `unit` field"
},
"trade.foms[].quantum": {
"definition": "the quantum monitor's score on that row's figure of merit; the unit is data, differing row by row (a dimensionless area for the detection AUC, abstract detection-statistic units for the minimum detectable fault), so the row's own `unit` string names it",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "see the sibling `unit` field"
},
"trade.frame.seed": {
"definition": "the scenario's RNG seed, stamped into the trade's comparison frame so the bootstrap is reproducible; a dimensionless integer label, not a measured quantity",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"trade.representativeness.trl_band[]": {
"definition": "the (lo, hi) endpoints of the technology-readiness band this modelled demonstration is claimed to be representative for; a TRL is an ordinal readiness index on the 1-9 scale, not a physical quantity, so it is dimensionless and its differences are not metric",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
}
},
"fields_described": 10,
"fields_total": 10,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"quantum-gnss-free-nav": {
"complete": true,
"fields": {
"classical_holdover_s": {
"definition": "coast time at which the classical INS budget's position error first reaches threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical_pos_err_m": {
"definition": "position error 1 sigma of the navigation-grade INS budget at the end of the outage, the RSS of 0.5*bias*t^2, the scale-factor term and the velocity-random-walk term",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"improvement_x": {
"definition": "classical_pos_err_m / quantum_pos_err_m at the end of the outage: a dimensionless ratio, greater than 1 when the quantum budget drifts less",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"outage_s": {
"definition": "GNSS-outage (coast) duration the dead-reckoning error is evaluated at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"quantum_holdover_s": {
"definition": "coast time at which the quantum inertial budget's position error first reaches threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum_pos_err_m": {
"definition": "position error 1 sigma of the cold-atom (quantum) inertial budget at the end of the outage, the RSS of its bias, scale-factor and interferometer noise contributions",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"threshold_m": {
"definition": "position-error threshold the two holdover times are measured to",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"trade.foms[].classical": {
"definition": "the classical baseline's score on that row's figure of merit, in the same data-dependent unit as the row's quantum value",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "see the sibling `unit` field"
},
"trade.foms[].quantum": {
"definition": "the quantum candidate's score on that row's figure of merit; the unit is data, differing row by row (m for the outage position error, s for the holdover to threshold), so the row's own `unit` string names it",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "see the sibling `unit` field"
},
"trade.frame.seed": {
"definition": "the RNG seed stamped into the trade's comparison frame so the comparison is reproducible; a dimensionless integer label, not a measured quantity, and fixed at 0 because this pack draws no random numbers",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "1"
},
"trade.representativeness.trl_band[]": {
"definition": "the (lo, hi) endpoints of the technology-readiness band this modelled demonstration is claimed to be representative for; a TRL is an ordinal readiness index on the 1-9 scale, not a physical quantity, so it is dimensionless and its differences are not metric",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
}
},
"fields_described": 11,
"fields_total": 11,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"quantum-time-transfer": {
"complete": true,
"fields": {
"anomaly_cusum_latency_s": {
"definition": "CUSUM change-detection latency for the standardized fault, (floor(h / (z - kref)) + 1) samples at the integration-time cadence",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"anomaly_pd": {
"definition": "probability that the injected clock anomaly, of magnitude clock_fault_sigma times the monitor noise, is detected at that same false-alarm gate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical_chain_sigma_s": {
"definition": "end-to-end user-time 1 sigma of the classical chain: the quadrature sum of the two-way RF link timing 1 sigma and the CSAC coast phase error over the dissemination interval",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"monitor_pfa": {
"definition": "assumed integrity-monitor false-alarm probability, which sets the detection gate the security and anomaly detection probabilities are evaluated at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"protection_level_ns": {
"definition": "timing protection level bounding the undetected time error of the disseminated time, from the reused k = 5 TPL bound over the quantum clock's noise parameters",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum_chain_sigma_s": {
"definition": "end-to-end user-time 1 sigma of the quantum chain: the quadrature sum of the entanglement link's timing precision at the integration time and the optical-lattice clock's coast phase error over the dissemination interval",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum_link_rate_hz": {
"definition": "detected two-fold coincidence rate of the entanglement time link, source_pair_rate * eta_a * eta_b * 10^(-link_loss_db/10)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz"
},
"security_pd": {
"definition": "security figure of merit 1 - P_md: the probability the delay/replay attack offset is detected by the k-sigma gate set for the monitor false-alarm rate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"trade.foms[].classical": {
"definition": "the classical baseline's score on that row's figure of merit, in the same data-dependent unit as the row's quantum value",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "see the sibling `unit` field"
},
"trade.foms[].quantum": {
"definition": "the quantum candidate's score on that row's figure of merit; the unit is data, differing row by row (s for the end-to-end precision, dimensionless fractional frequency for the reference clock's sigma_y(1 s)), so the row's own `unit` string names it",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "see the sibling `unit` field"
},
"trade.frame.seed": {
"definition": "the RNG seed stamped into the trade's comparison frame so the comparison is reproducible; a dimensionless integer label, not a measured quantity, and fixed at 0 because this pack draws no random numbers",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "1"
},
"trade.representativeness.trl_band[]": {
"definition": "the (lo, hi) endpoints of the technology-readiness band this modelled demonstration is claimed to be representative for; a TRL is an ordinal readiness index on the 1-9 scale, not a physical quantity, so it is dimensionless and its differences are not metric",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
}
},
"fields_described": 12,
"fields_total": 12,
"fields_without_units": [],
"label": null,
"source": "defaults"
},
"quantum-trade": {
"complete": true,
"fields": {
"resilience.coast_time_s": {
"definition": "time since GNSS loss at which the composed resilience envelope first reaches resilience.threshold_m, found by bisection and capped at the modelled horizon (then a lower bound, flagged by exceeds_horizon)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"resilience.points[].error_m": {
"definition": "composed position-equivalent error at that time: the RSS of the alt-PNT-bounded inertial position drift and the clock phase error mapped to a range error by c * sigma_x",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"resilience.points[].t": {
"definition": "time since GNSS loss at which the envelope is sampled, from the scenario's resilience_times_s or its default spread out to 4 h",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"resilience.threshold_m": {
"definition": "position-equivalent error threshold the resilience coast time is measured to (the scenario's position_threshold_m)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"trade.baseline.inertial_holdover_s": {
"definition": "coast time at which the classical baseline INS budget's position drift first reaches trade.position_threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"trade.baseline.timing_holdover_s": {
"definition": "coast time at which the classical baseline clock's phase error first reaches trade.timing_threshold_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"trade.candidate.inertial_holdover_s": {
"definition": "coast time at which the candidate INS budget's position drift first reaches trade.position_threshold_m",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"trade.candidate.timing_holdover_s": {
"definition": "coast time at which the candidate clock's phase error first reaches trade.timing_threshold_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"trade.inertial_benefit_x": {
"definition": "candidate / baseline inertial-holdover ratio, a dimensionless factor greater than 1 when the candidate sensor coasts longer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"trade.position_threshold_m": {
"definition": "position-error threshold both rows' inertial holdover is measured to",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"trade.timing_benefit_x": {
"definition": "candidate / baseline timing-holdover ratio, a dimensionless factor greater than 1 when the candidate clock coasts longer",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"trade.timing_threshold_s": {
"definition": "clock phase-error threshold both rows' timing holdover is measured to",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
}
},
"fields_described": 12,
"fields_total": 12,
"fields_without_units": [],
"label": "MODELLED — quantifies (never validates) a partner clock/sensor; not flight-demonstrated",
"source": "scenarios/quantum-trade.toml"
},
"realtime-frame-eop": {
"complete": true,
"fields": {
"earth_moon_distance_m": {
"definition": "DE440 mean Earth-Moon distance",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "m"
},
"eop_input.final_rows": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"eop_input.prediction_rows": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"eop_input.rows": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"latency_s": {
"definition": "real-time EOP prediction latency",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"lever_arm_m_per_s": {
"definition": "D_EM * omega_earth (L19)",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "m/s"
},
"omega_earth_rad_s": {
"definition": null,
"evidence_tier": "validated",
"provenance": "constant",
"unit": "rad/s"
},
"operational_predictor_model.min_cycle_fraction": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "cycle (dimensionless)"
},
"operational_predictor_model.published_bulletin_a_agreement.first_lead_days": {
"definition": "shortest lead compared",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "day"
},
"operational_predictor_model.published_bulletin_a_agreement.issue_mjd": {
"definition": "the data cutoff of the in-force product, past which its Bulletin A rows are predictions",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"operational_predictor_model.published_bulletin_a_agreement.last_lead_days": {
"definition": "longest lead compared",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "day"
},
"operational_predictor_model.published_bulletin_a_agreement.leads[].lead_days": {
"definition": "days between the issue epoch and the predicted epoch",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "day"
},
"operational_predictor_model.published_bulletin_a_agreement.leads[].pm_diff_arcsec": {
"definition": "pole-displacement difference from the published prediction at that lead",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "arcsec"
},
"operational_predictor_model.published_bulletin_a_agreement.leads[].pm_position_m": {
"definition": "that pole difference at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"operational_predictor_model.published_bulletin_a_agreement.leads[].ut1_diff_s": {
"definition": "this crate's forecast minus the published Bulletin A prediction at that lead",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"operational_predictor_model.published_bulletin_a_agreement.leads[].ut1_position_m": {
"definition": "that UT1 difference at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"operational_predictor_model.published_bulletin_a_agreement.n": {
"definition": "published Bulletin A prediction rows the forecast was compared against",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"operational_predictor_model.published_bulletin_a_agreement.pm_rms_arcsec": {
"definition": "pole-displacement agreement with the published prediction, NOT an error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "arcsec"
},
"operational_predictor_model.published_bulletin_a_agreement.pm_rms_position_m": {
"definition": "the pole agreement at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"operational_predictor_model.published_bulletin_a_agreement.ut1_rms_position_m": {
"definition": "the UT1 agreement at the Moon through the L19 lever arm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"operational_predictor_model.published_bulletin_a_agreement.ut1_rms_s": {
"definition": "agreement with the published prediction, NOT an error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"operational_predictor_model.representative_fit.polar_motion_xp.anchor_residual_native": {
"definition": "the last in-window residual carried onto every forecast",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "arcsec"
},
"operational_predictor_model.representative_fit.polar_motion_xp.issue_mjd": {
"definition": "the epoch the representative forecast is issued at; the fit sees no observation after it",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"operational_predictor_model.representative_fit.polar_motion_xp.n_fit": {
"definition": "observations the fit was formed from",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"operational_predictor_model.representative_fit.polar_motion_xp.rms_fit_residual_native": {
"definition": "in-window post-fit RMS, NOT a prediction error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "arcsec"
},
"operational_predictor_model.representative_fit.polar_motion_xp.terms_rejected[].cycles_spanned": {
"definition": "cycles of that period the fit window actually spans",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "cycle (dimensionless)"
},
"operational_predictor_model.representative_fit.polar_motion_xp.terms_rejected[].period_days": {
"definition": "period of a candidate periodic term the window was too short to admit",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "day"
},
"operational_predictor_model.representative_fit.polar_motion_xp.terms_rejected[].threshold_cycles": {
"definition": "cycles a term must span to be admitted to the design matrix",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "cycle (dimensionless)"
},
"operational_predictor_model.representative_fit.polar_motion_xp.window_first_mjd": {
"definition": "first observation epoch inside the trailing fit window",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"operational_predictor_model.representative_fit.polar_motion_xp.window_last_mjd": {
"definition": "last observation epoch inside the trailing fit window",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"operational_predictor_model.representative_fit.ut1.anchor_residual_native": {
"definition": "the last in-window residual carried onto every forecast",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"operational_predictor_model.representative_fit.ut1.issue_mjd": {
"definition": "the epoch the representative forecast is issued at; the fit sees no observation after it",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"operational_predictor_model.representative_fit.ut1.n_fit": {
"definition": "observations the fit was formed from",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"operational_predictor_model.representative_fit.ut1.rms_fit_residual_native": {
"definition": "in-window post-fit RMS, NOT a prediction error",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"operational_predictor_model.representative_fit.ut1.terms_rejected[].cycles_spanned": {
"definition": "cycles of that period the fit window actually spans",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "cycle (dimensionless)"
},
"operational_predictor_model.representative_fit.ut1.terms_rejected[].period_days": {
"definition": "period of a candidate periodic term the window was too short to admit",
"evidence_tier": "validated",
"provenance": "constant",
"unit": "day"
},
"operational_predictor_model.representative_fit.ut1.terms_rejected[].threshold_cycles": {
"definition": "cycles a term must span to be admitted to the design matrix",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "cycle (dimensionless)"
},
"operational_predictor_model.representative_fit.ut1.window_first_mjd": {
"definition": "first observation epoch inside the trailing fit window",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"operational_predictor_model.representative_fit.ut1.window_last_mjd": {
"definition": "last observation epoch inside the trailing fit window",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"operational_predictor_model.window_days": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "day"
},
"predicted_rows.first_mjd": {
"definition": "null when the input publishes no prediction row",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"predicted_rows.last_mjd": {
"definition": "null when the input publishes no prediction row",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"predicted_rows.n": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"realtime_frame_error_budget.delta_ut1_ms": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ms"
},
"realtime_frame_error_budget.delta_xp_mas": {
"definition": "measured pole floor / sqrt(2) unless overridden",
"evidence_tier": "depends-on-input",
"provenance": "measured-or-input",
"unit": "mas"
},
"realtime_frame_error_budget.delta_yp_mas": {
"definition": null,
"evidence_tier": "depends-on-input",
"provenance": "measured-or-input",
"unit": "mas"
},
"realtime_frame_error_budget.eop_term_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"realtime_frame_error_budget.ephemeris_term_m": {
"definition": null,
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"realtime_frame_error_budget.frame_realization_floor_m": {
"definition": "Helmert post-fit RMS residual unless overridden",
"evidence_tier": "inherits-scenario-label",
"provenance": "derived",
"unit": "m"
},
"realtime_frame_error_budget.measured_pm_floor_mas": {
"definition": "null when the input carries no Bulletin B pole",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "mas"
},
"realtime_frame_error_budget.total_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"realtime_frame_error_budget.total_time_ns": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table1_consistency[].frame_position_m": {
"definition": null,
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"table1_consistency[].light_time_ns": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table1_consistency[].ut1_equiv_ms": {
"definition": "L19 image of the position",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ms"
},
"table2_error_vs_horizon[].horizon_days": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "day"
},
"table2_error_vs_horizon[].moon_light_time_ns": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table2_error_vs_horizon[].moon_position_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table2_error_vs_horizon[].n": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table2_error_vs_horizon[].ut1_p50_ms": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "ms"
},
"table2_error_vs_horizon[].ut1_p95_ms": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "ms"
},
"table2_error_vs_horizon[].ut1_rms_ms": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "ms"
},
"table3_joint_eop[].combined.epochs_mjd[]": {
"declared_as": "table3_joint_eop[].combined.epochs_mjd",
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"table3_joint_eop[].combined.max_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].combined.n": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table3_joint_eop[].combined.p50_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].combined.p95_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].combined.p95_position_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table3_joint_eop[].combined.rms_light_time_ns": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table3_joint_eop[].combined.rms_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].combined.rms_position_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table3_joint_eop[].horizon_days": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "day"
},
"table3_joint_eop[].n": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table3_joint_eop[].polar_motion.epochs_mjd[]": {
"declared_as": "table3_joint_eop[].polar_motion.epochs_mjd",
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"table3_joint_eop[].polar_motion.max_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].polar_motion.n": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table3_joint_eop[].polar_motion.p50_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].polar_motion.p95_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].polar_motion.p95_position_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table3_joint_eop[].polar_motion.rms_light_time_ns": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table3_joint_eop[].polar_motion.rms_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].polar_motion.rms_position_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table3_joint_eop[].ut1.epochs_mjd[]": {
"declared_as": "table3_joint_eop[].ut1.epochs_mjd",
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"table3_joint_eop[].ut1.max_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].ut1.n": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table3_joint_eop[].ut1.p50_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].ut1.p95_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].ut1.p95_position_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table3_joint_eop[].ut1.rms_light_time_ns": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table3_joint_eop[].ut1.rms_native": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table3_joint_eop[].ut1.rms_position_m": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table4_predicted_vs_final_horizon.n_rows": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.equivalent_horizon_days.combined.operational": {
"definition": "null when no measured pair of horizons brackets the target; the curve is never extrapolated",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "day"
},
"table5_operational_vs_persistence.equivalent_horizon_days.combined.persistence": {
"definition": "null when no measured pair of horizons brackets the target; the curve is never extrapolated",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "day"
},
"table5_operational_vs_persistence.equivalent_horizon_days.target_position_m": {
"definition": "the Table 1 real-time frame position the horizon is read against",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "m"
},
"table5_operational_vs_persistence.equivalent_horizon_days.ut1.operational": {
"definition": "null when no measured pair of horizons brackets the target; the curve is never extrapolated",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "day"
},
"table5_operational_vs_persistence.equivalent_horizon_days.ut1.persistence": {
"definition": "null when no measured pair of horizons brackets the target; the curve is never extrapolated",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "day"
},
"table5_operational_vs_persistence.n_rows": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].combined.improvement_factor": {
"declared_as": "table5_operational_vs_persistence.rows[].*.improvement_factor",
"definition": "persistence RMS / operational RMS; below 1 means the operational predictor is WORSE at that horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ratio (dimensionless)"
},
"table5_operational_vs_persistence.rows[].combined.operational.max_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.max_native",
"definition": "largest absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.operational.n": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.n",
"definition": "epochs this predictor was scored at (equal to the row's n)",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].combined.operational.p50_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p50_native",
"definition": "median absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.operational.p95_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p95_native",
"definition": "95th-percentile absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.operational.p95_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p95_position_m",
"definition": "the 95th-percentile residual at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].combined.operational.rms_light_time_ns": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_light_time_ns",
"definition": "the RMS residual as one-way light time at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table5_operational_vs_persistence.rows[].combined.operational.rms_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_native",
"definition": "root-mean-square predicted-minus-final residual over the row's epochs",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.operational.rms_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_position_m",
"definition": "the RMS residual at the Moon through the L19 lever arm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].combined.persistence.max_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.max_native",
"definition": "largest absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.persistence.n": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.n",
"definition": "epochs this predictor was scored at (equal to the row's n)",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].combined.persistence.p50_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p50_native",
"definition": "median absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.persistence.p95_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p95_native",
"definition": "95th-percentile absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.persistence.p95_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p95_position_m",
"definition": "the 95th-percentile residual at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].combined.persistence.rms_light_time_ns": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_light_time_ns",
"definition": "the RMS residual as one-way light time at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table5_operational_vs_persistence.rows[].combined.persistence.rms_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_native",
"definition": "root-mean-square predicted-minus-final residual over the row's epochs",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].combined.persistence.rms_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_position_m",
"definition": "the RMS residual at the Moon through the L19 lever arm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].epochs_mjd[]": {
"declared_as": "table5_operational_vs_persistence.rows[].epochs_mjd",
"definition": "the issue epochs the forecasts were made at",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"table5_operational_vs_persistence.rows[].fit_rows_max": {
"definition": "most observations any fit in the row was formed from",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].fit_rows_min": {
"definition": "fewest observations any fit in the row was formed from",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].horizon_days": {
"definition": "forecast lead the row was scored at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "day"
},
"table5_operational_vs_persistence.rows[].min_fit_lead_days": {
"definition": "smallest gap between any fit window's last observation and the epoch it predicted; > 0 is the no-look-ahead proof",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "day"
},
"table5_operational_vs_persistence.rows[].n": {
"definition": "epochs BOTH predictors were scored over; the two columns share this set exactly",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].polar_motion.improvement_factor": {
"declared_as": "table5_operational_vs_persistence.rows[].*.improvement_factor",
"definition": "persistence RMS / operational RMS; below 1 means the operational predictor is WORSE at that horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ratio (dimensionless)"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.max_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.max_native",
"definition": "largest absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.n": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.n",
"definition": "epochs this predictor was scored at (equal to the row's n)",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.p50_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p50_native",
"definition": "median absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.p95_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p95_native",
"definition": "95th-percentile absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.p95_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p95_position_m",
"definition": "the 95th-percentile residual at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.rms_light_time_ns": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_light_time_ns",
"definition": "the RMS residual as one-way light time at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.rms_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_native",
"definition": "root-mean-square predicted-minus-final residual over the row's epochs",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.operational.rms_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_position_m",
"definition": "the RMS residual at the Moon through the L19 lever arm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.max_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.max_native",
"definition": "largest absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.n": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.n",
"definition": "epochs this predictor was scored at (equal to the row's n)",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.p50_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p50_native",
"definition": "median absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.p95_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p95_native",
"definition": "95th-percentile absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.p95_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p95_position_m",
"definition": "the 95th-percentile residual at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.rms_light_time_ns": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_light_time_ns",
"definition": "the RMS residual as one-way light time at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.rms_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_native",
"definition": "root-mean-square predicted-minus-final residual over the row's epochs",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].polar_motion.persistence.rms_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_position_m",
"definition": "the RMS residual at the Moon through the L19 lever arm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].target_mjds[]": {
"declared_as": "table5_operational_vs_persistence.rows[].target_mjds",
"definition": "the epochs the forecasts were scored at",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "MJD (day)"
},
"table5_operational_vs_persistence.rows[].ut1.improvement_factor": {
"declared_as": "table5_operational_vs_persistence.rows[].*.improvement_factor",
"definition": "persistence RMS / operational RMS; below 1 means the operational predictor is WORSE at that horizon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ratio (dimensionless)"
},
"table5_operational_vs_persistence.rows[].ut1.operational.max_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.max_native",
"definition": "largest absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.operational.n": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.n",
"definition": "epochs this predictor was scored at (equal to the row's n)",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].ut1.operational.p50_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p50_native",
"definition": "median absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.operational.p95_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p95_native",
"definition": "95th-percentile absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.operational.p95_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.p95_position_m",
"definition": "the 95th-percentile residual at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].ut1.operational.rms_light_time_ns": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_light_time_ns",
"definition": "the RMS residual as one-way light time at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table5_operational_vs_persistence.rows[].ut1.operational.rms_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_native",
"definition": "root-mean-square predicted-minus-final residual over the row's epochs",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.operational.rms_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.operational.rms_position_m",
"definition": "the RMS residual at the Moon through the L19 lever arm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.max_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.max_native",
"definition": "largest absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.n": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.n",
"definition": "epochs this predictor was scored at (equal to the row's n)",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.p50_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p50_native",
"definition": "median absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.p95_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p95_native",
"definition": "95th-percentile absolute predicted-minus-final residual",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.p95_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.p95_position_m",
"definition": "the 95th-percentile residual at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.rms_light_time_ns": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_light_time_ns",
"definition": "the RMS residual as one-way light time at the Moon",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.rms_native": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_native",
"definition": "root-mean-square predicted-minus-final residual over the row's epochs",
"evidence_tier": "validated",
"provenance": "measured",
"unit": "see the sibling `unit` field"
},
"table5_operational_vs_persistence.rows[].ut1.persistence.rms_position_m": {
"declared_as": "table5_operational_vs_persistence.rows[].*.persistence.rms_position_m",
"definition": "the RMS residual at the Moon through the L19 lever arm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"table6_archived_vintage_predicted_vs_final.n_rows": {
"definition": null,
"evidence_tier": "validated",
"provenance": "measured",
"unit": "count"
}
},
"fields_described": 157,
"fields_total": 157,
"fields_without_units": [],
"label": "Real-time lunar frame / Earth-orientation prediction budget. VALIDATED closed form: the L19 lever arm (1 ms ↔ 28.03 m ↔ 93.5 ns), ω⊕ cross-checked against the CIO Earth-rotation angle. VALIDATED real data: the L18 UT1 and polar-motion prediction-error curves read directly off the real IERS finals2000A series (Bulletin A rapid vs Bulletin B final, and multi-day persistence over the real daily rows). DERIVED: the frame-realisation floor is the post-fit RMS residual of an actual 7-parameter Helmert datum realisation (not an asserted 0.2 m). MODELLED: the lunar-relay OD covariance magnitudes (0.27 m post-processed, ~14.4 m real-time at 1 h latency) are a round, NOT back-solved, representative allocation — the order-15-m real-time figure is independently bracketed by the real EOP-prediction curve (≈9.9 m at 1 day, ≈18.8 m at 2 days). The multi-day predictor is persistence, not IERS's operational Bulletin A algorithm, and a genuine predicted-vs-final vintage difference needs an archived earlier file vintage (not available from a single fetch). Not a certified real-time frame product.",
"source": "defaults"
},
"reentry": {
"complete": true,
"fields": {
"altitude_at_peak_g_m": {
"definition": "altitude where the deceleration peaks: H * ln(rho0 * H / (B * sin|gamma|))",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m"
},
"ballistic_coeff_kg_m2": {
"definition": "ballistic coefficient B = m / (C_D * A) of the entering body",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "kg/m^2"
},
"entry_velocity_m_s": {
"definition": "speed at the atmospheric entry interface",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m/s"
},
"flight_path_angle_deg": {
"definition": "entry flight-path angle below the local horizontal, positive downward",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"peak_deceleration_g": {
"definition": "the same peak deceleration expressed in units of standard gravity: a_max / g_0 with g_0 = 9.80665 m/s^2",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"peak_deceleration_m_s2": {
"definition": "Allen-Eggers peak deceleration V_e^2 * sin|gamma| / (2 * e * H), independent of the ballistic coefficient",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m/s^2"
},
"scale_height_m": {
"definition": "density scale height of the exponential isothermal atmosphere; defaults to the Earth value of 7200 m",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"velocity_at_peak_g_m_s": {
"definition": "speed where the deceleration peaks: V_e * exp(-1/2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m/s"
},
"velocity_at_peak_heating_m_s": {
"definition": "speed where convective stagnation heating peaks: V_e * exp(-1/6); a velocity, not a heat flux",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "m/s"
}
},
"fields_described": 9,
"fields_total": 9,
"fields_without_units": [],
"label": "MODELLED — Allen–Eggers ballistic (no-lift) entry, exponential isothermal atmosphere, constant flight-path angle; peak-g is ballistic-coefficient-independent; heating is the peak-heating VELOCITY, NOT a heat-flux (no aerothermal/TPS model)",
"source": "defaults"
},
"space-packet": {
"complete": true,
"fields": {
"apid": {
"definition": "CCSDS Application Process Identifier, an 11-bit (0..=2047) dimensionless process identifier, not a count",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"data_len_octets": {
"definition": "length of each packet's user data field",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "octet"
},
"first_packet.apid": {
"definition": "the 11-bit APID decoded back out of the encoded primary header; an identifier, not a count",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"first_packet.data_length_field": {
"definition": "CCSDS packet-data-length header field decoded from the header: the 16-bit value (data-field octets - 1), so it is one less than data_len_octets rather than an octet count itself",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"first_packet.index": {
"definition": "zero-based position of this packet in the framed stream, a dimensionless ordinal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"first_packet.sequence_count": {
"definition": "CCSDS packet sequence count decoded from the header: a 14-bit (0..=16383) rolling counter value, here equal to the packet index",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"first_packet.total_octets": {
"definition": "encoded length of this packet: 6-octet primary header plus the data field",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "octet"
},
"packet_count": {
"definition": "number of packets framed into the stream",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"total_stream_octets": {
"definition": "total encoded length of the whole stream: packet_count * (6-octet primary header + data_len_octets)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "octet"
}
},
"fields_described": 9,
"fields_total": 9,
"fields_without_units": [],
"label": "CCSDS 133.0-B Space Packet primary-header framing — exact, deterministic bit layout, encode↔decode round-trip verified; NOT a conformance certification (no secondary header / CRC / segmentation logic beyond the flags)",
"source": "defaults"
},
"space-weather": {
"complete": true,
"fields": {
"altitudes[].activity_density_kg_m3": {
"definition": "static_density_kg_m3 * activity_factor: the same row's static density scaled by this space-weather state",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "kg/m^3"
},
"altitudes[].activity_factor": {
"definition": "dimensionless density multiplier exp[C*(h - 120 km)*(1/T_ref - 1/T_inf)] above the 120 km thermosphere base and 1 below it; the coupling coefficient C is calibrated to the observed 400 km solar-cycle swing, so the magnitude is a model assumption",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "1"
},
"altitudes[].altitude_km": {
"definition": "geometric altitude above the spherical Earth at which the density row is reported",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "km"
},
"altitudes[].static_density_kg_m3": {
"definition": "neutral mass density from the published static piecewise-exponential atmosphere (Vallado Table 8-4, after CIRA-72): rho0*exp(-(h-h0)/H) for the tabulated band containing the altitude; solar-activity independent, and the reference the activity-corrected value is compared against",
"evidence_tier": "validated",
"provenance": "published",
"unit": "kg/m^3"
},
"ap": {
"definition": "the ap equivalent of `kp` read from the definitional IAGA/GFZ 28-step Kp->ap table; ap is conventionally expressed in units of 2 nT, so the emitted number times 2 is the amplitude in nT",
"evidence_tier": "validated",
"provenance": "published",
"unit": "2 nT"
},
"exospheric_temperature_k": {
"definition": "Jacchia-1971 global exospheric temperature T_inf = 379 + 3.24*f107a + 1.3*(f107 - f107a) + 28*kp + 0.03*exp(kp)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "K"
},
"f107": {
"definition": "daily 10.7 cm solar radio flux F10.7, in solar flux units (1 sfu = 1e-22 W m^-2 Hz^-1)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "sfu"
},
"f107a": {
"definition": "centred 81-day average of the daily F10.7 series; defaults to `f107` when the scenario does not supply it",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "sfu"
},
"kp": {
"definition": "planetary geomagnetic activity index Kp, a dimensionless quasi-logarithmic index on the 0-9 scale",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"reference_exospheric_temperature_k": {
"definition": "the exospheric temperature at which the density activity factor is unity: the moderate-activity value (1000 K) assigned to the static USSA76 thermosphere, a modelling choice rather than a measurement",
"evidence_tier": "modelled",
"provenance": "modelled",
"unit": "K"
}
},
"fields_described": 10,
"fields_total": 10,
"fields_without_units": [],
"label": "MODELLED — solar/geomagnetic indices + Jacchia-71 exospheric temperature; density is a calibrated first-order activity correction, NOT a data-validated (NRLMSISE) atmosphere",
"source": "defaults"
},
"spoof": {
"complete": true,
"fields": {
"classical.detect_time_s": {
"definition": "time since the start of the run at which the injected offset first exceeds the classical clock's detection bound; absent (null) if that never happens within the run",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.detection.analytic_pmd": {
"definition": "closed-form probability the classical clock's detector misses a spoof of eval_offset_ns, Phi((gamma-mu)/sigma) - Phi((-gamma-mu)/sigma)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"classical.detection.boundary_ns": {
"definition": "the two-sided detection boundary on |y| for the classical clock, gamma = monitor_sigma * inverse-normal-CDF(1 - target_pfa/2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"classical.detection.eval_offset_ns": {
"definition": "the spoof magnitude the classical clock's missed-detection probability is evaluated at: the operational timing spec, threshold_ns",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ns"
},
"classical.detection.mc_pfa": {
"definition": "Monte-Carlo false-alarm probability for the classical clock: the fraction of noise-only trials whose |y| exceeds the boundary",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.detection.mc_pmd": {
"definition": "Monte-Carlo missed-detection probability for the classical clock: the fraction of signal-plus-noise trials whose |y| stays within the boundary",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.detection.mc_runs": {
"definition": "Monte-Carlo trials drawn per hypothesis for the classical clock, attack.mc_runs (floored at one)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"classical.detection.monitor_sigma_ns": {
"definition": "1-sigma of the classical clock's monitor statistic — the discrepancy between the GNSS-asserted time and the clock's own coasted prediction over the 600 s window",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"classical.detection.target_pfa": {
"definition": "the classical clock detector's design false-alarm probability per decision, attack.target_pfa",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"classical.min_detectable_ns": {
"definition": "smallest time-spoof offset the classical clock's monitor can flag: the 5-sigma detection multiplier times the monitor's 1-sigma floor over the 600 s window",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"classical.offset_at_detection_ns": {
"definition": "the injected spoof offset at detect_time_s for the classical clock",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.security_fom": {
"definition": "probability the classical clock's detector correctly flags a spec-sized spoof, 1 - analytic_pmd; higher is better",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.series[].bound_ns": {
"definition": "the classical clock's detection bound at this sample; constant over the run, equal to min_detectable_ns",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"classical.series[].offset_ns": {
"definition": "the injected spoof offset at this sample, zero before attack.start_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"classical.series[].t": {
"definition": "sample time since the start of the run: the grid index times time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.detect_time_s": {
"definition": "time since the start of the run at which the injected offset first exceeds the quantum clock's detection bound; absent (null) if that never happens within the run",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.detection.analytic_pmd": {
"definition": "closed-form probability the quantum clock's detector misses a spoof of eval_offset_ns, Phi((gamma-mu)/sigma) - Phi((-gamma-mu)/sigma)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"quantum.detection.boundary_ns": {
"definition": "the two-sided detection boundary on |y| for the quantum clock, gamma = monitor_sigma * inverse-normal-CDF(1 - target_pfa/2)",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"quantum.detection.eval_offset_ns": {
"definition": "the spoof magnitude the quantum clock's missed-detection probability is evaluated at: the operational timing spec, threshold_ns",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ns"
},
"quantum.detection.mc_pfa": {
"definition": "Monte-Carlo false-alarm probability for the quantum clock: the fraction of noise-only trials whose |y| exceeds the boundary",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.detection.mc_pmd": {
"definition": "Monte-Carlo missed-detection probability for the quantum clock: the fraction of signal-plus-noise trials whose |y| stays within the boundary",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.detection.mc_runs": {
"definition": "Monte-Carlo trials drawn per hypothesis for the quantum clock, attack.mc_runs (floored at one)",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"quantum.detection.monitor_sigma_ns": {
"definition": "1-sigma of the quantum clock's monitor statistic — the discrepancy between the GNSS-asserted time and the clock's own coasted prediction over the 600 s window",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"quantum.detection.target_pfa": {
"definition": "the quantum clock detector's design false-alarm probability per decision, attack.target_pfa",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"quantum.min_detectable_ns": {
"definition": "smallest time-spoof offset the quantum clock's monitor can flag: the 5-sigma detection multiplier times the monitor's 1-sigma floor over the 600 s window",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"quantum.offset_at_detection_ns": {
"definition": "the injected spoof offset at detect_time_s for the quantum clock",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.security_fom": {
"definition": "probability the quantum clock's detector correctly flags a spec-sized spoof, 1 - analytic_pmd; higher is better",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.series[].bound_ns": {
"definition": "the quantum clock's detection bound at this sample; constant over the run, equal to min_detectable_ns",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "ns"
},
"quantum.series[].offset_ns": {
"definition": "the injected spoof offset at this sample, zero before attack.start_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ns"
},
"quantum.series[].t": {
"definition": "sample time since the start of the run: the grid index times time.step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"threshold_ns": {
"definition": "the operational timing specification: the offset at which a time spoof becomes harmful, and the magnitude each clock's missed-detection probability is scored at",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "ns"
}
},
"fields_described": 31,
"fields_total": 31,
"fields_without_units": [],
"label": null,
"source": "scenarios/spoof-attack.toml"
},
"spoof-detect": {
"complete": true,
"fields": {
"attack.el_imbalance": {
"definition": "fractional Early/Late correlator imbalance a non-carrier-aligned spoofer imparts; ignored when the spoofer is carrier-aligned",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
},
"attack.num_biased": {
"definition": "satellites whose pseudoranges a position push biases",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
},
"attack.power_advantage_db": {
"definition": "the spoofer's transmit-power advantage over the nominal received power floor, echoed from the scenario",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB"
},
"attack.push_magnitude_m": {
"definition": "the pseudorange bias the spoofer applies: common-mode for a time push, per-satellite on num_biased satellites for a position push",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "m"
},
"decision.agc_excess_db": {
"definition": "measured_dbm minus power_floor_dbm: the received-power excess the AGC monitor tests, negative when below the expected floor",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"decision.fused.score": {
"definition": "the fused evidence score: the sum of the configured weights of the layers that fired, compared against fusion_threshold",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"decision.raim.dof": {
"definition": "redundancy of the geometry, n_sats - 4: the chi-squared degrees of freedom of the statistic",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"decision.raim.statistic": {
"definition": "the parity-space test statistic: the leftover residual sum of squares divided by sigma_m^2, so dimensionless, not metres",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"decision.raim.threshold": {
"definition": "the chi-squared quantile at 1 - raim_p_fa for dof degrees of freedom that statistic is compared against; also dimensionless",
"evidence_tier": "validated",
"provenance": "closed-form",
"unit": "1"
},
"decision.sqm_el_metric": {
"definition": "the signal-quality Early-minus-Late imbalance (E - L)/(E + L) of the correlation peak; zero for a symmetric, undistorted peak",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"measured_dbm": {
"definition": "total received power the AGC monitor sees under the attack, power_floor_dbm plus the spoofer's power advantage",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBm"
},
"n_sats": {
"definition": "satellites in the evaluated line-of-sight geometry — the length of the scenario's satellite list, or of the built-in eight-satellite one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"power_floor_dbm": {
"definition": "expected total received power with no interferer: the incoherent sum of n_sats satellites at sat_power_dbm each",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dBm"
}
},
"fields_described": 13,
"fields_total": 13,
"fields_without_units": [],
"label": null,
"source": "scenarios/spoof-detect.toml"
},
"sweep": {
"complete": true,
"fields": {
"points[].classical": {
"definition": "the same metric scored on the classical clock at this node",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"points[].quantum": {
"definition": "the `metric` named in this document, scored on the quantum clock at this node",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"points[].value": {
"definition": "the swept parameter's value at this node; the unit is the one the `parameter` named in this document is measured in",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
}
},
"fields_described": 3,
"fields_total": 3,
"fields_without_units": [],
"label": null,
"source": "scenarios/sweep-clock-stability.toml"
},
"sweep-nd": {
"complete": false,
"fields": {
"shape[]": {
"definition": "grid points along each axis, in `axes` order; the product is the number of nodes in `points`",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
}
},
"fields_described": 1,
"fields_total": 3,
"fields_without_units": [
"points[].coords[]",
"points[].metrics[]"
],
"label": null,
"source": "scenarios/sweep-nd-inertial.toml"
},
"terrain-nav": {
"complete": true,
"fields": {
"free_inertial_drift_m": {
"definition": "horizontal position error of the unaided inertial solution: the configured constant drift in degrees converted to metres at the track's mid-latitude",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"matched_error_m": {
"definition": "residual horizontal position error after terrain matching: the true drift minus the recovered offset estimate, in metres",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"measurement_sigma_m": {
"definition": "1 sigma matching noise used by the likelihood: hypot(altimeter sigma, map sigma)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
}
},
"fields_described": 3,
"fields_total": 3,
"fields_without_units": [],
"label": null,
"source": "scenarios/terrain-nav.toml"
},
"terrain-slam": {
"complete": true,
"fields": {
"epochs[].ess": {
"definition": "effective sample size of the particle cloud after this update, 1 / sum(w_i^2) over the normalised weights",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"epochs[].free_inertial_m": {
"definition": "horizontal position error of the unaided inertial solution at this waypoint, growing with the injected drift ramp",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"epochs[].k": {
"definition": "zero-based waypoint index along the track, a dimensionless ordinal",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"epochs[].matched_m": {
"definition": "horizontal position error of the particle-filter weighted-mean estimate at this waypoint",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"free_inertial_final_m": {
"definition": "horizontal position error of the unaided inertial solution at the last waypoint, where the injected drift ramp is largest",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"free_inertial_rms_m": {
"definition": "root-mean-square unaided inertial horizontal position error over every waypoint of the track",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"matched_final_m": {
"definition": "horizontal position error of the particle-filter estimate at the last waypoint",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"matched_rms_m": {
"definition": "root-mean-square particle-filter horizontal position error over every waypoint of the track",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"mean_ess": {
"definition": "mean effective sample size of the particle cloud over the track, an effective number of particles and a filter-health monitor",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"measurement_sigma_m": {
"definition": "1 sigma matching noise used by the terrain-match likelihood: hypot(altimeter sigma, map sigma)",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m"
},
"min_ess": {
"definition": "smallest effective sample size seen over the track: the worst-case weight degeneracy of the particle cloud",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"waypoints": {
"definition": "number of waypoints flown along the track, the configured value floored at 1",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "count"
}
},
"fields_described": 12,
"fields_total": 12,
"fields_without_units": [],
"label": null,
"source": "scenarios/terrain-slam.toml"
},
"timetransfer": {
"complete": true,
"fields": {
"classical.fom.adev_tau0": {
"definition": "overlapping Allan deviation of the sync-error series at tau = step_s — a dimensionless fractional-frequency stability; 0 when the series is too short to form one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.fom.range_p95_mm": {
"definition": "the 95th-percentile synchronisation error as a one-way range error, c * sync_p95",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mm"
},
"classical.fom.range_rms_mm": {
"definition": "the RMS synchronisation error as a one-way range error, c * sync_rms",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mm"
},
"classical.fom.sync_p95_ps": {
"definition": "95th percentile (nearest-rank) of the absolute synchronisation error over the whole series",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ps"
},
"classical.fom.sync_rms_ps": {
"definition": "root mean square of the synchronisation error over the whole series",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ps"
},
"classical.fom.within_spec_fraction": {
"definition": "fraction of exchanges whose one-way range error is within range_spec_mm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"classical.series[].sync_error_s": {
"definition": "residual synchronisation error of the two-way estimate: the evolved non-reciprocal differential delay plus this exchange's white measurement residual",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.series[].t": {
"definition": "time of this exchange on the uniform measurement grid, i*step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"classical.spec.params.q_rw": {
"definition": "random-walk-FM intensity of the non-reciprocal differential delay, giving the link a long-tau Allan floor sigma_y^2(tau) = q_rw*tau/3",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"classical.spec.params.q_wf": {
"definition": "white-FM intensity of the non-reciprocal differential delay: the delay gains variance q_wf*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"classical.spec.params.sigma_j_s": {
"definition": "1-sigma white timing jitter on the two-way offset estimate of a single exchange",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"quantum.fom.adev_tau0": {
"definition": "overlapping Allan deviation of the sync-error series at tau = step_s — a dimensionless fractional-frequency stability; 0 when the series is too short to form one",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.fom.range_p95_mm": {
"definition": "the 95th-percentile synchronisation error as a one-way range error, c * sync_p95",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mm"
},
"quantum.fom.range_rms_mm": {
"definition": "the RMS synchronisation error as a one-way range error, c * sync_rms",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "mm"
},
"quantum.fom.sync_p95_ps": {
"definition": "95th percentile (nearest-rank) of the absolute synchronisation error over the whole series",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ps"
},
"quantum.fom.sync_rms_ps": {
"definition": "root mean square of the synchronisation error over the whole series",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ps"
},
"quantum.fom.within_spec_fraction": {
"definition": "fraction of exchanges whose one-way range error is within range_spec_mm",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "1"
},
"quantum.series[].sync_error_s": {
"definition": "residual synchronisation error of the two-way estimate: the evolved non-reciprocal differential delay plus this exchange's white measurement residual",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.series[].t": {
"definition": "time of this exchange on the uniform measurement grid, i*step_s",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"quantum.spec.params.q_rw": {
"definition": "random-walk-FM intensity of the non-reciprocal differential delay, giving the link a long-tau Allan floor sigma_y^2(tau) = q_rw*tau/3",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1/s"
},
"quantum.spec.params.q_wf": {
"definition": "white-FM intensity of the non-reciprocal differential delay: the delay gains variance q_wf*dt over a step dt",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s^2/s"
},
"quantum.spec.params.sigma_j_s": {
"definition": "1-sigma white timing jitter on the two-way offset estimate of a single exchange",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"range_spec_mm": {
"definition": "one-way ranging spec: an exchange whose synchronisation error maps through c to a range error at or below this is in spec",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "mm"
},
"seed": {
"definition": "RNG seed of the optical (quantum) link; the RF link runs at seed + 0x9e3779b97f4a7c15",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "1"
}
},
"fields_described": 24,
"fields_total": 24,
"fields_without_units": [],
"label": null,
"source": "scenarios/timetransfer.toml"
},
"tracking-loop": {
"complete": true,
"fields": {
"denial.capture_js_threshold_db": {
"definition": "the engine's existing power-ratio capture criterion; reported unchanged",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB"
},
"denial.capture_radius_threshold_km": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"denial.denial_cn0_at_threshold_radius_dbhz": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"denial.denial_js_delta_db": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"denial.denial_js_loop_db": {
"definition": "the J/S the loop-dynamics radius corresponds to",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"denial.denial_js_threshold_db": {
"definition": "the engine's existing power-ratio denial criterion; reported unchanged",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB"
},
"denial.denial_radius_delta_km": {
"definition": "loop-dynamics radius minus threshold radius",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"denial.denial_radius_loop_dynamics_km": {
"definition": "standoff at which the effective C/N0 falls to thresholds.drop_cn0_dbhz",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"denial.denial_radius_ratio": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "ratio (dimensionless)"
},
"denial.denial_radius_threshold_km": {
"definition": "standoff at which J/S reaches denial_js_threshold_db",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "km"
},
"denial.nominal_cn0_dbhz": {
"definition": "jamming::nominal_cn0_dbhz for the stated signal power, antenna gain and noise temperature",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"denial.q_factor": {
"definition": "spectral-separation coefficient from jamming::q_factor",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "ratio (dimensionless)"
},
"jitter_table[].cn0_dbhz": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB-Hz"
},
"jitter_table[].dll_jitter_chips": {
"definition": "1 sigma non-coherent early-late code thermal jitter",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "chip"
},
"jitter_table[].dll_three_sigma_chips": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "chip"
},
"jitter_table[].log10_mean_time_to_cycle_slip_s": {
"definition": "Viterbi first-order mean time between slips; reported in log10 because it spans hundreds of decades",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "log10(s)"
},
"jitter_table[].pll_jitter_deg": {
"definition": "1 sigma Costas carrier thermal jitter, squaring loss included",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"jitter_table[].pll_three_sigma_deg": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"lock_history.cn0_high_dbhz": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB-Hz"
},
"lock_history.cn0_low_dbhz": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB-Hz"
},
"lock_history.declared_loss_of_lock_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"lock_history.declared_relock_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"lock_history.detector_steps": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "count"
},
"lock_history.drop_confirm_epochs": {
"definition": null,
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "count"
},
"lock_history.drop_crossing_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"lock_history.ramp_duration_s": {
"definition": "per leg; the profile ramps down then back up",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "s"
},
"lock_history.ramp_rate_db_per_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB/s"
},
"lock_history.relock_confirm_epochs": {
"definition": null,
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "count"
},
"lock_history.relock_crossing_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"lock_history.time_to_lose_lock_after_crossing_s": {
"definition": "the confirmation dwell, in seconds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"lock_history.unlocked_duration_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "s"
},
"loop.carrier_allowance_deg": {
"definition": "the 45 deg three-sigma form of the 15-degree Costas rule",
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "deg"
},
"loop.code_allowance_chips": {
"definition": "defaults to half the correlator spacing, the discriminator's linear half-range",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "chip"
},
"loop.code_slew_chips_per_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "chip/s"
},
"loop.correlator_spacing_chips": {
"definition": null,
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "chip"
},
"loop.discriminator_slope_chips_per_chip": {
"definition": "1/(2-d), the ideal-triangle gain of the normalised early-late amplitude discriminator",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "chip/chip (dimensionless)"
},
"loop.dll_bandwidth_hz": {
"definition": "one-sided code loop noise bandwidth; representative band figure",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "Hz"
},
"loop.doppler_rate_hz_per_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "Hz/s"
},
"loop.pll_bandwidth_hz": {
"definition": "one-sided carrier loop noise bandwidth; representative band figure",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "Hz"
},
"loop.predetection_integration_s": {
"definition": "coherent integration per epoch; the default 1 ms is one C/A code period",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "s"
},
"loop.pullin_bandwidth_ratio": {
"definition": "bandwidth multiplier while re-pulling-in; a design choice, not a physical constant",
"evidence_tier": "modelled",
"provenance": "modelled-input",
"unit": "ratio (dimensionless)"
},
"spoof_pull_in.cells[].carrier_budget_deg": {
"definition": "3*sigma_PLL + dynamic stress",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"spoof_pull_in.cells[].carrier_stress_deg": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "deg"
},
"spoof_pull_in.cells[].code_lag_chips": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "chip"
},
"spoof_pull_in.cells[].code_slew_chips_per_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "chip/s"
},
"spoof_pull_in.cells[].code_slew_m_per_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"spoof_pull_in.cells[].doppler_rate_hz_per_s": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "Hz/s"
},
"spoof_pull_in.cells[].range_acceleration_m_per_s2": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s^2"
},
"spoof_pull_in.evaluated_at_cn0_dbhz": {
"definition": null,
"evidence_tier": "illustrative",
"provenance": "input",
"unit": "dB-Hz"
},
"spoof_pull_in.max_code_slew_chips_per_s": {
"definition": "4*B_dll*(code_allowance_chips - 3*sigma_DLL) at evaluated_at_cn0_dbhz; this is the ceiling the cells are decided against",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "chip/s"
},
"spoof_pull_in.max_code_slew_m_per_s": {
"definition": "the same limit as a pseudorange drag rate at the stated chip rate",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s"
},
"spoof_pull_in.max_code_slew_noiseless_chips_per_s": {
"definition": "4*B_dll*code_allowance_chips, the geometric ceiling with the code jitter set aside",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "chip/s"
},
"spoof_pull_in.max_doppler_rate_hz_per_s": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "Hz/s"
},
"spoof_pull_in.max_range_acceleration_m_per_s2": {
"definition": "the same limit as a line-of-sight acceleration at the stated carrier",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "m/s^2"
},
"thresholds.carrier_drop_cn0_dbhz": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"thresholds.code_drop_cn0_dbhz": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"thresholds.drop_cn0_dbhz": {
"definition": "the larger of the two; whichever loop gives up first binds",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
},
"thresholds.hysteresis_db": {
"definition": "relock_cn0_dbhz - drop_cn0_dbhz",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"thresholds.hysteresis_lower_bound_db": {
"definition": "5*log10(pullin_bandwidth_ratio), the squaring-loss-dominated limit",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"thresholds.hysteresis_upper_bound_db": {
"definition": "10*log10(pullin_bandwidth_ratio), the thermal-dominated limit",
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB"
},
"thresholds.relock_cn0_dbhz": {
"definition": null,
"evidence_tier": "inherits-scenario-label",
"provenance": "computed",
"unit": "dB-Hz"
}
},
"fields_described": 61,
"fields_total": 61,
"fields_without_units": [],
"label": "MIXED — VALIDATED loop closed forms, MODELLED loop configuration. The carrier and code thermal-jitter expressions, the loop-filter reduction sqrt(2*B_n*T) and the first-order ramp lag are cross-checked against the engine's own sdr correlator stepped forward on seeded synthetic IF (a different route to the same numbers), and the modified Bessel I0 against standard tabulated values. MODELLED: the loop bandwidths, integration time, correlator spacing, pull-in bandwidth ratio, confirmation dwells, jammer power and antenna gains are REPRESENTATIVE BAND FIGURES, not a datasheet for any receiver. NOT modelled: oscillator (Allan-deviation) and vibration jitter, front-end bandwidth limiting, multipath, AGC dynamics, data-bit-transition loss, external aiding, and any half-cycle correction to the Costas cycle-slip formula. The loop-dynamics denial radius is reported ALONGSIDE the existing power-ratio radius and never in place of it. Not a certified receiver-performance product.",
"source": "defaults"
}
},
"provenance_classes": {
"closed-form": {
"evidence_tier": "validated"
},
"computed": {
"evidence_tier": "inherits-scenario-label"
},
"constant": {
"evidence_tier": "validated"
},
"derived": {
"evidence_tier": "inherits-scenario-label"
},
"input": {
"evidence_tier": "illustrative"
},
"internal-consistency": {
"evidence_tier": "validated"
},
"measured": {
"evidence_tier": "validated"
},
"measured-or-input": {
"evidence_tier": "depends-on-input"
},
"modelled": {
"evidence_tier": "modelled"
},
"modelled-input": {
"evidence_tier": "modelled"
},
"published": {
"evidence_tier": "validated"
},
"spec": {
"evidence_tier": "validated"
}
},
"schema": "kshana-field-units",
"schema_version": "1",
"statement": "Unit, provenance class, evidence tier and definition for every numeric field every built-in scenario kind emits at the source named per kind. Fields listed under `fields_without_units` are NOT described yet — they are named rather than omitted."
}