added gap validation.

This commit is contained in:
Felix Delattre 2026-05-17 15:55:15 +02:00
parent 374be6865d
commit 740249115b
12 changed files with 997 additions and 116 deletions

View file

@ -52,10 +52,25 @@ By default, most stages in `run.py` are **commented out** (metrics-only). Uncomm
With prepared data and EFAST installed:
```bash
python -m gap_validation.run --site innsbruck --season 2024 --lat 47.116171 --lon 11.320308
# Phenology sidecars (TIMESAT 50 % amplitude)
python -m phenology_timesat --all
# Spatial NSE_S2 vs withheld S2 (unit test: Estonia peatland, 30 d, green-up)
python -m gap_validation.run --site pitsalu --season 2024 --lat 58.5633 --lon 24.3688 \
--strategy aggressive --sigma 20 --mode bti --transition green_up --gap-days 30
# All six sites, best BtI scenario per site
python -m gap_validation.batch_spatial
# Full-season NSE_PC on gap-degraded stack (slow)
python -m gap_validation.temporal_pc --site pitsalu --season 2024 --lat 58.5633 --lon 24.3688
python -m gap_validation.batch_temporal
# TIMESAT day-offsets on gap fusion vs PhenoCam (needs temporal tier)
python -m gap_validation.phenology_offsets
```
Writes `data/{site}/{season}/validation/gap_manifest.json`, `gap_validation_summary.json`, and masked fusion under `validation/fusion/`. See `python -m gap_validation.run --help`.
Writes `gap_manifest.json`, `gap_withheld_images.json`, `gap_validation_summary.json` (spatial), and optionally `gap_metrics.json` (temporal). Masked fusion under `validation/fusion/gap_{N}_{transition}/`. See `python -m gap_validation.run --help`.
## Data layout