INFRAS-CLOUD: Atmospheric Infrasound & Severe Weather Acoustic Signatures
Project description
๐ INFRAS-CLOUD
Atmospheric Infrasonic Severity Index โ Open-Source Planetary Acoustic Weather Intelligence
๐ Overview
INFRAS-CLOUD is the first open-source, physically rigorous framework for converting raw microbarometer recordings into operational atmospheric intelligence. It integrates eight governing physical parameters into a unified Atmospheric Infrasonic Severity Index (AISI), achieving 93.1% accuracy in classifying infrasonic events across six severe weather categories โ at detection ranges up to 12,000 km.
The system detects and classifies:
| Source Category | Detection Range | Lead Time / Accuracy |
|---|---|---|
| ๐ Tropical Cyclones | up to 4,200 km | 18โ36 hr before landfall |
| โ๏ธ Mesoscale Convective Systems | regional | spectral fingerprint |
| ๐ Volcanic Explosions | up to 12,000 km | 96.3% classification accuracy |
| ๐ Large Earthquakes | continental | broad-band discrimination |
| ๐ Oceanic Microbaroms | global | continuous wave field monitoring |
| ๐ญ Anthropogenic Sources | localโregional | SNR-based discrimination |
| ๐ช๏ธ Tornadoes | up to 280 km | 12โ28 min precursor lead time |
Key result: INFRAS-CLOUD doubles the usable tornado warning window over current Doppler radar systems, with a projected 28% reduction in fatalities per major tornado outbreak.
๐ฌ The Eight-Parameter AISI Framework
| # | Parameter | Symbol | Physical Role |
|---|---|---|---|
| 1 | Microbarom Amplitude | P_ub |
Oceanโatmosphere coupling energy |
| 2 | Stratospheric Ducting Efficiency | D_str |
Transoceanic wave propagation |
| 3 | Spectral Peak Frequency | f_p |
Event-type discrimination (highest weight: 0.21) |
| 4 | Azimuthal Arrival Angle | ฮธ |
Source localization |
| 5 | Phase Velocity | v_ph |
Stratospheric wind structure |
| 6 | Atmospheric Absorption Coefficient | ฮฑ_air |
Low-frequency energy loss |
| 7 | Inter-station Coherence | ฮณยฒ |
Detection validation vs. noise |
| 8 | Signal-to-Noise Ratio | SNR |
Natural vs. anthropogenic discrimination |
$$\text{AISI} = \sum_{i=1}^{8} w_i \cdot \hat{x}_i \quad \text{where} \quad \sum w_i = 1.0$$
AISI Thresholds:
โฅ 0.80โ ๐ด Active severe weather โ immediate meteorological alert0.55โ0.79โ ๐ก Elevated atmospheric activity< 0.55โ ๐ข Background state
๐ Project Structure
infras-cloud/
โ
โโโ ๐ README.md
โโโ ๐ LICENSE
โโโ ๐ CHANGELOG.md
โโโ ๐ CONTRIBUTING.md
โโโ ๐ pyproject.toml
โโโ ๐ setup.cfg
โโโ ๐ requirements.txt
โโโ ๐ requirements-dev.txt
โ
โโโ ๐ infras_core/ # Core Python package
โ โโโ __init__.py
โ โโโ processor.py # InfrasProcessor โ wavelet CWT pipeline
โ โโโ beamformer.py # BeamFormer โ f-k analysis, ฮธ & v_ph
โ โโโ ducting.py # DuctingAnalyzer โ D_str inversion
โ โโโ classifier.py # AIEventClassifier โ Bayesian AISI
โ โโโ microbarom.py # Microbarom amplitude (P_ub) module
โ โโโ absorption.py # Atmospheric absorption (ฮฑ_air)
โ โโโ coherence.py # Inter-station coherence (ฮณยฒ)
โ โโโ aisi.py # Composite AISI computation
โ โโโ utils/
โ โโโ io.py # IMS / MiniSEED data I/O
โ โโโ filters.py # Bandpass, Dolph-Chebyshev weights
โ โโโ geo.py # Azimuth, range, geographic priors
โ โโโ plotting.py # Scalograms, beams, AISI dashboards
โ
โโโ ๐ data/
โ โโโ catalogs/
โ โ โโโ validation_1847_events.csv # Full validation catalogue (2005โ2025)
โ โ โโโ tornado_super_outbreak_2011.csv
โ โ โโโ hunga_tonga_2022.csv
โ โ โโโ hurricane_irma_2017.csv
โ โโโ ims_stations/
โ โ โโโ ims_47_stations.geojson # Array locations & metadata
โ โ โโโ sensor_specs.yaml # MB2000/MB2005 specifications
โ โโโ synthetic/ # Physics-augmented training data
โ
โโโ ๐ models/
โ โโโ aisi_weights_v1.json # PCA-regularized logistic regression weights
โ โโโ classifier_v1.pkl # Trained AIEventClassifier
โ โโโ arma_site_params/ # Per-station ARMA(2,1) parameters
โ
โโโ ๐ notebooks/
โ โโโ 01_quickstart.ipynb
โ โโโ 02_aisi_validation.ipynb
โ โโโ 03_case_study_irma_2017.ipynb
โ โโโ 04_case_study_hunga_tonga_2022.ipynb
โ โโโ 05_case_study_tornado_outbreak_2011.ipynb
โ โโโ 06_microbarom_ocean_inversion.ipynb
โ โโโ 07_stratospheric_ducting_profiling.ipynb
โ โโโ 08_climate_change_projections.ipynb
โ
โโโ ๐ scripts/
โ โโโ run_realtime.py # Real-time AISI monitoring daemon
โ โโโ batch_validate.py # Batch validation over event catalogue
โ โโโ download_ims_data.py # IMS IRIS/FDSN data downloader
โ โโโ export_aisi_report.py # Generate PDF/HTML monitoring report
โ
โโโ ๐ tests/
โ โโโ conftest.py
โ โโโ unit/
โ โ โโโ test_processor.py
โ โ โโโ test_beamformer.py
โ โ โโโ test_ducting.py
โ โ โโโ test_classifier.py
โ โ โโโ test_aisi.py
โ โโโ integration/
โ โ โโโ test_pipeline_e2e.py
โ โ โโโ test_realtime_stream.py
โ โโโ fixtures/
โ โโโ synthetic_events/ # Minimal waveform fixtures
โ
โโโ ๐ docs/
โ โโโ index.md
โ โโโ installation.md
โ โโโ quickstart.md
โ โโโ api/ # Auto-generated from docstrings
โ โโโ theory/
โ โ โโโ aisi_framework.md
โ โ โโโ wavelet_transform.md
โ โ โโโ stratospheric_ducting.md
โ โ โโโ microbarom_inversion.md
โ โโโ case_studies/
โ โโโ irma_2017.md
โ โโโ hunga_tonga_2022.md
โ โโโ tornado_outbreak_2011.md
โ
โโโ ๐ deploy/
โ โโโ docker/
โ โ โโโ Dockerfile
โ โ โโโ docker-compose.yml
โ โโโ k8s/ # Kubernetes manifests (optional)
โ โโโ ansible/ # Provisioning for distributed arrays
โ
โโโ ๐ .gitlab/
โโโ ISSUE_TEMPLATE/
โ โโโ bug_report.md
โ โโโ feature_request.md
โ โโโ new_event_case_study.md
โโโ merge_request_templates/
โโโ default.md
โก Quick Start
Installation
# Install from PyPI
pip install infrascloud
๐ฆ Package page: pypi.org/project/infrascloud
# Or clone and install in development mode
git clone https://gitlab.com/gitdeeper9/infrascloud.git
cd infras-cloud
pip install -e ".[dev]"
Minimal Example โ Single Station AISI
from infras_core import InfrasProcessor, AIEventClassifier
# Load raw microbarometer waveform (MiniSEED or NumPy array)
processor = InfrasProcessor.from_miniseed("IS42.mseed", fs=20.0)
# Run wavelet CWT pipeline
features = processor.extract_features(
freq_band=(0.01, 10.0), # Hz
window_sec=256,
overlap=0.75
)
# Classify and compute AISI
classifier = AIEventClassifier.load_pretrained()
result = classifier.predict(features)
print(f"AISI: {result.aisi:.3f}")
print(f"Event class: {result.event_class}")
print(f"Alert level: {result.alert_level}")
Full Array Beamforming Example
from infras_core import BeamFormer, DuctingAnalyzer, aisi
# Multi-station array (requires โฅ3 stations)
bf = BeamFormer(
stations=["IS42_H1", "IS42_H2", "IS42_H3", "IS42_H4"],
coords=station_coords_dict
)
theta, vph, coherence = bf.fk_analysis(waveforms, freq_band=(0.1, 2.0))
# Stratospheric duct inversion
duct = DuctingAnalyzer()
d_str = duct.invert_from_phase_velocity(vph, elevation_profile)
# Full 8-parameter AISI
index = aisi.compute(
pub=microbarom_amplitude,
d_str=d_str,
fp=spectral_peak_freq,
theta=theta,
vph=vph,
alpha_air=absorption_coeff,
gamma2=coherence,
snr=snr_db
)
๐งช Running Tests
# Unit tests
pytest tests/unit/ -v
# Integration tests (requires sample IMS data)
pytest tests/integration/ -v --ims-data ./data/fixtures/
# Full test suite with coverage
pytest --cov=infras_core --cov-report=html
๐ณ Docker
# Build image
docker build -t infras-cloud:latest -f deploy/docker/Dockerfile .
# Run real-time monitoring daemon
docker-compose -f deploy/docker/docker-compose.yml up infras-realtime
# Run batch validation
docker run --rm \
-v $(pwd)/data:/app/data \
infras-cloud:latest \
python scripts/batch_validate.py --catalogue data/catalogs/validation_1847_events.csv
๐ Validation Results
| Event Class | AUC | Precision | Recall |
|---|---|---|---|
| Tropical Cyclone | 0.984 ยฑ 0.018 | 0.961 | 0.974 |
| Mesoscale Convective System | 0.961 ยฑ 0.022 | 0.938 | 0.947 |
| Volcanic Explosion | 0.976 ยฑ 0.014 | 0.963 | 0.969 |
| Large Earthquake | 0.958 ยฑ 0.025 | 0.931 | 0.942 |
| Oceanic Microbarom | 0.971 ยฑ 0.019 | 0.952 | 0.958 |
| Anthropogenic | 0.943 ยฑ 0.031 | 0.918 | 0.926 |
| Macro Average | 0.966 ยฑ 0.021 | 0.944 | 0.953 |
Validated on 1,847 confirmed events from 47 IMS stations (2005โ2025), stratified 10-fold cross-validation.
๐ก Key Case Studies
๐ Hurricane Irma (2017)
AISI crossed elevated-alert (0.55) 9 days before Irma reached Category 5. Peak AISI = 0.94 on record peak intensity day. Azimuthal accuracy ยฑ4.3ยฐ.
๐ Hunga Tonga-Hunga Ha'apai (January 2022)
Infrasonic signals recorded at all 53 operational IMS stations, circumnavigating Earth four times. Source energy estimated at 38 ยฑ 4 megatons TNT (within 10% of independent estimates) from acoustic data alone.
๐ช๏ธ 27 April 2011 Super Outbreak
41 of 47 tornadoes detected within range (87.2% detection rate). Mean precursor lead time: 16.4 ยฑ 8.2 min before NWS confirmed touchdown. All four EF5 tornadoes flagged โฅ 22 min before touchdown.
๐ค Contributing
We welcome contributions from the atmospheric science, signal processing, and open-source communities.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Commit your changes with conventional commits:
git commit -m "feat: add gravity wave detection module" - Push and open a Merge Request using the MR template
Please read CONTRIBUTING.md for coding standards, test requirements, and the physics documentation policy.
Reporting Issues: Use the GitLab issue tracker with the appropriate template (bug report / feature request / new case study).
๐ Citation
If you use INFRAS-CLOUD in your research, please cite:
@article{baladi2026infrascloud,
title = {INFRAS-CLOUD: A Unified Eight-Parameter Atmospheric Infrasonic
Severity Index for Global Severe Weather Classification},
author = {Baladi, Samir},
journal = {Journal of Geophysical Research โ Atmospheres},
year = {2026},
month = {March},
doi = {10.5281/zenodo.18952438},
url = {https://doi.org/10.5281/zenodo.18952438}
}
If you are citing the Python package specifically:
@software{baladi2026infrascloud_pypi,
title = {infrascloud: Atmospheric Infrasonic Severity Index โ Open-Source Python Package},
author = {Baladi, Samir},
year = {2026},
url = {https://pypi.org/project/infrascloud},
note = {PyPI package. pip install infrascloud}
}
APA style:
Baladi, S. (2026). INFRAS-CLOUD: A Unified Eight-Parameter Atmospheric Infrasonic Severity Index for Global Severe Weather Classification. Journal of Geophysical Research โ Atmospheres. https://doi.org/10.5281/zenodo.18952438
APA style (package):
Baladi, S. (2026). infrascloud [Python package]. PyPI. https://pypi.org/project/infrascloud
๐ License
This project is licensed under the MIT License โ see LICENSE for details.
The IMS infrasound archival data used for validation is subject to CTBTO data access policies. See docs/data_access.md.
๐ฌ Contact & Acknowledgements
- Author: Samir Baladi โ gitdeeper@gmail.com
- ORCID: 0009-0003-8903-0029
- Affiliation: Ronin Institute / Rite of Renaissance โ Independent Interdisciplinary AI Researcher
- GitHub: github.com/gitdeeper9/infrascloud
- GitLab: gitlab.com/gitdeeper9/infrascloud
- Dashboard: infrascloud.netlify.app
- Zenodo: doi.org/10.5281/zenodo.18952438
- IMS Data Access: CTBTO Virtual Data Exploitation Centre (vDEC)
- Funding: Independent researcher โ no external funding declared
"INFRAS-CLOUD converts the inaudible acoustic language of the atmosphere into operational meteorological intelligence โ the first time the sky has been systematically listened to rather than merely watched."
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 infrascloud-1.0.0.tar.gz.
File metadata
- Download URL: infrascloud-1.0.0.tar.gz
- Upload date:
- Size: 68.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: INFRASCLOUD-Uploader/1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc98d3ae04fa47a5469f6788c83f8bece768dc001ee1e8931a2b98b6cabda8aa
|
|
| MD5 |
0ef996422e58ff343d0802883e984a0b
|
|
| BLAKE2b-256 |
4ed7d8ff7d078974ca7b333b3973a1a900c8e33ea80109b6954287e5104fa138
|
File details
Details for the file infrascloud-1.0.0-py3-none-any.whl.
File metadata
- Download URL: infrascloud-1.0.0-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: INFRASCLOUD-Uploader/1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e20267f27eade91c8a44c4002cf70c0e813d521982f34e912a427b3d93f5d291
|
|
| MD5 |
b427ece2ba5f27c06496e534726f069e
|
|
| BLAKE2b-256 |
2ae35643298d0762c3764068eb2f07b1dbc0cf6c2cd2ee0ec4ce72678bf6c42e
|