Scenario kind pagesEdit on GitHubSource: docs/kinds/by-kind/lunar-frame-realisation.md

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
The chart the engine writes for scenarios/lunar-frame-realisation.toml, kind lunar-frame-realisation

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#