jejjohnson / jejjohnson/xrtoolz
V5.5: Demo notebook — Marine Heatwave detection on OSTIA SST vs ODYSSEA L3S
- 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
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