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
Target values below are informed by the cited literature, but most
checks compare the model against itself rather than independent data at
runtime -- see benchmark.py's module docstring for the honest
breakdown of which checks are self-consistency tests. The reconnection
timescale check currently fails by ~20x at its test point; this is a
known, unresolved calibration gap (see FOLLOWUP_TICKETS.md), not
silently hidden.
| 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
Part of the GenesisAeon cross-domain CREP criticality atlas. Code: GPLv3-or-later · Docs & Data: CC BY 4.0 · seed=42 · numpy/scipy/matplotlib
Metadata
Release files for solar-flare-utac 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| solar_flare_utac-1.0.1.tar.gz | 113.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| solar_flare_utac-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 146.3 kB
Release files / solar_flare_utac-1.0.1.tar.gz
| Download URL | solar_flare_utac-1.0.1.tar.gz |
|---|---|
| Size | 113.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8cd11dad60da0c00d50f2c6e19e9039f78a89bcce9ce95c02ef31aa6d5ab71b0
|
|
BLAKE2b-256 checksum How to use checksums |
0110847ea7da0ed3dfaac766d8315f069d1eb39383c2852401a492564c41abb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / solar_flare_utac-1.0.1-py3-none-any.whl
| Download URL | solar_flare_utac-1.0.1-py3-none-any.whl |
|---|---|
| Size | 33.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7d8d181b292f0603c1ca8aace89de8ef18d7bd6b5feefb023df9e7d16f6ad6fc
|
|
BLAKE2b-256 checksum How to use checksums |
27bd0b12ad328c04e2ac13dcedc4266aae36f9b503d972cb71045e9f18ebde32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logSecurity for solar-flare-utac 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for solar_flare_utac-1.0.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.