How pstcricq/cabrera-mhw-twin works
cabrera-mhw-twin is a marine-heatwave data product for Cabrera MPA. Its main workflow harmonizes satellite SST and park-boundary data, computes heatwave indicators and warming scenarios, exports tables and metadata, then serves them through an HTTP API consumed by a five-page dashboard. A separate in-situ branch supplies station data for satellite validation. The graph follows the documented workflow and sampled calls; source excerpts are partial, so uncertain connections—especially refresh orchestration and dashboard page-specific requests—are omitted.
Main entry points: common.py API client · pipeline.py Build pipeline · indicators.py Indicator computation · processed Processed series
Components 22
Data ingestion
- Satellite SST ingest
src/cabrera_twin/ingest/sst.py - Station ingest
src/cabrera_twin/ingest/insitu.py - Park boundary
src/cabrera_twin/ingest/mpa.py - Processed series
data/processed
Heatwave analysis
- Build pipeline
src/cabrera_twin/pipeline.py - Heatwave detection
src/cabrera_twin/analysis/mhw.py - Warming scenarios
src/cabrera_twin/analysis/whatif.py - Indicator computation
src/cabrera_twin/analysis/indicators.py
Data products
- Parquet and metadata
src/cabrera_twin/export/tables.py - STAC catalog
src/cabrera_twin/export/stac.py - Exported datasets
data/exports
API service
- HTTP API
src/cabrera_twin/api.py
Dashboard
- API client
dashboard/common.py - Overview
dashboard/overview.py - Year explorer
dashboard/year_explorer.py - Trends and what-if
dashboard/trends.py - Validation page
dashboard/validation.py - Method and data
dashboard/method.py
Other components
- Copernicus Marine
- SOCIB station
- MPA boundary source
- Analyst
Connections 29
- Copernicus Marine → Satellite SST ingest: provides SST
- SOCIB station → Station ingest: provides observations
- MPA boundary source → Park boundary: provides boundary
- Satellite SST ingest → Processed series: writes SST
- Station ingest → Processed series: writes station data
- Park boundary → Processed series: writes boundary
- Build pipeline → Satellite SST ingest: opens SST
- Build pipeline → Park boundary: requests mask
- Build pipeline → Indicator computation: computes indicators
- Indicator computation → Heatwave detection: detects events
- Indicator computation → Warming scenarios: computes scenarios
- Indicator computation → Station ingest: reads station data
- Build pipeline → Parquet and metadata: writes results
- Build pipeline → STAC catalog: writes catalog
- Parquet and metadata → Exported datasets: writes tables
- STAC catalog → Exported datasets: writes catalog
- HTTP API → Exported datasets: queries exports
- HTTP API → Processed series: reads boundary and metadata
- API client → HTTP API: requests data
- Overview → API client: fetches data
- Year explorer → API client: fetches data
- Trends and what-if → API client: requests scenarios
- Validation page → API client: fetches data
- Method and data → API client: fetches data
- Analyst → Overview: views
- Analyst → Year explorer: explores year
- Analyst → Trends and what-if: tests warming
- Analyst → Validation page: checks validation
- Analyst → Method and data: reads method