lunar-frame-realisation (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#
Modelled lunar reference-frame realisation: a 7-parameter Helmert (similarity) datum fit — 3 translation, 3 small-angle rotation, 1 scale — tying an estimated set of selenographic-derived MCMF point coordinates to a datum by weighted least squares (crate::batch_ls::gauss_newton), plus a simple orientation tie expressing the realised small rotation about the ICRF axes relative to the IAU 2015 WGCCRE body orientation. The scenario injects a known small transform (translation ~tens of m, rotation ~µrad, scale ~1e-7) into a well-spread synthetic point network, adds seeded Gaussian noise, recovers the datum, and reports the recovered transform, the per-parameter recovery error vs the injected truth, and the post-fit RMS residual. MODELLED self-consistency — recovers an injected similarity transform (noiseless to ~machine precision), NOT a realisation against real tracking/VLBI data; deterministic (seeded); no TRL/heritage/agency endorsement.
One run of scenarios/lunar-frame-realisation.toml summarises as: lunar-frame-realisation | 8 points | translation err 3.125e-1 m, rotation err 3.418e-7 rad, scale err -5.891e2 ppb | rms residual 0.887 m | converged false
Inputs#
From the schema (kshana kinds --json):
- Required fields: none
- Optional fields:
n_points,tx_m,ty_m,tz_m,rot_x_urad,rot_y_urad,rot_z_urad,scale_ppb,noise_sigma_m,seed,epoch_year,epoch_month,epoch_day
The example scenarios/lunar-frame-realisation.toml sets, among others:
| Field | Value | Unit |
|---|---|---|
epoch_day |
1 | d |
epoch_month |
1 | not stated |
epoch_year |
2024 | not stated |
kind |
lunar-frame-realisation | text |
n_points |
8 | count |
noise_sigma_m |
1 | m |
rot_x_urad |
3 | not stated |
rot_y_urad |
-2 | not stated |
rot_z_urad |
5 | not stated |
scale_ppb |
100 | ppb |
seed |
42 | not stated |
tx_m |
25 | m |
Run it#
kshana scenarios/lunar-frame-realisation.toml
What it gives#
The scalar results of that run, with the units the engine states:
| Result | Value | Unit |
|---|---|---|
converged |
false | flag |
injected.scale_ppb |
100 | ppb |
n_points |
8 | count |
recovered.scale_ppb |
-489.119839 | ppb |
rms_residual_m |
0.887327 | m |
rot_err_norm_rad |
3.4182e-7 | rad |
scale_err_ppb |
-589.119839 | ppb |
trans_err_norm_m |
0.312519 | 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):
- 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 7-parameter Helmert datum fit + ICRF orientation tie from a network of points. Oracle (ExternalDataset): Independent closed-form weighted Umeyama (Horn) similarity-transform solver (numpy/scipy SVD-based; Umeyama 1991 IEEE TPAMI, Horn 1987 JOSA A) — a different algorithm from kshana's iterative Gauss–Newton fit, reaching the same uniquely-defined weighted-LS optimum on byte-identical point networks
Limitations#
What the run's own report says is not modelled or not validated:
- MODELLED self-consistency — recovers an injected similarity transform (noiseless to ~machine precision), NOT a realisation against real tracking/VLBI data; deterministic (seeded); no TRL/heritage/agency endorsement. (kind catalogue (
kshana kinds --json)) - Honesty: MODELLED self-consistency. The oracle is the recovery of an injected 7-parameter similarity transform (noiseless to ~machine precision) plus the algebraic round-trip identity of apply_helmert. This is NOT a realisation of the lunar reference frame against real tracking / VLBI data and claims no absolute frame accuracy. Deterministic (seeded). No TRL, flight heritage or agency endorsement is claimed. (scenario file comment, lines 23 to 27)
- 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