Solar flare magnetic avalanche threshold — GenesisAeon Package 21
Project description
solar-flare-utac
[](https://github.com/genesisaeon/solar-flare-utac/actions/workflows/ci.yml) [](https://doi.org/10.1051/0004-6361/202449012)GenesisAeon Package 22 — Solar Flare Magnetic Avalanches as UTAC System
Solar flares modelled as magnetic UTAC avalanches — calibrated against Solar Orbiter (2026), GOES X-ray data (1975–2026), and Velasco Herrera et al. (2026, JGR Space Physics).
Key result: Γ_solar ≈ 0.014 (ultra-low CREP) → most hair-trigger system in the atlas.
Central Result
Γ_solar = arctanh(0.03) / 2.2 ≈ 0.014
Solar active regions occupy the ultra-sensitive (ultra-low CREP) end of the GenesisAeon cross-domain criticality spectrum — the lowest Γ of any system in the atlas. Tiny CREP fluctuations produce giant energy releases, explaining why deterministic solar flare prediction is so notoriously difficult.
CREP Criticality Spectrum
| Domain | Package | Γ | η | Character |
|---|---|---|---|---|
| Solar Flare | P21 | 0.014 | 1% | Ultra-sensitive |
| Cygnus X-1 Jet | P17 | 0.046 | 5% | Hair-trigger |
| Amazon Rainforest | P19 | 0.116 | 12% | Fragile |
| AMOC Ocean | P18 | 0.251 | 50% | Homeostatic |
| Neural Criticality | P20 | 0.251 | 50% | Homeostatic (!) |
| BTW Sandpile | P22 | 0.296 | 58% | Robust SOC |
| Manna Sandpile | P22 | 0.376 | 72% | Dense SOC |
| ERA5 Arctic | P01 | 0.920 | 99% | Near-saturated |
Physical Mapping to UTAC
| UTAC symbol | Solar quantity |
|---|---|
| H(t) | Normalised magnetic free energy ∈ [0, 1] |
| K | E_max ≈ 10³² J (active region energy ceiling) |
| H* | Quiescent fixed point ≈ 0.10 K |
| r | Flux-emergence buildup rate ≈ 0.06 hr⁻¹ |
| σ | CREP coupling = 2.2 |
| Γ(t) | CREP tensor (C, R, E, P) → Γ_solar ≈ 0.014 |
Flare trigger: when H > H_threshold = 0.60 AND Γ > θ_PT ≈ 0.014, the magnetic current sheet becomes unstable → reconnection cascade → "magnetic avalanche" (Solar Orbiter A&A 2026).
Installation
pip install solar-flare-utac
# or
uv add solar-flare-utac
# development
pip install -e ".[dev]"
Quickstart
from solar_flare_utac import SolarFlareUTAC
model = SolarFlareUTAC(seed=42)
state = model.run_cycle(duration_hours=72)
print(state['crep_state']) # {C, R, E, P, Gamma}
print(state['utac_state']) # {H, dH_dt, H_star, K_eff}
print(state['flare_count']) # flares in this cycle
window = model.predict_flare_window(horizon_days=3)
record = model.to_zenodo_record()
CLI
# Run a 72-hour simulation cycle
solar-utac run --duration 72 --active-region AR3000
# Flare probability window forecast
solar-utac flare-window --horizon 7
# Print the full CREP Criticality Spectrum
solar-utac gamma-crep-spectrum
# Validate against benchmark targets
solar-utac benchmark
# Export Zenodo metadata record
solar-utac zenodo-export
Integration in genesis-os
from genesis_os import GenesisOS
os = GenesisOS()
solar = os.load_package(21)
results = solar.run_cycle(duration_hours=72)
print(f"Γ_solar = {results['crep_state']['Gamma']:.4f}")
Diamond-Template Contract
All GenesisAeon packages implement the same five-method interface:
model.run_cycle(duration_hours=72) → dict
model.get_crep_state() → {C, R, E, P, Gamma}
model.get_utac_state() → {H, dH_dt, H_star, K_eff}
model.get_phase_events() → list[dict] # each flare = one event
model.to_zenodo_record() → dict
Repository Structure
solar-flare-utac/
├── src/solar_flare_utac/
│ ├── system.py # SolarFlareUTAC — Diamond interface + Ethics Gate
│ ├── active_region.py # Magnetic free energy ODE (UTAC)
│ ├── reconnection.py # Reconnection instability threshold (Syrovatsky)
│ ├── crep_solar.py # Solar CREP tensor (C, R, E, P → Γ)
│ ├── goes_loader.py # GOES X-ray flux loader + synthetic generator
│ ├── superflare.py # Power-law flare statistics (SOC)
│ ├── geomagnetic.py # Dst storm impact model
│ ├── benchmark.py # Validation vs. GOES catalog + Orbiter
│ ├── cli.py # Typer CLI
│ └── constants.py # All physical and model constants
├── data/
│ ├── goes_xray_annual_stats.yaml
│ └── flare_catalog_summary.yaml
├── notebooks/
│ ├── 01_solar_utac_overview.ipynb
│ ├── 02_goes_crep_analysis.ipynb
│ ├── 03_flare_cascade.ipynb
│ └── 04_gamma_solar_calibration.ipynb
└── tests/
├── test_diamond_interface.py
├── test_active_region.py
├── test_reconnection.py
└── test_superflare.py
Benchmark
Validated against GOES catalog and Solar Orbiter data.
| Target | Value | Tolerance |
|---|---|---|
| Γ_solar | 0.014 | ±0.005 |
| X-class energy [J] | 10³² | log ±0.5 |
| Power-law index α | 1.8 | ±0.1 |
| Reconnection timescale | 10 min | ±30% |
| X-class flares/cycle | 150 | ±20% |
Falsifiable Prediction
Next X5+ flare window in 2026 Q3 (southern hemisphere active region peak, per Velasco Herrera 2026). Γ_solar will exceed θ_PT during this period. Testable against GOES real-time monitoring at SWPC.
References
- Solar Orbiter / A&A 2026 — magnetic avalanche mechanism
- Velasco Herrera et al. 2026, JGR Space Physics — 47-year superflare dataset
- Thoen Faber et al. 2025 — SST/CHROMIS high-resolution flare ribbons (140–200 km)
- ESA CryoSat + Swarm 2026 — X-class geomagnetic storm measurements
Citation
DOI will be assigned automatically on first GitHub Release once Zenodo–GitHub integration is enabled for this repo. Until then, cite the parent GenesisAeon whitepaper DOI linked at the top of this README (10.5281/zenodo.19645351).
Part of the GenesisAeon cross-domain CREP criticality atlas. Code: GPLv3-or-later · Docs & Data: CC BY 4.0 · seed=42 · numpy/scipy/matplotlib
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file solar_flare_utac-1.0.0.tar.gz.
File metadata
- Download URL: solar_flare_utac-1.0.0.tar.gz
- Upload date:
- Size: 110.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
113160b86c75166565d5cb1a5b6c7f2e9ca8d0b6f749f51403fa300ef533c7b4
|
|
| MD5 |
75c588ef73dac193d7349713f65ad1aa
|
|
| BLAKE2b-256 |
611340bd8523e01aed221d3eb89f43fb004bf7251dc001cd755e50c2c12ea92b
|
File details
Details for the file solar_flare_utac-1.0.0-py3-none-any.whl.
File metadata
- Download URL: solar_flare_utac-1.0.0-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1c0e1f32f2bb19f2bd20bd9e3f9abbebeba37bb180cd0e457809e4599656e2d
|
|
| MD5 |
3b9bd79679cdbcdc98ba452809b163aa
|
|
| BLAKE2b-256 |
e854767af65dd688376d06311e2a89a692a23c461cedf04d8455b66348e4a5a9
|