Skip to main content

Crate kshana

Crate kshana 

Source
Expand description

§kshana — a validated, reproducible PNT simulation substrate

kshana is an open-source engine for positioning, navigation and timing (PNT) analysis: GNSS geometry and integrity, clock holdover and time transfer, inertial and alt-PNT navigation, orbit and mission analysis, lunar/cislunar PNT, and RF resilience. It has no scientific runtime dependencies, and every run is deterministic from its inputs.

§Entry points

  • api::run_toml is the single dispatch entry: it parses a scenario TOML, detects its kind, runs it, and returns a structured result. Every language binding — the Python package, the MCP server, and the WASM playground — is a thin wrapper over it, so all surfaces run the identical engine.
  • api::list_scenario_kinds is the machine-readable catalogue of the built-in scenario kinds, each with its description and required/optional fields — the same catalogue the docs/SCENARIOS.md reference is generated from.

§Honesty model

Every capability carries an explicit maturity tier, generated from source in verification::verification_matrix (the single source of truth) and CI-pinned so the labels cannot drift from the code:

  • Validated — checked against an independent external oracle (a published dataset, reference vectors, or a closed-form value). A self-consistency check can never be labelled Validated.
  • Modelled — implemented from published or first-principles physics with tests, but not checked against an external oracle to a stated tolerance.
  • PartnerOwned — a capability kshana deliberately does not provide, recorded as a gap rather than faked.

The per-figure-of-merit tier shown next to a result is derived from this same matrix via fom_label. kshana makes no technology-readiness or heritage claim and is not affiliated with, nor endorsed by, any space agency.

§Reproducibility

Runs are deterministic: a scenario, a seed, and a pinned engine version rebuild the same figures byte-for-byte. The governing equations behind the physics are collected, with their literature sources, in the docs/EQUATIONS.md reference.

Modules§

