EFAST spatio-temporal fusion with phenocam validation.
| webapp | ||
| .gitignore | ||
| .python-version | ||
| 1-phenocam.py | ||
| 2-phenocam-screening.py | ||
| 3-sentinel-data.py | ||
| 4-fusion.py | ||
| 5-metrics.py | ||
| AGENTS.md | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Worldwide PhenoCam EFAST feasibility screening
Screen the global PhenoCam Network for sites where EFAST Sentinel-2 / Sentinel-3 fusion is likely to work: enough PhenoCam gcc_90, seasonal signal, and S2/S3 coverage for a calendar year.
Agent-oriented detail: AGENTS.md.
Quick start
From processing/:
uv sync
uv run python 1-phenocam.py --evaluation-year 2025
Stepped pipeline (resumable)
All steps use --evaluation-year (default 2025) and optional --site. See each script docstring for inputs/outputs under data/.
uv run python 1-phenocam.py --evaluation-year 2025
uv run python 2-phenocam-screening.py --evaluation-year 2025
uv run python 3-sentinel-data.py --evaluation-year 2025
uv run python 4-fusion.py --evaluation-year 2025
uv run python 5-metrics.py --evaluation-year 2025
# single site
uv run python 3-sentinel-data.py --evaluation-year 2025 --site innsbruck
uv run python 4-fusion.py --evaluation-year 2025 --site innsbruck
uv run python 5-metrics.py --evaluation-year 2025 --site innsbruck
Step 3 S3 uses CDSE OpenEO (SENTINEL3_SYN_L2_SYN); S2 uses AWS Earth Search COG range reads (no auth).
Outputs (under data/)
| Artifact | Step | Role |
|---|---|---|
phenocam/{year}.json |
1 | Site list + sites_dir pointer |
phenocam/{year}/{site}.json, {site}_1day.csv |
1 | Raw API + GCC CSV |
phenocam_screening/{year}.json / .csv |
2 | PhenoCam + SNR gate results |
sentinel_data/{year}/{site}/prepared/s2/ |
3 | S2 REFL + DIST_CLOUD GeoTIFFs |
sentinel_data/{year}/{site}/prepared/s3/ |
3 | S3 composite GeoTIFFs |
fusion/{year}/{site}/ |
4 | BtI/ItB fused rasters |
metrics/{year}/{site}/, metrics/manifest.json |
5 | Timeseries JSON, covariates, webapp manifest |
The 2025 manifest currently lists 739 cameras with archive overlap; most per-site CSV/JSON files are cached under data/phenocam/2025/.
Web viewer
From the workspace root, make serve serves processing/ at http://localhost:8000/webapp/index.html. Requires step 5 (data/metrics/manifest.json).