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_tomlis 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_kindsis the machine-readable catalogue of the built-in scenario kinds, each with its description and required/optional fields — the same catalogue thedocs/SCENARIOS.mdreference 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
aocsscenario 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-pntscenario 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.rsexists. 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-observabilityscenario — 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 intervaltau0found 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-resiliencescenario — 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::raimmonitors 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.gfcbytools/gen_egm2008.py; do not edit by hand. Fully normalized, tide-free. The EGM2008 model is an NGA public-domain product (via ICGEM).EGM2008_COEFFSare(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
finals2000Aproduct. - 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
unitsblocks 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::forceszonal-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 (largeR). - 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-rfscenario 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
jammingkind (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 indocs/design/evidence/jamming-acq-agc/PREREGISTRATION.md. - jamming_
terrain - Terrain shadowing of the jammer in the
jammingkind (CAP-06 (b)): the optional[terrain]section, pre-registered indocs/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-passscenario 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-navmsgkind. - leo_
pass - The
leo-passscenario 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-chainscenario 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-densityEb/N₀, and the link margin over a requiredEb/N₀. This is the telecom-design half of a deep-space mission, the companion to the navigation observable model incrate::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::LunarConstellationbuilds. - 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+C22plus 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-coveragekind 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-coveragekind (LRS-06): a height constraint, a three-satellite minimum with it, and a static-user window over epochs. - lunar_
station - The
lunar-station-coveragescenario 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-budgetscenario — 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
Nseconds (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_vlbiaccumulated 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-scenariosubcommand. - 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 lumpedatmospheric_loss_dbofcrate::optical_linkbudgetwith a wavelength- and geometry-dependent account; the lumped path stays available and unchanged when no atmosphere is supplied. - optical_
atmosphere_ scenario - The
optical-atmospherescenario 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::linkbudgetmodule. 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::OutageModelto the closed-form coast variance ofcrate::holdover, so every outage maps to a timing errorσ_x(D) = coast_phase_sigma(q, D)and a ranging errorc·σ_x, with no new clock model. - optical_
sitediv - Site diversity for an optical ground network: availability of
Nspatially 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 isA(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-eopscenario — 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-trustkind. - 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-systemscenario 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-detectscenario — the product surface overcrate::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_boxwingandcrate::precise_od::PreciseForceModel::srp_boxwing(bothNoneby default, so the cannonballcrate::forces::srp_accelpath 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
studymode: run acrate::suite::Suiteinto 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-budgetscenario 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’sUTC − UTC(k)), a two-columnMJD,nsCSV 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.