https://github.com/AshfordeOU/kshana
Open, validated, reproducible PNT-resilience simulator spanning the full positioning, navigation & timing stack — orbit, clocks, INS, GNSS, integrity, resilience — plus quantum-vs-classical performance models. Runs as a Rust lib/CLI, Python, in-browser (WASM), an MCP server for AI agents, and a JetBrains plugin.
https://github.com/AshfordeOU/kshana
aerospace astrodynamics gnss mcp model-context-protocol navigation orbital-mechanics pnt positioning quantum-navigation quantum-sensors raim reproducible-research rust satellite sgp4 simulation timing wasm webassembly
Last synced: 7 days ago
JSON representation
Open, validated, reproducible PNT-resilience simulator spanning the full positioning, navigation & timing stack — orbit, clocks, INS, GNSS, integrity, resilience — plus quantum-vs-classical performance models. Runs as a Rust lib/CLI, Python, in-browser (WASM), an MCP server for AI agents, and a JetBrains plugin.
- Host: GitHub
- URL: https://github.com/AshfordeOU/kshana
- Owner: ashfordeOU
- License: agpl-3.0
- Created: 2026-06-01T21:02:33.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-07-09T11:47:16.000Z (11 days ago)
- Last Synced: 2026-07-09T13:17:32.294Z (11 days ago)
- Topics: aerospace, astrodynamics, gnss, mcp, model-context-protocol, navigation, orbital-mechanics, pnt, positioning, quantum-navigation, quantum-sensors, raim, reproducible-research, rust, satellite, sgp4, simulation, timing, wasm, webassembly
- Language: Rust
- Homepage: https://kshana.dev
- Size: 12.8 MB
- Stars: 3
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.crates.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Security: SECURITY.md
- Governance: GOVERNANCE.md
- Roadmap: ROADMAP.md
- Codemeta: codemeta.json
- Zenodo: .zenodo.json
- Notice: NOTICE
Awesome Lists containing this project
- awesome-gnss - Kshana - Open, reproducible PNT-resilience simulator in Rust (with Python and WebAssembly bindings). SGP4/SDP4 orbits, IAU 2006/2000A reference frames, GNSS availability/DOP, GNSS/INS fusion, ARAIM/RAIM integrity, SBAS protection levels, and Allan deviations; SGP4 validated against all 666 AIAA 2006-6753 vectors. Includes RINEX/SP3/CCSDS interop and an in-browser playground at https://kshana.dev. (Uncategorized / Uncategorized)
README
क्षण — Sanskrit for the precise instant, the smallest measure of time.
Open, reproducible PNT-resilience simulation with published quantum-sensor performance models.
**Kshana** is an open, reproducible **PNT-resilience simulator with quantum-sensor
performance models** — positioning, navigation, and timing. It quantifies, in hard
and reproducible numbers, what quantum clocks, quantum inertial sensors, and optical
time-transfer buy a navigation system over classical PNT — scored against the
operational figures of merit that matter for resilient navigation. Every result is
reproducible from `scenario + seed + engine version`, and every sensor parameter is
traceable to a published source.
> ***Validated, not asserted.*** 666/666 AIAA SGP4 vectors to **4.12 mm** · Cowell
> force model **0.08 m** vs Orekit 12.2 · Galileo **0.61 m** / Swarm-A **0.10 m** vs
> real ESA precise ephemerides · GCRS→ITRS bit-for-bit vs SOFA/ERFA · ML metrics exact
> vs scikit-learn · **51 of 102** capabilities validated against independent external
> oracles; 47 honestly labelled Modelled, 4 partner-owned.
### Validated against external oracles — every row CI-gated
Each row is checked against an **independent external oracle** (real dataset,
independent reference implementation, or published reference vectors) and re-checked in CI.
| | Capability | Result | External oracle |
|---|---|---|---|
| ✅ | SGP4/SDP4 propagation | 666/666 vectors, worst **4.12 mm** | AIAA 2006-6753 (Vallado) + independent `sgp4` crate |
| ✅ | Numerical Cowell force model | **0.08 m** / 24 h, 275 epochs | Orekit 12.2 `DormandPrince853` (CS GROUP) |
| ✅ | Orbit fit vs precise ephemeris | Galileo **0.61 m** · Swarm-A **0.10 m** | ESA/ESOC SP3 precise orbits |
| ✅ | GCRS→ITRS frame chain | bit-for-bit vs SOFA; ≤ 0.86 m vs SPICE | ERFA/SOFA + ANISE (pure-Rust SPICE) |
| ✅ | Allan deviations | reproduce reference deviations | NIST SP 1065 + Stable32 on a real Cs clock |
| ✅ | GNSS DOP · ML detector metrics | to **1e-6** · to **1e-9** | gnss_lib_py · scikit-learn |
## Install
```bash
cargo add kshana # use the engine as a library
cargo install kshana # or install the CLI
```
## Usage — library
```rust
use kshana::api;
// Run any scenario TOML through the engine; get a reproducible result back.
let toml = std::fs::read_to_string("scenarios/clock-holdover.toml")?;
let result_json = api::run_toml(&toml)?;
println!("{result_json}");
# Ok::<(), Box>(())
```
## Usage — CLI
```bash
# Dispatches on the scenario's `kind`; writes .result.json + .chart.svg
kshana scenarios/clock-holdover.toml
kshana scenarios/orbit-gnss-challenged.toml
kshana --validate scenarios/integrity-raim.toml # lint without running
kshana --study scenarios/quantum-pnt-demonstrator.suite.toml --study-name "PNT demo"
```
Every figure of merit is labelled **validated** or **modelled**; optical-clock figures
are space goals on ground hardware (no strontium optical clock has flown). Maturity is
*not* uniform across domains — Earth PNT is real-data validated; deep-space / Mars
navigation is simulation-validated; real-mission deep-space OD is on the roadmap.
## Learn more
- **Full README & validation matrix** →
- **Live playground** (runs in your browser as WebAssembly) →
- **Capabilities** → [docs/CAPABILITY.md](https://github.com/AshfordeOU/kshana/blob/main/docs/CAPABILITY.md)
- **Validation & provenance** → [docs/VALIDATION.md](https://github.com/AshfordeOU/kshana/blob/main/docs/VALIDATION.md) · [docs/PROVENANCE.md](https://github.com/AshfordeOU/kshana/blob/main/docs/PROVENANCE.md)
- **Claims vs reality ledger** → [docs/CLAIMS-VS-REALITY.md](https://github.com/AshfordeOU/kshana/blob/main/docs/CLAIMS-VS-REALITY.md)
## Licence
Free and open source under the **GNU AGPL-3.0-only**. A **commercial licence** is
available from [Ashforde OÜ](https://ashforde.org) for proprietary/closed integration
— see [LICENSING.md](https://github.com/AshfordeOU/kshana/blob/main/LICENSING.md).
Professionally developed and maintained by Ashforde OÜ; commercial support, integration,
and proprietary extensions available.