A pluggable space weather engine calibrated by the 1859 Carrington event, with self-consistent ring current saturation.
This project revisits the 1859 Carrington superstorm using BGS 2023 digitised 1-minute magnetograms from Kew (KEW) and Greenwich (GRW), paired with a self-consistent Dst evolution model (DstV2). Key result: the Carrington Dst was approximately −774 nT, not the widely cited −1600 nT (Siscoe 2006).
| Parameter | This Work | Traditional Value | Reason for Difference |
|---|---|---|---|
| Dst extreme | −774 nT | −1600 nT (Siscoe 2006) | Self-consistent saturation caps injection at ~−800 nT |
| CME1 Bz | −50 nT (precursor) | N/A (not modelled) | First quantitative Bz inversion of the precursor storm |
| CME2 Bz | −80 nT (main) | −80 to −100 nT | Consistent |
| CME1 velocity | ~1300 km/s | N/A | 32 h transit from same source AR |
| CME2 velocity | ~2360 km/s | 2360 km/s (Cliver 2006) | Consistent |
| ΔH/Dst factor (mid-latitude) | 0.35 | Not quantified | Cross-validated with 1989 Quebec (0.34) |
- Two independent CMEs — the precursor storm (Aug 28–29) and main storm (Sep 2) are distinct structures from the same source active region, not a single sustained Bz.
- Self-consistent saturation — the ring current naturally saturates at ~−700 to −800 nT through plasma sheet pressure anisotropy, preventing the unbounded injection implied by Siscoe's energy-integral extrapolation.
- Cross-event ΔH/Dst factor of 0.35 — validated across the 1859, 1989 Quebec, and 2003 Halloween events, giving a stable mid-latitude conversion for historical storms.
- Two independent digitizations agree — Bartels (1937) and BGS (2023) digitisations of the same Kew magnetograms show RMS = 53 nT, correlation = 0.788.
The core physical model (Burton 1975 with V2 extensions):
dDst/dt = a · E_y − Dst/τ − sat(Dst)
sat(Dst) = Dst² / (2 · Dst_sat)
Where Dst_sat ≈ 1200 nT is the self-consistent saturation half-value. The model includes dipole tilt compensation, DCF pressure correction, and dual time-scale recovery.
| Dataset | Source | Coverage | Resolution |
|---|---|---|---|
| KEW magnetograms | BGS (Beggan+ 2024) | 1859-08-25 to 1859-09-04 | 1 min |
| GRW magnetograms | BGS (Beggan+ 2024) | 1859-08-25 to 1859-09-04 | 1 min |
| Bartels digitisation | Bartels (1937) | 1859-09-01 to 1859-09-03 | ~1 min |
| Carrington flare report | Carrington (1859), Hodgson (1859) | 1859-09-01 11:15 UT | N/A |
The model is calibrated against 9 historical geomagnetic storms (1859–2024) through a unified cross-calibration framework (cross_calibrate.py). Key accuracy metrics:
| Event | Observed Dst | Model Dst (V2) | Error | Notes |
|---|---|---|---|---|
| 1859 Carrington | *−774† | −643 | +131 | † Inferred from KEW ΔH |
| 1989 Quebec | −589 | −467 | +122 | Saturation under-estimated |
| 2003 Halloween | −401 | −793 | −392 | Main-phase duration mismatch |
| 2024 May 10 | −412 | −591 | −179 | Bz profile uncertainty |
| 1986 Feb 8 | −307 | −259 | +48 | Good fit |
| 2004 Nov 8 | −374 | −453 | −79 | Moderate |
| 1989 Mar 13 | −589 | −581 | +8 | Excellent |
| 2015 Mar 17 | −223 | −252 | −29 | Good fit |
| 2000 Jul 15 | −301 | −311 | −10 | Excellent |
Overall: RMSE ≈ 190 nT across 9 events (V2). Parameters are not fully optimised; a V1 version with simpler assumptions gives RMSE ≈ 250 nT.
Known limitations:
- Bz waveform is a simplified trapezoid (not MHD-simulated)
- Only two UK mid-latitude stations (KEW, GRW); no direct equatorial Dst measurement for 1859
- CME1 (precursor) lacks optical confirmation (source AR was behind the east limb)
- The Kew magnetogram went off-scale during the main storm peak (Sep 2 07:00–08:00); the −315 nT ΔH is a spot-value approximation
- Solar wind density (n = 3 cm⁻³) and B_y component are unconstrained for 1859
carrington-space-engine/
├── src/ # Core models
│ ├── dst_model_v2.py # Dst evolution with self-consistent saturation
│ ├── event_params.py # 9-event parameter library
│ ├── cross_calibrate.py # Cross-event calibration framework
│ ├── cme_propagation.py # CME travel-time & drag model
│ └── constants.py # Physical constants
├── earth_environ/ # Pluggable environment modules
│ ├── dipole_tilt.py # Dipole tilt angle compensation
│ ├── pressure_correction.py # Solar wind dynamic pressure correction
│ ├── atmosphere.py # NRLMSISE-00 atmospheric density
│ └── pluggable_engine.py # Module dependency resolver
├── scripts/ # Analysis & reconstruction scripts
│ ├── _invert_carrington.py # Dual-CME Bz inversion from KEW data
│ ├── _bartels_comparison.py # 1937 vs 2023 digitisation validation
│ ├── _grw_verification.py # GRW station independent inversion
│ ├── _carrington_sweep.py # 5-parameter 768-combo scan
│ └── _extract_ts.py # BGS time-series extraction
├── data/
│ └── bgs_1859/ # BGS digitised magnetograms (Beggan+ 2024)
├── reports/ # Full analysis reports
└── validation/ # Unit tests
from src.dst_model_v2 import DstEvolutionModelV2 as DstV2
from earth_environ import DipoleTilt, PressureCorrection
# Initialise the model with self-consistent saturation
model = DstV2({
'sat_dst_half': 1200,
'self_saturation': True,
'tilt_enabled': True,
'tilt_comp': True,
'dcf_comp': True
})
model.inject_components(
DipoleTilt(day_of_year=240, hour_of_day=12),
PressureCorrection()
)
# Run a storm simulation (Bz waveform → Dst)
dst = 0.0
for t in range(0, 48): # 48 hours
_, dst = model.step(
dst, v_sw=800, bz=-30, n_sw=5,
dt=1.0, v_th=400, doy=240, hod=12, v_sw_cme=800
)If you use this model or its findings in your research, please cite this repository and the underlying data sources listed below.
This repository:
Eluckydog. (2026). Carrington-Space-Engine: A pluggable space weather engine calibrated by the 1859 storm. GitHub. https://github.com/eluckydog/Carrington-Space-Engine
Key scientific findings:
Eluckydog. (2026). Revised Carrington Dst ≈ −774 nT from Kew magnetograms and self-consistent saturation. (Available on GitHub)
Underlying data and prior work that enabled this study:
Beggan, C. D., et al. (2024). Digitised continuous magnetic recordings for the August/September 1859 storms from London, UK. Space Weather, 22, e2024SW004123. https://doi.org/10.1029/2024SW004123
Hayakawa, H., et al. (2019). The extreme space weather event of 1859. Space Weather, 17, 1553–1560. https://doi.org/10.1029/2019SW002269
Cliver, E. W., & Dietrich, W. F. (2013). The 1859 space weather event revisited. Journal of Space Weather and Space Climate, 3, A31.
Siscoe, G., Crooker, N. U., & Clauer, C. R. (2006). Dst of the Carrington storm of 1859. Advances in Space Research, 38(2), 173–179.
Viljanen, A., et al. (2004). Relation between Dst and mid-latitude H-component. Annales Geophysicae, 22, 2233–2241.
Original BGS data download:
https://www.bgs.ac.uk/data/... (see
data/README.mdfor details)
MIT — see LICENSE.
This work would not have been possible without the BGS 2023 digitisation project (Beggan+ 2024), which made the 1859 Kew and Greenwich 1-minute magnetograms publicly available for the first time. Thanks also to C. D. Beggan and the BGS team for their careful archival work.