Aitana: volcano monitoring benchmarking framework

Aitana (named after the great football midfielder Aitana Bonmati) is a Python library intended as a prototype implementation of a validation and benchmarking framework for AI/ML in volcano monitoring.

Operational uptake of machine learning in volcano observatories remains limited because of three structural problems: no community-accepted benchmark datasets, poor reproducibility, and insufficient uncertainty quantification. Aitana is a prototype addressing these gaps.

What is implemented

  • Data access — time-series data from three New Zealand volcanoes (Ruapehu, Whakaari/White Island, Taupo) via the GeoNet TILDE API and WFS, with transparent disk caching and incremental date-range updates.
  • Pre-processing — RSAM access for Ruapehu and Whakaari; seismic waveform retrieval, validation, gap-filling, and instrument response removal (seismic_waveforms); moving-window earthquake rate and gradient estimation (util).
  • Evaluation — ROC curves, threshold evaluation (TP/FP/TN/FN), and forecasted-rate computation with pre-eruption windows (scoring).
  • State-space models — Kalman-filter models for multi-sensor SO₂ fusion and trend estimation (assimilate).
  • Benchmarking CLIvolcanobench drives Snakemake workflows for end-to-end benchmarking (download → feature extraction → model training → forecast scoring). One workflow is bundled: a Bayesian network vs decision tree benchmark for Whakaari/White Island.

What is planned / in progress

  • Shared implementations of DSAR, spectrograms, and swarm detection.
  • Temporal cross-validation schemes.
  • Proper scoring rules (log-likelihood, CRPS, reliability diagrams).
  • Containerised or environment-locked pipelines (Docker / Apptainer / pixi).
  • Semantic versioning of datasets and evaluation protocols.
  • Integration with community tools (SeisBench, WOVOdat formats).

Dependencies

  • pandas, requests, matplotlib, statsmodels
  • obspy (seismic waveform processing)
  • snakemake (workflow execution)
  • tonik

Installation

pip install -U aitana

volcanobench CLI

The volcanobench command drives Snakemake benchmarking workflows bundled with Aitana or registered by third-party packages via the volcanobench.workflows entry-point group.

Command Description
volcanobench list List all registered workflows (name, volcano, description).
volcanobench run <volcano> <outdir> Run every registered workflow for a volcano.
volcanobench clean <volcano> <outdir> Delete all outputs produced by the workflow.

volcanobench run accepts --cores N (default 1) to control Snakemake parallelism.

Get in touch

Report bugs, suggest features, view the source code, and ask questions on GitHub.