EFAST spatio-temporal fusion with phenocam validation.
Find a file
2026-06-11 12:33:22 +02:00
.gitignore Switching horses. 2026-06-10 14:18:06 +02:00
.python-version Added efast. 2025-12-22 10:10:23 +01:00
1-phenocam.py Switching horses. 2026-06-10 14:18:06 +02:00
2-phenocam-screening.py Switching horses. 2026-06-10 14:18:06 +02:00
3-sentinel-data.py Fix two scene input. 2026-06-11 11:35:40 +02:00
4-fusion.py Added skip-blended. 2026-06-11 00:42:02 +02:00
5-metrics.py Suppress empty 3x3 warning. 2026-06-11 12:33:22 +02:00
AGENTS.md Moved webapp to top level. 2026-06-10 15:33:07 +02:00
common.js Moved webapp to top level. 2026-06-10 15:33:07 +02:00
fix-tile-boundary.py Fix two scene input. 2026-06-11 11:35:40 +02:00
index.html foo 2026-06-11 00:38:27 +02:00
pyproject.toml Switching horses. 2026-06-10 14:18:06 +02:00
README.md Aodded world map to webapp. 2026-06-10 15:43:54 +02:00
uv.lock Switching horses. 2026-06-10 14:18:06 +02:00

Worldwide PhenoCam EFAST screening and fusion

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). CDSE credentials live in ../.env at the workspace root (CDSE_USER, CDSE_PASSWORD).


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/index.html. Requires step 5 (data/metrics/manifest.json).