lunar-integrity (scenario kind)
Scenario kind of the engine v0.38.0, family Lunar and cislunar. Advisory: analysis output from a research and engineering tool, not type-approved navigation equipment and not a safety-of-life service. Every label here is the engine's or the verification matrix's; a kind is MODELLED unless the matrix says otherwise (how a label is earned: the README's Evidence section).
What it does#
Lunar south-pole ARAIM protection-level pass vs a representative LunaNet relay set. sigma_ure_m exposes the signal-in-space ranging accuracy (protection levels scale linearly with it, so sweeping it answers what ranging accuracy an alert limit requires). Defaults to the historical LNIS-class south-pole case.
One run of scenarios/lunanet-araim.toml summarises as: lunar-integrity | south pole | 0/24 epochs available (0.0%) | AL 50 m | σ_URE 30 m | HPL 263–452 m
Inputs#
From the schema (kshana kinds --json):
- Required fields: none
- Optional fields:
step_s,duration_s,alert_limit_m,p_hmi,sigma_ure_m
The example scenarios/lunanet-araim.toml sets, among others:
| Field | Value | Unit |
|---|---|---|
alert_limit_m |
50 | m |
duration_s |
86400 | s |
kind |
lunar-integrity | text |
p_hmi |
1.0000e-4 | not stated |
step_s |
3600 | s |
Run it#
kshana scenarios/lunanet-araim.toml
What it gives#
The scalar results of that run, with the units the engine states:
| Result | Value | Unit |
|---|---|---|
alert_limit_m |
50 | m |
max_hpl_m |
452.18433 | m |
min_hpl_m |
263.02565 | m |
samples_available |
0 | count |
samples_total |
24 | count |
sigma_ure_m |
30 | m |
Evidence#
No matrix row names this kind by name; the label on its result is the engine's own, above.
The rows the run itself exercised, with the oracle the matrix gives each (the public sources are named there):
- VALIDATED ARAIM multiple-hypothesis solution separation per the ARAIM Airborne Design Document (ADD) v4.2 (araim_reference::add_v42_protection_levels and add_v42_protecti. Oracle (ExternalDataset): Three independent tools, pre-registered (0123cee1) before any fixture or oracle output existed, tolerances fixed then. (1) ARAIM: Stanford MAAST for ARAIM 2 (commit ab70e2a3, BSD-3) mhss_raim_baseline_v5.m, run as a separate program under GNU Octave 8.4 with a driver-side unique() compatibility shim (disclosed, no algorithm change), at the ADD TOL_PL of 0.05 m: the Rust reproduces the ADD reference implementation on
- MODELLED Deterministic, scenario-hashed, SBOM + cross-platform golden gates. Oracle (ExternalDataset): SBOM conformance to the official CycloneDX 1.5 JSON Schema (+ valid SPDX identifiers) — an external published standard, zero validation errors over the full dependency graph; the FoM-determinism / byte-reproducibility part remains a pinned self-consistency check, so the row stays MODELLED
- VALIDATED The lunar protection level's geometry-to-covariance step — (GᵀG)⁻¹ over the all-in-view and every single-fault sub-geometry, projected onto the local vertical a. Oracle (ExternalDataset): Two established third-party implementations composed, both run offline, with the fixture regenerated end-to-end and verified byte-identical. RTKLIB 2.4.2-p13 (T. Takasu, BSD-2-Clause), commit 71db0ff, src/rtkcmn.c compiled from C source with -ULAPACK: lsq() → matinv() → ludcmp()/lubksb() inverts the normal matrix by Crout LU with partial pivoting, an algorithm unrelated to kshana's hand-written Gauss-Jordan invert4()
Limitations#
What the run's own report says is not modelled or not validated:
- Reproducibility & software assurance is MODELLED, not validated: a sub-claim is externally checked, but the whole capability composes modelled pieces, so the capability stays Modelled. (verification matrix (docs/MODELLED-RATIONALE.md))
See also#
- Family page: Lunar and cislunar
- All kinds: KINDS.md