Work

Space Atlas: Phase I scaffold and LEO benchmark for the Nervous Machine causal-learning framework

Year: 2026
Type: article
Abstract: LEO benchmark — Nervous Machine vs. NRLMSISE-00 on GRACE-FO The reproducible LEO-regime demonstration validates the Nervous Machine substrate against the operational MSIS standard for thermospheric density, using GRACE-FO accelerometer-derived density as ground truth across 7.5 years (2018-05 → 2025-12). This directory is self-contained: the framework math is mirrored in nm_primitives.py (no MCP server or database required). Headline results From a single-pass prequential (predict-then-update) run over the full record: Anomaly-flag precision 92.36%, lift 7.90× over the base rate of MSIS errors — see results/anomaly_detection_contingency.md Storm lead time: across the 21 strongest storms (Dst ≤ −100 nT), the framework reached SEVERE-tier flag severity ahead of peak Dst in 14, median +111h (4.6 days); range +2h to +239h — see results/lead_time_by_severity.md The committed result tables are regenerated by the scripts below; large intermediate data files are not committed (see "Data" — they regenerate from public archives). What's here File Role nm_primitives.py Framework math (ε, η, ΔW, Z evolution), mirrored from the operational MCP server. Standalone. extract_obs_jsonl.py Build per-observation JSONL from the TOLEOS GRACE-FO archive benchmark_msis.py Compute NRLMSISE-00 predictions per observation (real-time F10.7/Ap) learn_gracefo_full_year.py Train the substrate: streaming single-pass, regime-split prior, additive-residual on MSIS baseline analyze_flag_vs_msis.py 2×2 contingency, precision/recall/lift (→ results/anomaly_detection_contingency.md) analyze_lead_time.py Per-storm lead time by severity tier (→ results/lead_time_by_severity.md) results/ Committed small result tables (the headline numbers) Method, briefly Ground truth: TU Delft TOLEOS v02c GRACE-FO accelerometer-derived density (CC BY 4.0), hourly-averaged, 460–510 km altitude band. Drivers: hourly L1 measurements (solar wind speed/density, IMF Bz, Dst, AE) from NOAA OMNI; F10.7/Ap from CelesTrak SW-All. Graph: 356 driver→voxel edges across latitude × local-solar-time voxels, each driver split into 3 solar-flux regime edges (low/mid/high F10.7). Baseline + composition: NRLMSISE-00 is the prediction baseline; the substrate learns an additive residual correction on top (W → 0 where MSIS is right, W ≠ 0 where it has systematic bias). Evaluation: single online streaming pass (predict-then-update). Each prediction is made from the edge state before the observation arrives, then the edge updates — a prequential evaluation, not a frozen train/test split. ε convention note (important for auditing) This pipeline uses a z-score ε convention: ε = (pred − obs) / per-voxel residual std, typical magnitude ~1σ. The framework's default magnitude-tolerance constants in nm_primitives.py (W_STEP, Z_BIAS_TOL, Z_STD_TOL) are calibrated for a relative-residual ε convention (typical magnitude ~0.1). The pipeline therefore rescales those three constants together (W_STEP 0.10→0.02, Z_BIAS_TOL 0.05→0.30, Z_STD_TOL 0.15→1.00) to match the z-score scale. This rescaling is the only place the pipeline overrides framework defaults; it is a scale-consistency adjustment, not a behavioral change. (Formalizing this as a constructor parameter is a planned framework cleanup.) Data Large intermediate files (per-obs JSONL, MSIS preds, edge trajectory — hundreds of MB) are not committed. They regenerate from public archives: TOLEOS GRACE-FO — TU Delft thermosphere archive (CC BY 4.0) CelesTrak SW-All — https://celestrak.org/SpaceData/SW-All.csv NOAA OMNI hourly — heliospheric/geomagnetic drivers Reproduce # 0. Dependencies pip install numpy matplotlib nrlmsise00 pyyaml # 1. Build observation + driver JSONL from TOLEOS + OMNI archives python3 extract_obs_jsonl.py # 2. Compute MSIS baseline predictions (real-time F10.7/Ap) python3 benchmark_msis.py # 3. Train the substrate (single streaming pass; writes edge trajectory + preds) python3 learn_gracefo_full_year.py # 4. Analysis → regenerates the committed result tables python3 analyze_flag_vs_msis.py python3 analyze_lead_time.py Approximate total compute: ~30 min including downloads on a 2024 Apple-silicon laptop; ~6 GB intermediate storage. Provenance and scope This is the LEO regime of a four-regime substrate (LEO / GEO / cislunar / Mars). The LEO benchmark validates the architecture in the drag regime where an operational standard (MSIS) exists for comparison. The framework primitives in nm_primitives.py are identical across regimes; only the prior, validation endpoints, and domain helpers change. See the parent repository for the GEO, cislunar, and Mars configurations. The framework math mirrored here is the source-of-truth implementation in ~/NM-learning-loop/mcp_validation.py (the operational MCP server). If the two disagree, the MCP server is authoritative.
Language: English
Open Access status: green
OpenAlex ID: W7161965235
FWCI:
Cites:
Cited by:
Related to: 10