You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La prevenzione incendi ha bisogno della storia: dove ha bruciato in passato brucia di nuovo (ricorrenza colturale/dolosa, combustibile che si rigenera). L'archivio FIRMS copre MODIS dal novembre 2000 e VIIRS S-NPP dal gennaio 2012 (NOAA-20 dal 2018), scaricabile per paese/anno in CSV/SHP/JSON (login Earthdata, consegna via email). Per l'Italia sono ~25 anni di detection datate al giorno e geolocalizzate: l'analogo per gli incendi di ciò che e-ITALICA è per le frane.
Vantaggio rispetto ai soli perimetri EFFIS (truth set previsto in #62): gli hotspot datano al giorno/orbita l'innesco (i perimetri EFFIS hanno una sola firedate) e catturano gli incendi piccoli sotto la soglia di mappatura EFFIS. I due dataset si validano a vicenda.
Stesso pattern di limen ingest-events (e-ITALICA da Zenodo): download cacheato in LIMEN_DATA_DIR, override con LIMEN_FIRMS_CSV per file locale / run offline.
Nota: il download archivio FIRMS richiede login Earthdata e viene consegnato via email — il comando accetta il CSV già scaricato (documentare il flusso in data/README.md, layout theme-first: data/fires/firms/).
Scrittura in fire_hotspots (stessa tabella dell'ingest NRT, stessa PK naturale ⇒ upsert idempotente).
2. Feature statica fire_density per cella (bootstrap PostGIS-only)
Estensione di integrations/static_bootstrap/: densità di hotspot storici per cella (conteggio per km² su finestra 2012–oggi VIIRS, opzionalmente kernel density con raggio in YAML), normalizzata per AOI come iffi_density_500.
Colonna nuova su cell_static_factors (migrazione nuova). Cella mai toccata dal fuoco ⇒ 0, nessun NULL ambiguo.
Variante stagionale opzionale (estate vs resto dell'anno) se il costo resta un'unica passata SQL set-based.
3. Truth set per backtest e ML
Vista/estrazione fire_events(cell_id, event_date) derivata dagli hotspot clusterizzati (DBSCAN spaziale + finestra temporale, parametri in YAML) — un "evento incendio" per cella/giorno, deduplicato dai passaggi multipli dello stesso rogo.
Attenzione metodologica: FIRMS è presence-only — le pseudo-assenze vanno campionate (stesso approccio case-control già usato per il training frane), mai lette come "qui non è mai bruciato".
Acceptance criteria
limen ingest-fire-history idempotente; secondo run = skip (dataset_versions).
fire_density popolata su tutte le ~312k celle in una passata set-based; bootstrap-static resta idempotente.
Confronto di sanità EFFIS vs FIRMS su 2 stagioni estive (Puglia+Basilicata): % di perimetri EFFIS con almeno un hotspot FIRMS entro 1 km / ±2 giorni, riportata nel report.
Clustering eventi deterministico e testato (stessi input ⇒ stessi eventi).
Contesto
La prevenzione incendi ha bisogno della storia: dove ha bruciato in passato brucia di nuovo (ricorrenza colturale/dolosa, combustibile che si rigenera). L'archivio FIRMS copre MODIS dal novembre 2000 e VIIRS S-NPP dal gennaio 2012 (NOAA-20 dal 2018), scaricabile per paese/anno in CSV/SHP/JSON (login Earthdata, consegna via email). Per l'Italia sono ~25 anni di detection datate al giorno e geolocalizzate: l'analogo per gli incendi di ciò che e-ITALICA è per le frane.
Vantaggio rispetto ai soli perimetri EFFIS (truth set previsto in #62): gli hotspot datano al giorno/orbita l'innesco (i perimetri EFFIS hanno una sola
firedate) e catturano gli incendi piccoli sotto la soglia di mappatura EFFIS. I due dataset si validano a vicenda.Design
1. Ingest archivio —
limen ingest-fire-history(CLI, idempotente)limen ingest-events(e-ITALICA da Zenodo): download cacheato inLIMEN_DATA_DIR, override conLIMEN_FIRMS_CSVper file locale / run offline.data/README.md, layout theme-first:data/fires/firms/).fire_hotspots(stessa tabella dell'ingest NRT, stessa PK naturale ⇒ upsert idempotente).2. Feature statica
fire_densityper cella (bootstrap PostGIS-only)integrations/static_bootstrap/: densità di hotspot storici per cella (conteggio per km² su finestra 2012–oggi VIIRS, opzionalmente kernel density con raggio in YAML), normalizzata per AOI comeiffi_density_500.cell_static_factors(migrazione nuova). Cella mai toccata dal fuoco ⇒ 0, nessun NULL ambiguo.3. Truth set per backtest e ML
fire_events(cell_id, event_date)derivata dagli hotspot clusterizzati (DBSCAN spaziale + finestra temporale, parametri in YAML) — un "evento incendio" per cella/giorno, deduplicato dai passaggi multipli dello stesso rogo.Acceptance criteria
limen ingest-fire-historyidempotente; secondo run = skip (dataset_versions).fire_densitypopolata su tutte le ~312k celle in una passata set-based;bootstrap-staticresta idempotente.make checkverde.Dipendenze e relazioni
fire_hotspotsdi [Fase 2c] Wildfire: integrazione NASA FIRMS — ingest hotspot NRT e trigger event-driven #65.Riferimenti
limen ingest-events(e-ITALICA),integrations/static_bootstrap/(bootstrap set-based),ml/feature_store.py(labels dalandslide_events).