jejjohnson / jejjohnson/xrtoolz

V5.5: Demo notebook — Marine Heatwave detection on OSTIA SST vs ODYSSEA L3S

Open
#68 0 comments 0 reactions 0 assignees View on GitHub
documentation enhancement validation-framework
Dominant language
Python
Stars
1
Forks
0
Avg merge
13d 21h
Merged PRs (30d)
3

Description

## Summary
End-to-end notebook demonstrating V5 on real data. Detect MHWs in OSTIA L4 (gap-free analysis) and ODYSSEA L3S (multi-sensor obs), match them, score them.

## What to build
`docs/notebooks/validation_v5_phenomena.ipynb`:

1. Load CMEMS OSTIA L4 + ODYSSEA L3S on `[-70, -50] × [30, 45]`, 2 summers (e.g. 2023-06 → 2024-09).
2. Build SST climatology from the OSTIA archive (existing helpers in `xr_toolz.geo.detrend`).
3. Define an `EventDefinition` for MHWs: `percentile=90`, `min_duration=5`.
4. `DetectMarineHeatwaves` on both products → labelled object Datasets.
5. Visualize: pick a known MHW summer (2023 North Atlantic was anomalously warm), plot detected events from both products side by side.
6. `match_objects` → matched pairs.
7. Compute `ProbabilityOfDetection`, `FalseAlarmRatio`, `CriticalSuccessIndex`, `IntersectionOverUnion`, `DurationError`, `IntensityBias`, `CentroidDistance`.
8. Summary panel.

## Acceptance criteria
- [ ] Notebook executes end-to-end.
- [ ] Inline figures committed.
- [ ] `xr_toolz_venv` kernel.
- [ ] mkdocs nav under "Validation tutorials".

Contributor guide

Open the contributing guide

Research direction

Start with docs/notebooks/validation_v5_phenomena.ipynb and the existing helpers in xr_toolz.geo.detrend. Build the OSTIA climatology, run the specified event detection, matching, metrics, and visualizations for both products. Done means the notebook executes end-to-end with inline figures, uses the xr_toolz_venv kernel, and appears in mkdocs under "Validation tutorials".

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
data, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.