Package 23: Earthquake Seismicity & Gutenberg-Richter SOC - UTAC/CREP model (GenesisAeon)
Project description
seismic-utac
Package 23 — Earthquake Seismicity & Gutenberg-Richter SOC GenesisAeon · MOR Research Collective
Models global earthquake seismicity as a UTAC (Unified Threshold-Activated Criticality) system, grounding the Gutenberg-Richter power law as a CREP-mediated Self-Organized Critical (SOC) phenomenon. Calibrated against the IRIS 50-year global catalog (154,383 earthquakes).
Bak, P. & Tang, C. (1989). Earthquakes as a self-organized critical phenomenon. J. Geophys. Res. 94(B11), 15,635. DOI: 10.1029/JB094iB11p15635
CREP Criticality Position
Γ_seismic ≈ 0.200 (b-value = 1.7, crustal SOC regime)
Spectrum: Qubit(0.050) — Cellular(0.090) — Seismic(0.200) — AMOC/Neural(0.251) — BTW(0.296)
The b-value decrease before major earthquakes maps directly onto rising Γ — a falsifiable UTAC precursor signal.
Install
pip install -e ".[dev]"
# or
uv sync --dev
Quickstart
from seismic_utac import SeismicUTAC
system = SeismicUTAC()
result = system.run_cycle(duration_years=50.0)
print(f"Γ = {result['gamma']:.4f}") # ≈ 0.200
print(f"b-value = {result['b_value']:.3f}") # ≈ 1.7
print(f"Phase events: {len(result['phase_events'])}")
CLI
# Run full 50-year UTAC cycle
seismic-utac run --catalog iris --region global --duration 50
# Monitor b-value and phase transition risk
seismic-utac b-value-monitor --region southern-california
# Forecast probability of M≥7.5 within 365 days
seismic-utac predict --magnitude 7.5 --horizon 365
# Run benchmark suite against Bak & Tang (1989) targets
seismic-utac benchmark
Diamond Interface
SeismicUTAC implements the full GenesisAeon Diamond contract:
| Method | Returns |
|---|---|
run_cycle(duration_years) |
Full cycle result dict |
get_crep_state() |
{C, R, E, P, Gamma} |
get_utac_state() |
{H, dH_dt, H_star, K_eff} |
get_phase_events() |
List of M≥6.5 rupture events |
to_zenodo_record() |
Zenodo-compatible metadata dict |
Also: b_value_current(), predict_major_event_probability(magnitude, horizon_days)
Physical Mapping
| UTAC variable | Seismic meaning |
|---|---|
H(t) |
Normalised crustal strain energy ∈ [0, 1] |
H* |
Critical strain at GR rollover (b-value change point) |
K |
Max energy before M8+ event (~10¹⁷ J) |
Γ |
CREP tensor from b-value, foreshock clustering, entropy |
r |
Tectonic strain loading rate (~0.05/year) |
Benchmark Targets
| Target | Expected | Tolerance |
|---|---|---|
b_value_global |
1.00 | ±0.10 |
b_value_swarm_max |
2.50 | ±0.30 |
gamma_seismic |
0.200 | ±0.03 |
aftershock_omori_p |
1.10 | ±0.10 |
uv run pytest tests/test_seismic_utac.py -v
Repository Structure
seismic-utac/
├── src/seismic_utac/
│ ├── system.py # SeismicUTAC — Diamond interface
│ ├── gutenberg_richter.py # GR law, b-value MLE (Aki 1965)
│ ├── strain_accumulation.py # Crustal strain energy → UTAC H(t)
│ ├── b_value_monitor.py # Sliding-window b-value tracker
│ ├── entropy_seismic.py # Permutation entropy → CREP P
│ ├── crep_seismic.py # Seismic CREP tensor
│ ├── aftershock.py # Omori-Utsu aftershock model
│ ├── catalog_loader.py # Synthetic + YAML catalog loader
│ ├── benchmark.py # Bak & Tang (1989) benchmark suite
│ ├── cli.py # Typer CLI
│ └── constants.py # SIGMA=2.2, B_SOC_TYPICAL=1.7, …
├── data/
│ ├── iris_catalog_summary.yaml
│ └── bak1989_targets.yaml
└── tests/
└── test_seismic_utac.py # 17 tests, all passing
References
- Bak & Tang (1989). DOI: 10.1029/JB094iB11p15635
- Al-Kindy & Main (2003). DOI: 10.1029/2002JB002230
- da Silva et al. (2021). DOI: 10.1016/j.chaos.2020.110634
Citation
DOI will be assigned automatically on first GitHub Release once Zenodo–GitHub integration is enabled for this repo.
Also includes the diamond-setup scaffold tool used to generate this project.
Run diamond scaffold <name> to create new GenesisAeon packages.
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 seismic_utac-1.0.0.tar.gz.
File metadata
- Download URL: seismic_utac-1.0.0.tar.gz
- Upload date:
- Size: 134.3 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 |
71fd7cfa1b15457285d41a4983bf38271c9c876ed3c7f80e056c844604e94a07
|
|
| MD5 |
b4e64d614d35dafa583850b0e4cca73c
|
|
| BLAKE2b-256 |
67824e5d1cd2e8c633b6707afd66ad95f8bcf39f0afb3ee9ed8d9a03e63df991
|
File details
Details for the file seismic_utac-1.0.0-py3-none-any.whl.
File metadata
- Download URL: seismic_utac-1.0.0-py3-none-any.whl
- Upload date:
- Size: 29.9 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 |
3e28dfdb36dca8de1e92fb3a582d5f47549d1640ba8076d4345888eb78c20fe8
|
|
| MD5 |
fbc4fc2f3f6b5dc6e9da16a2546e7230
|
|
| BLAKE2b-256 |
f7fa27a449abf965aee9ba72d4157c0e04ab6600ab54a3c2b47d5c1fe30e389c
|