acquisition
GNSS signal acquisition: square-law (non-coherent) detector statistics and the generalized Marcum Q-function.
adm
CCSDS Attitude Data Messages (CCSDS 504.0-B-2, January 2024): the Attitude Ephemeris Message (AEM) and the Attitude Parameter Message (APM), written and read in KVN (keyword = value notation) and NDM/XML.
advanced_report
The advanced run report: one structured record of a scenario run, rendered as a printable HyperText Markup Language (HTML) page and as a machine-readable JavaScript Object Notation (JSON) document with the same content.
allan
Allan-family frequency-stability estimators — overlapping ADEV, MDEV, TDEV and HDEV, and the IEEE-1139 power-law noise fit.
altpnt
Alternative-PNT (GPS-denied) navigation packs.
animation
Animation export: a run’s time series as an animated Scalable Vector Graphics (SVG) file, a self-contained HyperText Markup Language (HTML) player, or a numbered sequence of SVG frames with a manifest for a video encoder.
antenna
Orbital transmitter antenna pattern and surface capture footprint.
aocs
Attitude and orbit control (AOCS): closed-loop MRP feedback with reaction wheels.
aocs_kind
The aocs scenario kind: an inertial-pointing slew with reaction wheels under MRP feedback (crate::aocs). The loop can be closed on the true state, or on an MEKF estimate from a gyro and a star tracker (crate::aocs_mekf).
aocs_mekf
Multiplicative extended Kalman filter (MEKF) for spacecraft attitude from a gyro and a star tracker.
aperture_duty
Aperture duty cycle: the navigation-versus-communications time-share that a contact plan implies for a pool of steerable apertures.
api
Scenario dispatch shared by the CLI and the language bindings.
araim_reference
Published ARAIM certification reference vectors — the WG-C ARAIM Technical Subgroup’s own worked numerical examples, run through this engine.
assurance
Assurance primitives: provenance, uncertainty, and external-oracle attestation.
attack_surface
Lunar surface-navigation attack-surface scenario (P1): the binary-reachable (run_toml / CLI / Python / MCP) face that composes the open signal-security analyses into one run. kind = "lunar-attack-surface".
attitude_budget
3-DOF attitude & pointing error budget: a scalar, pre-hardware AOCS/GNC complement to high-fidelity tools (Basilisk, 42) — the environmental gravity-gradient disturbance torque and a root-sum-square pointing-error budget over the contributing error sources, producing a single pointing figure of merit a systems engineer brackets before committing to a control design.
attitude_dynamics
Torque-free rigid-body attitude dynamics: Euler’s rotational equations of motion coupled to quaternion attitude kinematics, integrated with a fixed-step RK4 propagator.
batch_ls
Gauss–Newton weighted batch least squares — the batch differential corrector.
benchmark
Timing Integrity Benchmark (TIB): an honesty-immune yardstick that scores any timing monitor’s stated integrity risk against its measured undetected-error exceedance.
body
Central-body parameters — the gravitational and orientation constants that turn the Earth-hard-coded dynamics core into a body-agnostic one.
body_pnt
The body-pnt scenario kind: positioning, navigation and timing (PNT) around any solar-system body.
bplane
Hyperbolic-flyby B-plane targeting and patched-conic gravity assist.
calibration_ensembles
Calibration ensembles (CAP-10): single-seed checks re-run over many seeds. Calibration ensembles (CAP-10): a single-seed check re-run over many independent seeds, so the pass fraction of its tolerance and the coverage of its stated confidence interval are measured rather than assumed.
campaign
Campaigns: many scenarios composed into one run.
ccsds_tdm
CCSDS Tracking Data Message (TDM) parser and writer — the standard interchange format for raw radiometric tracking measurements.
celeste_iod
The optional Celeste IOD preset: compiled in only when src/celeste_iod.rs exists. ESA Celeste in-orbit demonstration (IOD): the one optional preset that uses parameters presented at the ESA Navigation Innovation and Support Programme (NAVISP) LEO-PNT (low Earth orbit positioning, navigation and timing) workshop, 2026.
chart
Shared SVG charting helpers used by the per-pack chart renderers.
cio
IAU 2006/2000A CIO-based celestial-to-terrestrial reduction (GCRS↔CIRS↔ITRS).
cislunar_arc_recovery
cislunar-arc-recovery — an independent estimator test of the cislunar arc-length observability threshold, built so that it does not consume the measurement Jacobians the threshold was measured with.
cislunar_observability
cislunar-observability scenario — planar cislunar constellation observability (P6).
cislunar_srif
Independent SRIF cross-validation of the cislunar observability transition (paper P6, L32).
clock_integrity
RAIM beside the clock-holdover figures of merit (CAP-05b): the optional [integrity] section of the clock kind.
clock_library
The measured clock library (“Clock Atlas”): device cards fitted to named measured clock records and scored on data they never saw.
clock_log
Clock-log formats: one parser layer that turns a measured clock log into a single normalised phase series (time_s, phase_s) on a uniform grid, with the sample interval tau0 found or stated, every gap counted, and the units of the log named.
clock_specs
Named lunar-timing clock specifications as IEEE-1139 power-law coefficient sets.
clock_state
Three-state onboard clock error model: phase, fractional-frequency, frequency drift.
compliance
Compliance report: which public-framework rows a set of Kshana runs supports evidence for, and which it does not.
conflict_resilience
conflict-resilience scenario — layered-PNT resilience in a contested / conflict environment (paper P7).
conflict_threat_params
Sourced threat-parameter provenance catalog for the conflict-resilience pack (L36).
constellation
Constellation designer at scale: Walker delta and Walker star patterns, explicit element lists, multi-shell designs and published presets for the four global navigation satellite systems (GNSS), several constellations in one run around any central body in crate::body, and a coverage and dilution-of-precision (DOP) map over a latitude/longitude grid.
contact_schedule
Ground-contact planning: access windows, adaptive coding and modulation (ACM) on each pass, and a multi-satellite, multi-station contact scheduler with conflict resolution.
cr3bp
Circular restricted three-body problem (CR3BP) for the Earth–Moon system.
cross_raim
Cross-modality RAIM / protection level — receiver-autonomous integrity for a heterogeneous pair of PNT solutions. Where crate::raim monitors many homogeneous RF pseudoranges of one constellation, this module treats an RF PVT/time solution and an optical PVT/time solution as two independent measurements of the same underlying geometry, with disparate covariances (RF loose — metres, nanoseconds; optical tight — centimetres, picoseconds), and monitors their consistency.
cross_sensor_integrity
Layer-2 cross-sensor integrity sizing: minimum detectable spoof walk.
crossover
Quantum-versus-classical resilience crossover study.
crpa
Controlled-reception-pattern antenna (CRPA) anti-jam beamforming: deterministic null-steering and minimum-variance distortionless-response (MVDR) weights for an N-element GNSS array.
cw_dynamics
Clohessy–Wiltshire / Hill relative-motion dynamics: the linearised motion of a chaser relative to a target on a circular reference orbit, expressed in the target’s local-vertical/local-horizontal (LVLH) frame.
deepspace_od
Numerically-robust sequential orbit determination — a hand-rolled Square-Root Information Filter (SRIF; Bierman 1977) with reduced-dynamic empirical accelerations, the factored complement to the batch differential corrector of crate::precise_od.
detection
Detection-theory primitives for the spoof monitor.
dop_error_ci
Position error ≈ σ_UERE × DOP on four hand-chosen skies, with chi-square confidence intervals: the first of the two checks of the ledger row (the second, the 0.36 design note’s pre-registered set on the 8 gnss_lib_py geometries, is crate::dop_error_mc).
dop_error_mc
Position error ≈ σ_UERE × DOP: a seeded Monte Carlo consistency check of the engine’s least-squares fix against the analytic covariance of the DOP kernel.
dro
Planar distant-retrograde-orbit (DRO) seeder for the Earth–Moon CR3BP (paper P6, L29).
earth_gnss_lunar
Earth-GNSS reception at lunar distance: the weak-signal layer P7’s Table 1 names and the engine had no model for.
egm2008_data
EGM2008 geopotential spherical-harmonic coefficients to degree/order 70 — AUTO-GENERATED from tools/egm2008_to70.gfc by tools/gen_egm2008.py; do not edit by hand. Fully normalized, tide-free. The EGM2008 model is an NGA public-domain product (via ICGEM). EGM2008_COEFFS are (n, m, Cnm, Snm).
ensemble
Monte Carlo ensembles for the clock-holdover scenario.
entry_eo_ascent
Entry heating, electro-optical radiometry and launch-ascent losses: three MODELLED trade-study tools that sit one step above the closed-form corridor, coverage and launch-window kinds (crate::reentry, crate::eo_payload, crate::launch) without changing any of their outputs.
eo_payload
Earth-observation payload footprint & coverage geometry: the SMAD/Wertz “space triangle” relations that turn an orbit altitude and a sensor field of view into the angular radius of the Earth, the swath width, the nadir ground sample distance, the maximum off-nadir access, and the equatorial ground-track spacing that drives revisit.
eop
IERS Earth-orientation parameters from the official finals2000A product.
eop_ls_ar
Least-squares plus autoregressive Earth-orientation prediction with the zonal tides removed. Least-squares plus autoregressive (LS+AR) Earth-orientation prediction with the zonal tides removed analytically.
ephem
Built-in low-precision analytical ephemerides for the third-body perturbing bodies, so the numerical propagator’s third-body force (crate::forces::third_body_accel) needs no external DE/SPK kernel (JPL Development Ephemeris in the Spacecraft and Planet Kernel format; JPL = Jet Propulsion Laboratory) for a low-fidelity run.
ephem_provider
A pluggable ephemeris provider seam — the source of one body’s position relative to another in the inertial frame — abstracted so the fidelity of those positions can be swapped without touching the deep-space light-time correction (D0.7) or the interplanetary orbit determination (D2/D3) that will consume it.
ephemeris
Ephemeris & ground-track scenario — the user-facing surface for satellite VELOCITY, the full frame reductions, and the WGS-84 sub-satellite point.
estimator
Clock-holdover state estimators: the coasted time-error prediction a GNSS-denied clock free-runs on.
eval_stats
Hand-derived statistics for the impairment-evaluation study.
evidence
Signed, verifiable evidence packs for a GNSS trust event.
field_schema
Units and provenance for every emitted field — the shared vocabulary, the path grammar and the audit that turn the per-report units blocks into one enforceable contract.
filter_health
Kalman filter-consistency health monitoring (NIS / NEES).
fim
Fisher information, the Cramér–Rao lower bound, and observability/datum-defect analysis — the information-geometry core for experiment design and rank diagnosis.
fom
Figures of merit — the scored timing, integrity and security metrics a scenario reports, and the samples that feed them.
fom_label
Per-figure-of-merit validation tier.
forces
Orbital force model: two-body gravity, the zonal-harmonic field, and third-body gravity.
frame_eop
Real-time frame / Earth-orientation prediction budget for lunar timing.
frames
Reference-frame reduction and a geodetic ground-station observer.
frugal
Frugal-engineering cost-per-coverage / ROI layer over constellation sizing.
fusion
Joint Kalman sensor-fusion estimator.
geolocation
Passive emitter geolocation by TDOA (time-difference-of-arrival) and FDOA (frequency-difference-of-arrival) across a network of receivers — the core of locating a jammer/spoofer, or reverse-PNT off an opportunistic emitter, when GNSS itself is the thing under attack.
geometry
The sky-geometry engine functions of the design note (docs/design/2026-10-12-geometry-and-skyline-design.md, item 2): which satellites a site sees under a skyline, their dilution of precision, the geometry covariance, the horizontal error ellipse, a seeded Monte Carlo cloud and an SVG skyplot.
glonass
GLONASS broadcast ephemeris: a PZ-90 state-vector model with RK4 propagation.
gnss_navmsg
Navigation-message encoders beyond GPS LNAV: GPS CNAV (gps_cnav), Galileo I/NAV (gal_inav) and Galileo F/NAV (gal_fnav), with the channel coding they share (fec: CRC-24Q, the rate-1/2 constraint-length-7 convolutional code, block interleaving, and a hard-decision Viterbi decoder used to check the encoders).
gnss_sim
Measurement-domain GNSS simulation: pseudoranges with ionospheric and tropospheric delays.
gps_lnav
GPS legacy navigation message (LNAV) encoder: subframes 1 to 3 of the L1 C/A (coarse/acquisition) signal, as IS-GPS-200 (Interface Specification, GPS 200) section 20.3 lays them out.
gravimeter
Cold-atom gravimeter measurement model and a spherical-harmonic gravity-anomaly reference field for gravity-map-matching navigation (GPS-denied alt-PNT).
gravity_pds
Planetary gravity fields from the PDS SHADR spherical-harmonic tables: the published high-degree Mars (GMM-3, degree/order 120) and Moon (GRAIL GL0660B, degree/order 660) fields, and any other body whose field the Planetary Data System (PDS) distributes in that format.
gravity_sh
Full tesseral spherical-harmonic geopotential: the EGM2008 field (bundled to degree/order 70, loadable to its full degree 2190), the high-degree gravity model the numerical propagator’s crate::forces zonal-only field was missing.
gse_sim
Ground-Support-Equipment signal-in-space / observable simulator and the end-to-end PNT performance loop — the GSE half of the deep-space build (D4.2 + D4.3).
handoff
Optical ↔ RF measurement handoff — the receiver state-and-covariance transfer when the active PNT measurement type switches between a tight optical modality (small measurement noise R) and a loose RF modality (large R).
hatch
Hatch carrier smoothing of code pseudoranges.
holdover
GNSS-denied clock holdover.
hybrid
Hybrid quantum + classical PNT: composing the clock-holdover and inertial models into one combined estimator.
hybrid_integrity
Joint availability / precision / integrity figure of merit for a heterogeneous optical + RF PNT service (P5), plus the hybrid-optical-rf scenario that drives it end-to-end.
igrf
IGRF-14 geomagnetic main-field model — an alternative-PNT signal source.
impairment_eval
AI-algorithm evaluation testbed for RF-impairment detection — the “Characterisation and Evaluation of Machine-Learning Techniques” layer.
impairment_ml
Learned RF-impairment detectors for the optimism-gap study.
impairment_study
The optimism-gap study: per-class AUC, the distribution-shift optimism gap, the experiment grid, and the ID-only gap predictor.
inertial
Inertial navigation: strapdown INS mechanization and the accelerometer error models (classical and cold-atom) a GNSS-denied coast dead-reckons on.
inline_only
The inline-only boundary for surfaces that run scenario text from an untrusted party (the Model Context Protocol (MCP) server): such a surface accepts content inline, and refuses a scenario that names a file or folder for the engine to read.
integrator
Adaptive numerical ODE integration: classical RK4 with step-doubling control, a Dormand–Prince RK5(4) embedded pair, and Hairer’s DOP853 8(5,3) pair with dense output.
integrity
Composed Timing Integrity (CTI): protection levels over heterogeneous time sources across the RAIM-available → holdover transition.
integrity_impact
Detection-miss → integrity-impact mapping (context-aware alert limits).
interchange
Kshana Interchange Format (KIF) — a neutral, versioned, self-describing envelope for Kshana artifacts (scenarios, run results, trade studies, …).
interference_map
GNSS interference map built from openly licensed aircraft (ADS-B) and ship (AIS) position reports, and a route-exposure summary on top of it.
interop
Interoperability exports: a scenario’s geometry in the formats other tools read.
intersat_range
Inter-satellite range / range-rate observables and their planar and spatial measurement Jacobians — the per-link measurement model for cislunar observability analysis.
ionex
IONEX-style total-electron-content (TEC) maps and the ionospheric range delay.
iq
GNSS IQ: the shared contract for signal-level simulation and receiver processing.
jamming
RF interference (jamming) model: J/S → effective C/N₀ → loss of lock.
jamming_rx
The receiver side of the jamming kind (CAP-06 (c)): the optional [acquisition] section (acquisition-versus-tracking hysteresis) and the optional [front_end] section (the AGC reading and the ADC’s quantiser loss), pre-registered in docs/design/evidence/jamming-acq-agc/PREREGISTRATION.md.
jamming_terrain
Terrain shadowing of the jammer in the jamming kind (CAP-06 (b)): the optional [terrain] section, pre-registered in docs/design/evidence/jamming-terrain/PREREGISTRATION.md.
jd2
Two-part (high-precision) Julian dates.
kalman
Two-state Kalman clock estimator.
kepler
A robust solver for the elliptic Kepler equation M = E − e·sin E, shared by new code.
lambda
GNSS carrier-phase integer ambiguity resolution — the LAMBDA approach (Teunissen 1995): integer least-squares with a decorrelating integer (Z) transform and a closed-form bootstrapped success rate.
launch
Launch-window & ascent geometry: the two-body relations a mission analyst uses at the trade-study tier to turn a launch-site latitude and a target orbit into launch azimuth(s), the minimum reachable inclination, the Earth-rotation velocity bonus, plane-change (dogleg) Δv, and the number of daily launch opportunities.
leo_fusion
Fused medium-Earth-orbit (MEO) and low-Earth-orbit (LEO) positioning, navigation and timing (PNT): Doppler positioning, joint pseudorange positioning across systems, precise point positioning (PPP) with LEO augmentation, positioning from a 5G non-terrestrial network (NTN) signal, LEO-assisted time transfer to Coordinated Universal Time (UTC), and coverage at polar and Arctic latitudes.
leo_link
LEO-PNT link physics: the public building blocks of the leo-pass scenario kind (crate::leo_pass), callable on their own by any other module.
leo_navmsg
LEO navigation message: fit, evaluate, update, encode and export the broadcast ephemeris and clock of a low Earth orbit (LEO) positioning, navigation and timing (PNT) satellite. The leo-navmsg kind.
leo_pass
The leo-pass scenario kind: a LEO (low Earth orbit) satellite pass and its link budget, band by band, next to the MEO (medium Earth orbit) GNSS (global navigation satellite system) satellites in view.
leo_pnt_chain
The leo-pnt-chain scenario kind: one LEO-PNT (low Earth orbit positioning, navigation and timing) system followed end to end, from its signal design to the user’s position.
leo_signal
Low Earth orbit (LEO) positioning, navigation and timing (PNT) signal designs: a parameterised signal library, band-limited spectra, code-tracking and acquisition performance, compatibility with GNSS, and a band trade from UHF to C band.
linalg_sr
Square-root information linear algebra: Householder QR (orthogonal-triangular decomposition), a square-root information filter (SRIF) measurement update, and the seven-parameter datum read off a square-root information matrix without ever forming or inverting an information matrix.
linkbudget
Deep-space communications link budget — the Friis transmission account that turns transmit power, antenna gains, range and noise temperature into the carrier-to-noise-density C/N₀, the energy-per-bit-to-noise-density Eb/N₀, and the link margin over a required Eb/N₀. This is the telecom-design half of a deep-space mission, the companion to the navigation observable model in crate::radiometric: the navigation kernel says where the spacecraft is from the signal’s timing; the link budget says whether the signal closes at all across the same Earth–Mars range.
lunar
Cislunar PNT integrity: ARAIM for a LunaNet-style lunar navigation service.
lunar_afs
LunaNet Augmented Forward Signal (AFS) reference generator.
lunar_beacon
Surface-beacon augmentation of a lunar navigation service (L08, L09).
lunar_combination
Joint multi-technique lunar OD + clock batch estimator (a SIMULATED network).
lunar_common_mode
Common-mode integrity core: the blind-subspace projector and the split of a measurement error into its RAIM-invisible and RAIM-detectable parts.
lunar_datum
7-parameter Helmert datum for lunar reference-frame identifiability analysis.
lunar_dpnt
Lunar differential PNT (a lunar DGNSS / SBAS analogue): a fixed reference station at a known lunar-surface location computes per-satellite differential corrections from a Moonlight / LCNS-class constellation, and a roving user applies them so the common-mode orbit + clock errors cancel — leaving only a residual that grows with the user↔reference baseline (spatial decorrelation) — plus user protection levels that reuse the crate’s DO-229E SBAS machinery.
lunar_ephemeris
Real, retrieved lunar constellation geometry for the service-volume sweep — an ephemeris or a published constellation definition read from a file, in place of the illustrative Keplerian set crate::lunar_service::LunarConstellation builds.
lunar_faultobs
Free-network (self-referential) fault-observability substrate for a sparse multi-provider lunar constellation.
lunar_frame
IAU 2015 / WGCCRE lunar body-fixed orientation — the Mean-Earth/polar-axis (ME) frame.
lunar_frame_campaign
The seven-parameter Helmert datum driven by a simulated observing campaign, not by an injected transform.
lunar_frame_predict
Real-time lunar frame/ephemeris prediction error — derived endogenously.
lunar_frame_realise
Lunar reference-frame realisation — estimate a frame datum from a network of points.
lunar_gauge
Coupled frame⊕timescale gauge / datum-defect theorem for lunar PNT.
lunar_identifiability
Datum-identifiability decomposition for the 7-parameter Helmert lunar frame.
lunar_interop
Lunar interoperability export — the lunar reference frame, lunar time scale and lunar ephemeris emitted in LunaNet/IOAG-aligned, CCSDS-based interchange forms with round-trip / field conformance.
lunar_interop_budget
Cross-provider lunar interoperability budget — P2 science layer.
lunar_jamming
Lunar-native RF jamming (kind = "lunar-jamming"): per-satellite jammer-to-signal ratio, effective C/N₀ and loss of lock for a lunar surface user under a lunar surface (or raised) jammer, over a Moonlight / LCNS-class lunar-orbit constellation.
lunar_llr
The seven-parameter Helmert lunar frame datum driven by a real, archived observing campaign — measured lunar laser ranging normal points — rather than by a simulated one.
lunar_llr_geometry
LLR (Lunar Laser Ranging) geometry catalog for the datum-defect Fisher analysis.
lunar_od
Moon-centred force model for lunar precise orbit determination — the selenocentric analogue of crate::precise_od::PreciseForceModel.
lunar_orientation
DE440 lunar principal-axis orientation provider — compile-time embedded fixture.
lunar_perturbed
Perturbed lunar-constellation ephemeris: an Elliptical Lunar Frozen Orbit (ELFO) / LCNS-class relay propagated under lunar J2 + C22 plus Earth (and optional Sun) third-body gravity, in a Moon-centred inertial (MCI) frame.
lunar_receiver
Multipath and receiver-hardware error terms for a lunar surface receiver (LRS-02), used by the lunar-station-coverage kind at the user and at the reference station when its optional [receiver] section is given.
lunar_service
Lunar navigation service-volume analysis: DOP / coverage / availability and generalised lunar ARAIM protection levels over a lunar surface region, from a Moonlight / LCNS-class lunar-orbit constellation.
lunar_solution
The optional solution modes of the lunar-station-coverage kind (LRS-06): a height constraint, a three-satellite minimum with it, and a static-user window over epochs.
lunar_station
The lunar-station-coverage scenario kind: what positioning accuracy and protection level a user gets from a lunar differential reference station at a known south-polar site, as a function of where the user is and when.
lunar_techniques
Representative multi-technique lunar datum-measurement menu + additive Fisher combiner (Modelled).
lunar_terrain
Azimuth-dependent terrain horizon masks for lunar surface sites.
lunar_time
Lunar coordinate time scale (LTC/TCL) and the relativistic Earth↔Moon clock rate.
lunar_time_budget
Coordinated Lunar Time (LTC) end-to-end time-error budget over a τ grid.
lunar_time_budget_scenario
lunar-time-budget scenario — a runnable wrapper over the Coordinated Lunar Time (LTC) end-to-end time-error budget (crate::lunar_time_budget).
lunar_time_lab
Station time laboratory: a clock steered to Coordinated Lunar Time (LTC) and then left to free-run, or re-steered every N seconds (MODELLED).
lunar_vlbi
Lunar geodetic VLBI delay observable for an Earth baseline observing a lunar beacon.
lunar_vlbi_fim
Station-coordinate covariance from a lunar-VLBI schedule: the delay partials of lunar_vlbi accumulated over baselines and epochs into a Fisher information matrix. Station-coordinate covariance from a lunar-VLBI schedule — the Fisher-information accumulation that replaces a modelled equipartition link.
maneuver
Impulsive / finite-burn maneuvers, a Lambert two-body transfer solver, and a porkchop (departure × arrival C3 / arrival-V∞) sweep — the maneuver-modeling and trajectory-design beachhead.
mapmatch
Map-matching measurement model for terrain-/gravity-referenced navigation.
mars_atmos
Mars neutral-atmosphere density and atmospheric-drag acceleration.
mars_frame
IAU 2009 Mars body-fixed orientation — the rotation from Mars-centred inertial (≈J2000/ICRF) to the Mars body-fixed frame.
mars_od
Mars orbit determination from real DSN tracking: ramped 2-way X-band Doppler from a TRK-2-18 Orbit Data File (crate::odf), fitted with a Mars-orbiter force model (CAP-30, stage 2).
mars_pnt
Mars PNT — a simulated MARCONI-style relay constellation at Mars plus reference user scenarios, run through the D3.1 joint one-way + two-way radiometric fusion estimator (D3.2/D3.3).
mcda
Multi-Criteria Decision Analysis (MCDA).
models
Stochastic clock and error models — the noise processes a scenario samples to drive a run.
monitor_network
Sparse-monitor-network detection sizing: how many surveyed, known-location monitor receivers does it take to catch a wide-area / orbital-scale spoof or jam?
naif_kernel
A pure-Rust reader for the binary kernels of the NAIF (Navigation and Ancillary Information Facility, NASA Jet Propulsion Laboratory) SPICE system: the Double-precision Array File (DAF) container, Spacecraft and Planet Kernel (SPK) segments of type 2 (Chebyshev position) and type 1 (modified difference arrays, the form of JPL spacecraft reconstructions), and binary Planetary Constants Kernel (PCK) segments of type 2 (Chebyshev Euler angles).
navsignal
Nav-signal modulation, correlation and code-tracking performance.
ndm_xml
A small XML reader and writer for the CCSDS Navigation Data Messages in NDM/XML (CCSDS 505.0-B): elements, attributes, character data, comments, processing instructions and the five predefined entities plus numeric character references. No DTD, no namespaces beyond keeping prefixed names as written. Enough for the flat, schema-defined NDM messages; not a general XML processor.
nma_budget
Navigation-message-authentication (TESLA/OSNMA) budget sizing: turns the assertion “an OSNMA-style authentication scheme fits an AFS (autonomous-formation-flying / augmented-navigation-service) message and timing budget” into a sized result — the authentication overhead as a fraction of the nav-data rate, a bounded authentication latency, and the forgery-resistance figures.
nmea_synth
Synthetic bridge NMEA 0183 for crew training: the nmea-scenario subcommand.
nrlmsise00
NRLMSISE-00 empirical neutral-atmosphere model (J. Geophys. Res. 107(A12), 1468, 2002, doi:10.1029/2002JA009430): number densities of He, O, N₂, O₂, Ar, H, N and anomalous oxygen, the total mass density and the temperature, from the ground to the exosphere, driven by day of year, UT, position, local solar time, F10.7 (previous day and 81-day mean) and Ap.
nutation
IAU 2000B nutation and the full TEME→GCRS/J2000 inertial reduction.
observability_gramian
Observability-Gramian-over-arc core for planar cislunar tracking (paper P6).
odf
A reader for DSN Orbit Data Files (ODF), format TRK-2-18 (JPL/DSN document 820-13, module TRK-2-18; the revision archived with the MRO radio-science data as NAV023-ODF-2-18_Rev3.htm).
odm
CCSDS Orbit Data Messages (CCSDS 502.0-B-3, April 2023): the Orbit Parameter Message (OPM), the Orbit Mean-Elements Message (OMM) and the Orbit Comprehensive Message (OCM), written and read in KVN (keyword = value notation) and NDM/XML. The ephemeris message (OEM) lives in crate::oem.
oem
CCSDS Orbit Ephemeris Message (OEM) writer.
omm
CCSDS OMM (Orbit Mean-Elements Message, 502.0-B-2) writer.
optical_atmosphere
Optical atmosphere for slant-path free-space links — clear-air extinction, cloud optical depth and optical turbulence (Hufnagel–Valley Cn², Rytov variance, scintillation index, gamma-gamma parameters). It replaces the single lumped atmospheric_loss_db of crate::optical_linkbudget with a wavelength- and geometry-dependent account; the lumped path stays available and unchanged when no atmosphere is supplied.
optical_atmosphere_scenario
The optical-atmosphere scenario kind: optical PNT through the atmosphere. One run takes an optical link, a set of ground sites with stated cloud climates, optional enhancement techniques and a clock list, and reports per site the clear-air loss, the turbulence statistics, the availability against the link margin, the margin needed for target availabilities, the outage-duration distribution and the timing / ranging error growth per outage; and for the network the site-diversity availability.
optical_availability
Optical ground-network availability — the clear-sky / pointing availability of a free-space optical PNT link, and the diversity gain of an N-station network. An optical link is weather-limited: a single site is available only when its sky is clear and the terminal can point and acquire. Distributing several sites across uncorrelated weather systems raises the network availability toward unity — the P5 Table 2 / Fig 1b argument.
optical_linkbudget
Optical (1550 nm) two-way link budget — the photonic companion to the RF crate::linkbudget module. Where the RF budget turns EIRP / G/T / range into a carrier-to-noise density, the optical budget turns transmit power, aperture, range and detection efficiency into a detected-photon rate, and from that photon count into a photon-limited ranging precision and a diffraction-limited beam footprint. This is the optical column of the P5 heterogeneous-PNT table.
optical_outage_holdover
Timing and ranging continuity through optical outages. An optical link drops for the duration of a cloud event; while it is down the user’s clock coasts. This module couples the outage-duration distribution of crate::optical_weather::OutageModel to the closed-form coast variance of crate::holdover, so every outage maps to a timing error σ_x(D) = coast_phase_sigma(q, D) and a ranging error c·σ_x, with no new clock model.
optical_sitediv
Site diversity for an optical ground network: availability of N spatially separated stations whose weather is correlated through distance.
optical_techniques
Enhancement-technique trade layer. A candidate technique is a named set of stated parameters applied to a baseline SiteLink; its predicted availability gain is A(with) − A(without) at the same site, with every assumption printed.
optical_weather
Weather-driven optical link availability of one ground site: cloud and turbulence fades against a link margin, the fade margin needed for a target availability, and the outage duration statistics.
orbit
Keplerian-orbit propagation and GNSS line-of-sight visibility.
orbit_determination
Orbit determination: recover a satellite’s orbital state from ground-station tracking.
orbital_timing
The timing protection level for a receiver in orbit.
osnma
Galileo OSNMA receiver-side verifier (SIS ICD Issue 1.1, Receiver Guidelines Issue 1.3; see docs/OSNMA.md).
palette
The one colour and type palette every generated graphic draws from.
particle_filter
Sequential-importance-resampling (SIR) particle filter.
passes
Ground-station pass prediction: the time-domain rise/set scheduler that turns an orbit + a ground station + an elevation mask into the list of visibility passes (AOS, TCA, LOS, maximum elevation, duration) over a window — the ground-segment planning query the static look-angle primitives in crate::frames (look_angles/elevation/is_visible) do not provide on their own.
permalink
Shareable scenario permalinks (self-contained Base64, RFC 4648).
powerlaw
IEEE-1139 power-law clock-noise model: the five-coefficient PSD ↔ Allan-variance conversion, with first-class support for the flicker-FM floor.
ppp_real
Float precise point positioning (PPP) on real RINEX observations with precise products.
precession
IAU 2006 precession: Fukushima–Williams angles and the precession rotation matrix.
precise_od
Full-force precise orbit determination from position observations — the precise estimator that fits Kshana’s complete force model (EGM2008 tesseral gravity + solid/ocean/ atmospheric tides + Sun/Moon third body + SRP + drag + Schwarzschild/Lense–Thirring GR) to a track of inertial position fixes and reports the post-fit residuals in the radial/transverse/ normal (RTN) frame.
precise_products
Precise satellite products for code positioning: Receiver Independent Exchange (RINEX) clock files, the satellite antenna phase-centre offsets of an antenna exchange (ANTEX) file, and the Center for Orbit Determination in Europe (CODE) differential code bias (DCB) files, combined with a Standard Product 3 (SP3) precise orbit into satellite positions and clocks.
propagator
Numerical orbit propagator: a configurable force model integrated by the adaptive Runge–Kutta driver, the first non-analytic propagator in Kshana (the rest of the orbit stack is the analytic SGP4/SDP4 of crate::sgp4).
pvt
Single-point positioning (SPP): a position fix from real measurements.
qtrade
Unified quantum-vs-classical trade evidence.
quantum_devices
Quantum device error-model library + representativeness.
quantum_faults
Fault / anomaly detection for quantum PNT systems.
quantum_nav_od
GNSS-free quantum spacecraft navigation.
quantum_trade
Quantum-vs-classical PNT trade engine + measured-ADEV ingestion + GNSS-denied resilience envelope — the ground-side decision artifacts a quantum-PNT consortium needs (ESA AO/1-13503).
radiometric
Radiometric observable corrections for deep-space tracking — the light-time solution and the Shapiro relativistic delay that turn a geometric range into the time a signal actually takes to travel between two bodies.
raim
Snapshot Receiver Autonomous Integrity Monitoring (RAIM).
realdata
Real-data ingest adapters for the optimism-gap probe.
realtime_frame_eop
realtime-frame-eop scenario — a runnable wrapper over the real-time lunar frame / Earth-orientation prediction budget (crate::frame_eop).
receiver_trust
GNSS trust observability from a real receiver’s own log: the receiver-trust kind.
reentry
Ballistic re-entry corridor (Allen–Eggers): the closed-form analytic entry of a non-lifting body through an exponential atmosphere at a constant flight-path angle. It turns an entry velocity + flight-path angle into peak deceleration, the velocity and altitude where that peak occurs, and the peak-heating velocity — the pre-Phase-A corridor numbers an EDL analyst brackets before any high-fidelity trajectory or aerothermal run.
registry
Scenario pack registry — the dispatch seam.
report
Result reporting: assembling a run’s figures of merit, samples and provenance into the structured result returned to callers.
representativeness
Representativeness & gaps-to-flight ledger.
resilience
PNT-resilience scoring & the decision-instability of single-number ratings.
rinex
RINEX 3 navigation-message (broadcast ephemeris) parser.
rinex_obs
RINEX 3.0x observation-file parser.
rtk_real
Real-time-kinematic (RTK) style relative positioning on real RINEX observations: carrier-phase and code double differences between a base and a rover, a float Kalman filter, and integer ambiguity fixing by crate::lambda::resolve.
run
Single-run orchestration: driving a parsed scenario through the estimator and scoring it into a result.
sbas
SBAS / DO-229E integrity: weighted-least-squares protection levels, the L1/L5 dual-frequency ionosphere-free combination, and a DO-316/DO-229E compliance map.
scenario
Scenario model: the parsed TOML scenario the engine classifies, dispatches and runs.
sdr
Software-defined-receiver front end: raw IQ IF -> correlator taps.
security
Spoofing-detection security figure of merit.
sgp4
SGP4/SDP4 analytical orbit propagation.
sigmf
Signal Metadata Format (SigMF) recordings: read and write complex IQ.
skyline
Azimuth-dependent skyline masks: the lowest elevation a satellite must clear at each azimuth for an Earth-fixed site.
slot_timing
Slot timing: how long a free-running clock stays inside a time-indexed slot, and how often it needs a fix.
solar_system
The solar-system scenario kind: the whole solar system at one epoch.
sp3
SP3-c/d precise-ephemeris reader and writer.
space_packet
CCSDS Space Packet Protocol (CCSDS 133.0-B) primary-header framing: the standards-compliant TM/TC packet structure ground systems and on-board software exchange. This is the simulation/test-level bridge that lets any Kshana scenario output be wrapped as a conformant packet stream (or a captured stream be parsed back), the “speak the agency packet format” interop layer.
space_weather
Space-weather environment model: solar (F10.7) and geomagnetic (Kp/ap) activity indices and their effect on thermospheric neutral density — the activity dependence the static piecewise-exponential atmosphere (crate::forces::atmospheric_density) deliberately omits.
spectrum
L-band spectrum model: signal and jammer power spectral densities, a time-frequency waterfall, per-band carrier-to-noise density under interference, and Welch spectral estimates of complex IQ.
spk_writer
A pure-Rust writer and reader for NAIF SPICE Spacecraft and Planet Kernel (SPK) segments of type 9 (Lagrange interpolation, unequal time steps) and type 13 (Hermite interpolation, unequal time steps), and an export of CCSDS Orbit Ephemeris Messages to such kernels; and, from given records, segments of type 3 (Chebyshev polynomials for position and velocity over fixed intervals) and type 21 (extended modified difference arrays, the “difference lines” of JPL integrators). Kshana does not fit Chebyshev coefficients or produce difference lines; it writes and evaluates the records it is given.
spoof
Active time-spoofing attack demonstrator.
spoof_capture
Tracking-loop pull-in spoof-capture model: does the spoofer actually capture the loop?
spoof_detect
The runnable spoof-detect scenario — the product surface over crate::spoof_monitors::CombinedSpoofDetector.
spoof_monitors
RF-layer spoofing monitors: AGC received-power and signal-quality (SQM).
srp_boxwing
Box-wing flat-plate and ECOM2 solar radiation pressure (opt-in; DS-PA-14). Non-cannonball solar radiation pressure: a box-wing flat-plate model and the ECOM2 empirical model, with estimation partials. Opt-in: the box-wing is wired into crate::propagator::ForceModel::srp_boxwing and crate::precise_od::PreciseForceModel::srp_boxwing (both None by default, so the cannonball crate::forces::srp_accel path is unchanged unless a model is set); ECOM2 is not wired into either force model.
srp_shadow
Opt-in refinements of the solar-radiation-pressure eclipse factor ν ∈ [0, 1].
study
study mode: run a crate::suite::Suite into one aggregated, comparable artifact.
suite
Scenario-suite manifest: a named SET of scenarios run together.
surface
String-in, string-out entry points for the 0.35 capabilities, shared by the Python bindings, the WebAssembly build and the Model Context Protocol (MCP) server.
sweep
Trade-study parameter sweeps.
telecom_timing
Telecom timing: time error, maximum time interval error (MTIE) and time deviation (TDEV) checked against the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) masks, with a PASS or FAIL and a margin per mask.
telemetry
GNSS trust as a security-telemetry source for operations centres.
tides
Solid Earth, ocean, and atmospheric tides on the geopotential (IERS Conventions 2010, Ch.6).
time_transfer_budget
The time-transfer-budget scenario kind: a TWSTFT link’s two-way equation and uncertainty budget (crate::twstft_budget), its simulated stability with flicker phase noise and a diurnal non-reciprocity, and, from files the user supplies, the stability of real time offsets. Those offsets can come from BIPM Circular T Section 1 issues (one laboratory’s UTC − UTC(k)), a two-column MJD,ns CSV of the same, or the station-clock (AR) records of an IGS RINEX clock file.
timegeo
Geometric time-transfer corrections: the Sagnac effect and GNSS common-view.
timescales
Time scales and the Julian-date API.
timetransfer
Time-and-frequency transfer: TWSTFT, GNSS common-view, PPP and free-space-optical link transfer precision.
timetransfer_adv
Advanced time-and-frequency transfer.
timetransfer_chain
Trusted quantum timing — end-to-end time-transfer chain, secure dissemination and a quantum-vs-classical trade.
tle
Two-line element set (TLE) ingestion.
tpl
Timing Protection Level (TPL) under time-synchronization attack.
tracking_loop
Tracking-loop loss-of-lock model: C/N₀ → lock/unlock with hysteresis, the time it takes to lose lock, and the spoof pull-in limits set by code and carrier offset rate.
twstft_budget
Two-way satellite time and frequency transfer (TWSTFT): the hardware-delay equation and its uncertainty budget, a two-way link with flicker phase noise and a diurnal non-reciprocity, and the stability of real UTC − UTC(k) and IGS station-clock series.
types
Shared scalar and specification types used across the engine (e.g. Seconds, ModelSpec).
utck_bound
A pooled, hierarchical ageing bound for UTC(k), each national laboratory’s realisation of Coordinated Universal Time: how far a laboratory’s [UTC - UTC(k)] offset can move over a staleness interval, when the laboratory’s own history is short or gappy.
verification
Machine-checked verification matrix.
wahba
Wahba’s problem: optimal three-axis attitude from weighted vector observations.
walker
Walker-delta constellation design on the validated SGP4 core.