Skip to main content

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

CI Python 3.10+ Package 23 License: MIT DOI

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

Citation

DOI

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.

Built with uv · NumPy · SciPy · Typer · Rich

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seismic_utac-1.0.0.tar.gz (134.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seismic_utac-1.0.0-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

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

Hashes for seismic_utac-1.0.0.tar.gz
Algorithm Hash digest
SHA256 71fd7cfa1b15457285d41a4983bf38271c9c876ed3c7f80e056c844604e94a07
MD5 b4e64d614d35dafa583850b0e4cca73c
BLAKE2b-256 67824e5d1cd2e8c633b6707afd66ad95f8bcf39f0afb3ee9ed8d9a03e63df991

See more details on using hashes here.

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

Hashes for seismic_utac-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e28dfdb36dca8de1e92fb3a582d5f47549d1640ba8076d4345888eb78c20fe8
MD5 fbc4fc2f3f6b5dc6e9da16a2546e7230
BLAKE2b-256 f7fa27a449abf965aee9ba72d4157c0e04ab6600ab54a3c2b47d5c1fe30e389c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page