Adopted PhenoCam SNR eligibility gate.

This commit is contained in:
Felix Delattre 2026-05-17 16:17:28 +02:00
parent 740249115b
commit 1749d64da9
3 changed files with 351 additions and 0 deletions

View file

@ -309,6 +309,25 @@ def calculate_all_metrics(season, site_name, site_position):
if phenocam_stats:
results["phenocam_stats"] = phenocam_stats
from phenocam_snr import compute_snr, load_phenocam_snr, write_phenocam_snr
snr_info = load_phenocam_snr(site_name, season, base=Path("data"))
if not snr_info:
write_phenocam_snr(
site_name, season, base=Path("data"), metrics=results, fetch_if_missing=True
)
snr_info = load_phenocam_snr(site_name, season, base=Path("data"))
if not snr_info:
snr_info = compute_snr(
site_name, season, base=Path("data"), metrics=results, fetch_if_missing=True
)
if snr_info.get("snr") is not None:
results["phenocam_snr"] = {
"amplitude": snr_info.get("amplitude"),
"spline_rmse_gcc90": snr_info.get("spline_rmse_gcc90"),
"snr": snr_info.get("snr"),
}
baseline = {}
all_gcc, flags = _s2_gcc_series_from_preselection(base)
if all_gcc: