04 — Come eseguire una simulazione ⭐
Questa è la guida pratica al simulatore di propagazione del fuoco PyroWISE. Imparerai il percorso rapido "happy-path", ogni parametro che puoi impostare, come progredisce un run, come leggere i risultati e i tre modi per avviare un run (nowcast live, scenario, replica storica) — oltre alla storia dei run, alla riproduzione 3D e alle esportazioni.
Come si incastra il tutto. Il cruscotto operativo non calcola da sé l'incendio — invia i tuoi input al motore esterno PyroWISE via HTTP e mostra i risultati. PyroWISE conserva gli artefatti di ogni run (perimetri, raster del tempo di arrivo, testo del narratore…) nel proprio object store; il cruscotto li legge su richiesta. Quindi "il motore è irraggiungibile" e "i dati di questo run sono stati rimossi" sono stati reali che l'interfaccia ti segnalerà.
Quando hai prodotto un fronte di fuoco, vai a 05 — Simulazione degli interventi di firekeeper / agenzie ⭐ per pianificare la risposta da opporvi.
Avvio rapido — un nowcast live in quattro passi
Schermata: Simulazione → Nuova simulazione (/simulation/index).
- Clicca sulla mappa dove l'incendio inizia — compare un marcatore di innesco trascinabile (oppure clicca Edit coords per digitare latitudine/longitudine).
- Imposta l'ora di innesco (UTC) — oppure premi Now.
- Scegli l'orizzonte (quanto lontano nel tempo simulare): 15′ / 30′ / 1 h / 2 h / 4 h. Il valore predefinito è 30′.
- Premi Start simulation.
Il pulsante resta disabilitato finché non sono impostati sia un punto di innesco sia un orario. Tutto il resto ha un valore predefinito sensato — prosegui nella lettura quando hai bisogno di metterlo a punto.
I parametri, uno per uno
Punto di innesco (obbligatorio)
Dove l'incendio inizia, in gradi WGS84. Impostalo cliccando sulla mappa (il marcatore è trascinabile per la regolazione fine), oppure apri Edit coords per inserire direttamente latitudine/longitudine. L'elenco Esempi / bookmarks posiziona l'innesco in località preimpostate (ad es. Komen, un punto transfrontaliero, un sito WUI a Doberdò).
Ora di innesco — UTC (obbligatorio)
Il momento in cui l'incendio inizia, in UTC. Usa Now per inserire l'ora corrente. Questo è anche il riferimento predefinito per il meteo del replay (vedi sotto).
Sorgente meteo
- Now (live weather) — predefinito. Usa il feed corrente delle stazioni.
- Historical replay — rivela un campo Historical date/time (UTC) (con una scorciatoia Use ignition time). In questa modalità l'ora storica è obbligatoria — il run usa il meteo com'era allora.
Man mano che sposti l'innesco, una scheda meteo live mostra temperatura, vento, umidità, pressione e FWI per quel punto, con una rosa dei venti. È così che verifichi la plausibilità delle condizioni prima del lancio.
Orizzonte (durata)
Quanto lontano nel futuro simulare: 15 / 30 / 60 / 120 / 240 minuti (30′ per
impostazione predefinita). Orizzonti più lunghi richiedono più tempo di calcolo.
Una nota sul vento
Su questo form non c'è un campo di vento — il vento proviene dalla sorgente meteo (il feed live, o lo snapshot storico al tuo orario di replay). Per modellare un cambio di vento a metà run, usa il brick di perturbazione meteo del Compositore di scenari (vedi Scenari).
Opzioni avanzate
Apri Advanced options per quattro manopole extra. I valori predefiniti sono sensati — un campo viene inviato al motore solo quando lo modifichi, quindi lasciare il cassetto intatto produce un run predefinito pulito e riproducibile.
| Opzione | Predefinito | Cosa fa |
|---|---|---|
| Barrier policy | Karst default — soft_roads_v1 | Come strade/ferrovie/muri influiscono sulla propagazione (vedi tabella sotto). |
| Time step (s) | 30 (1–600) | Δt del solutore. Più piccolo = più preciso ma più lento. |
| Fuel mapping | karst_sitespecific_v1 | Quale modello di combustibile mappa la vegetazione sul comportamento del fuoco. |
| Use burn raster | on | Esclude dalla propagazione le aree già bruciate (raster storico). |
| Dynamic fuel (NDVI) | off (mostrato solo dove abilitato) | Regola lo stato del combustibile dal verde satellitare recente invece che da una mappa statica. |
| Electronic-nose evidence | off (mostrato solo dove il layer del naso elettronico è abilitato e hai il permesso) | Alimenta il run con gli alert del naso elettronico. Modalità di assimilazione: trigger only (predefinito — gli alert possono innescare il run) o passive (registra senza applicare). |
Policy di barriera
Una policy di barriera decide se gli elementi lineari bloccano il fuoco o lo rallentano soltanto. Le barriere "morbide" dimezzano la velocità di propagazione in una cella stradale (~50%) ma il fronte continua comunque ad attraversarla a ogni orizzonte — solo più lentamente. Scegli in base a ciò che la tua AOI contiene effettivamente:
| Policy | Usala quando… |
|---|---|
soft_roads_v1 (Karst default) | Il valore predefinito. Le strade rallentano il fuoco (~50% ROS) ma non lo bloccano mai; nessun corridoio ferroviario significativo. |
soft_with_railways_v1 | L'AOI ha ferrovie (strade morbide + ferrovie bloccanti). Questo è il valore predefinito a monte di PyroWISE. |
soft_with_railways_and_roads_v1 | Forniture di aree di studio più vecchie che includono layer stradali legacy. |
soft_with_railways_and_dry_stone_walls_v1 | Aree carsiche dove i muretti a secco contano (strade morbide + ferrovie + muri morbidi). |
soft_with_highways_v1 | L'AOI ha autostrade/strade di grande comunicazione da trattare come barriere rigide. Potrebbe non essere ancora disponibile sul motore — in tal caso riceverai un messaggio pulito "scegli un'altra policy". |
legacy_hard | Vuoi il comportamento storico in cui ogni strada blocca. |
disabled | Un test senza barriere (ignora del tutto strade e ferrovie). |
Avvia il run e cosa succede dopo
Premi Start simulation. Il cruscotto invia a PyroWISE e inizia subito a mostrare l'avanzamento.
Stati del run: pending → running → succeeded o failed. Una
pillola di stato e una barra di avanzamento lo tracciano. (PyroWISE non
sempre riporta una percentuale precisa, quindi la barra può riflettere il tempo
trascorso e passare a "long running" dopo ~5 minuti — è normale, non un blocco.)
Vedi il fuoco crescere in tempo reale. Mentre è in esecuzione, il cruscotto trasmette in streaming il perimetro più recente sulla mappa man mano che ogni passo arriva (ripiegando sul polling ogni pochi secondi se lo streaming non è disponibile). Quando il run riesce, sostituisce il tutto con il risultato finale autorevole.
Per smettere di osservare/interrompere, usa Cancel (o premi Escape).
Se il motore è irraggiungibile riceverai un errore chiaro e nessuna riga di run viene creata. Se un run è stato inviato ma la riga non ha potuto essere scritta, il run esiste comunque sul motore — trovalo in seguito tramite Verify & cleanup nell'elenco dei run.
Leggere i risultati
Una volta che un run riesce, il simulatore compila:
- Perimetro sulla mappa — colorato per tempo trascorso dall'innesco, con un riempimento di bruciato a fasce d'età "realistico" opzionale e fumo.
- Layer del tempo di arrivo — un raster di quando il fuoco raggiunge ogni cella, attivabile nel pannello dei layer.
- Scheda di sintesi — i numeri a colpo d'occhio: area bruciata (ha), distanza massima, direzione (una bussola), passi, oltre alla velocità di propagazione di picco, il combustibile dominante toccato e la stazione meteo usata (nome, età, distanza).
- Banner di avviso — segnala problemi di provenienza del meteo (ad es. la stazione più vicina è lontana o ha perso molte letture).
- Badge — chip rapidi per lo stato di calibrazione (calibrato / pre-prod), la policy di barriera effettivamente applicata, la dispersione dell'ensemble (P10–P90) e lo stato del combustibile dinamico.
- Timeline / playback — quando un run ha più di un passo, scorri il perimetro nel tempo (Space = riproduci, ← / → = passo).
- Striscia di metadati del run — id del run, eseguito-il, scenario, sorgente meteo, policy di barriera, durata simulata, tempo reale (wall-clock), innesco, tipo e tag.
- Cassetto Engineering / Technical details — la vista di audit: fuel mapping, tempo reale, modalità fisica, classi di combustibile toccate, hash di riproducibilità (git, DEM, combustibile, meteo), uso dell'AI, avvisi/fallback, e la provenienza meteo completa — oltre ai link di download del manifest e del perimetro.
- Bookmark — metti una stella a un run e allega un commento per dopo.
Dopo un run
- Simula la risposta → apri il pannello Intervento per classificare, ammassare, instradare e dispacciare firekeeper/agenzie contro questo incendio. Vedi 05 — Interventi ⭐.
- Riproduci sul meteo corrente — riesegui lo stesso innesco/orizzonte sul meteo live (pulsante della barra degli strumenti).
- Confronta con… — metti fino a tre run affiancati
(
/simulation/compare) per vedere come un parametro ha cambiato l'esito. - Apri in 3D — carica il run nella scena Cesium (vedi sotto).
Storia simulazioni — /simulation/runs
Ogni run è elencato qui (vedi i tuoi; con il permesso giusto, tutti).
Le colonne includono: Run ID (clicca per riaprire), Data & ora, Scenario, Replay of (l'incendio storico), IoU vs EO (accuratezza rispetto al satellite), miniatura dell'innesco, riepilogo meteo, Duration (simulata + tempo reale), una miniatura di Preview lazy, modello di combustibile, Triggered by, Tipo, Status, Tag e un toggle Public 3D map (pubblica un run riuscito sul portale pubblico).
Filtra per data, scenario, modello di combustibile, sorgente meteo, stato, tipo, tag, "Only mine", "Bookmarked" e "Only replays of historical wildfires" — e salva un set di filtri come vista denominata.
Azioni di massa (spunta le righe): Delete, Export as ZIP (calibrazione), Add tag, Mark as calibration set. Verify & cleanup sonda il motore e rimuove le righe i cui artefatti sono stati rimossi.
Riapri un run cliccando sul suo Run ID (il simulatore lo idrata).
Riproduzione 3D — /map3-d/index
Carica un run nella scena del terreno dalla griglia dei run ("Open in Map3D") o dallo switch di modalità del simulatore. La pagina 3D ha un cassetto dei run per scegliere un run, poi riproduce il perimetro come animazione temporale sul terreno. Controlli di riproduzione: reset/play, velocità (10× / 30× / 60× / 300× / 900×), vola all'innesco, un toggle Realistic (attivo per impostazione predefinita) e uno slider di opacità della propagazione. Anche il pannello intervento 3D si trova qui — vedi 05 — Interventi.
Scenari — il Compositore di scenari
Per qualcosa di più ricco di un nowcast punto-e-ora — fasce tagliafuoco,
soppressione, ensemble, cambi di meteo a metà run, beni a rischio — usa
Simulazione → Scenari (/scenario/compose), l'editor Scenario Bricks.
Come funziona: trascina i brick dalla palette nella tua ricetta; ogni
brick è una piccola scheda con input tipizzati. Imposta l'innesco cliccando sulla
mappa dello scenario oppure scegliendo un incendio reale dal log incidenti.
Dagli un titolo, una descrizione e dei tag. Save as template per riutilizzarlo,
oppure Submit per eseguirlo — che passa il controllo al motore e ti riporta
sul simulatore al nuovo run (/simulation/index#run=…), esattamente come un
nowcast.
I brick (solo Ignition è obbligatorio; ogni tipo può comparire una volta):
| Brick | Cosa aggiunge |
|---|---|
| Ignition (obbligatorio) | Punto di origine + ora di inizio. |
| Horizon | Durata + passo temporale (predefiniti 72 h / 30 s negli scenari). |
| Ensemble | Esegui N membri per un inviluppo di incertezza (predefinito 16). |
| Fuel state | Scegli il fuel mapping. |
| Model mode | Usa l'emulatore veloce vs il solutore completo. |
| Weather | Sorgente (manual / ARSO / OSMER / ECMWF / MeteoAlarm) + uno snapshot. |
| Weather perturbation | Cambi di vento a metà run (minuto, direzione, delta di velocità). |
| Barrier | Aggiungi fasce tagliafuoco (larghezza, efficacia, geometria). |
| Suppression | Squadre/mezzi che agiscono sull'incendio (tipo, inizio, durata, efficacia) — il complemento a livello di scenario degli interventi live. |
| Asset at risk | Beni esposti (categoria, buffer, popolazione). |
| Drone / Thermal-camera / Sensor triggers | Input di osservazione che possono seminare/regolare il run. |
| Evacuation constraint | Regole di evacuazione. |
| Historical wildfire | Riproduci un incendio noto come riferimento (commuta il run a replica storica). |
Una Element library (/scenario/elements) di sola lettura contiene valori
predefiniti curati e con fonte per queste famiglie di brick.
Trigger incendi attivi — da un rilevamento reale
Trasforma i rilevamenti satellitari di hotspot (NASA FIRMS) in un nowcast seminato.
- Coda di triage — Rilevamenti / Trigger incendi attivi
(
/active-fire-trigger/events): la scansione automatica FIRMS propone eventi (stati detected → proposed → approved → spawned, oppure dismissed / expired / failed). Per uno reale, clicca Approve & run (genera un nowcast sul meteo live) oppure Dismiss con una motivazione. - Trigger manuale —
/active-fire-trigger/index: interroga tu stesso FIRMS (bounding box, sources satellitari, intervallo di giorni), metti a punto il cluster gating (distanza, finestra temporale, min rilevamenti/confidenza/FRP) e imposta le opzioni di nowcast (orizzonte, passo temporale, fuel mapping). Tieni Dry run attivo per visualizzare in anteprima rilevamenti e cluster senza generare run; disattivalo per lanciarli.
Replica storica & calibrazione
Riproduci un incendio noto rispetto alle sue condizioni reali:
- Dal simulatore, Load historical apre un selettore (cerca per area, causa, sorgente, paese, anno) e carica il perimetro reale dell'incendio come riferimento più il suo snapshot meteo.
- Oppure, dalla pagina di un incendio (
/historical-wildfire/view), usa Replay this event — il run è etichettato come replica storica.
Il replay (e i run contrassegnati come calibration set) alimentano il flusso di
calibrazione: portano con sé metriche di accuratezza (IoU / Dice, differenza
di area, offset del centroide, distanza di Hausdorff rispetto all'incendio
osservato) e possono essere esportati come ZIP di calibrazione. Il distinto
Accuracy benchmark (/benchmark) valuta i run rispetto a eventi di
riferimento curati — vedi 07 — Analisi.
Esportazioni & evidenze
Dalla barra degli strumenti del simulatore (una volta caricato un run) e dalla griglia dei run:
| Esportazione | Cosa ottieni |
|---|---|
| Shapefile | SHP del perimetro pronto per QGIS (zippato). |
| PDF report | Metadati + meteo + risultati + disclaimer + riferimenti citati, con un'immagine della mappa. |
| Run bundle | Uno ZIP dei metadati locali, degli input e di tutti gli artefatti del motore disponibili — il pacchetto di riproducibilità/evidenza. |
| Animated map (video) | Un MP4 dell'animazione di propagazione (accodato e renderizzato in background; interroga, poi scarica). |
| Calibration export | Uno ZIP di calibrazione per i run idonei (replay/calibrazione). |
| Share link | Un link pubblico, di sola lettura e revocabile (visualizzatore 2D o 3D, con scadenza e una filigrana). Gestisci i tuoi link su /simulation/shares. |
Esportazioni, condivisioni ed eliminazioni di massa sono registrate nel log azioni.
Altri strumenti di simulazione
Tre strumenti mirati nel menu Simulazione & scenari analizzano un run completato (gli fornisci un run id). Ciascuno legge PyroWISE lato server e mostra un banner ambra "degradato" se i dati non sono pronti.
- Tempo all'impatto (
/run-time-impact/index) — per un insieme di beni protetti (inseriti come GeoJSON), calcola quando (e se) il fronte di fuoco modellato raggiunge ciascuno. La tabella dei risultati fornisce, per bene, uno stato (reached / not reached / off grid), il tempo di arrivo (e i secondi), la distanza di bruciato più vicina, una banda di incertezza (p10/p50/p90) e i principali driver. Premi Compute impact. - Evidenze fumo (
/smoke-evidence/index) — un riepilogo, circoscritto al run, delle evidenze dei sensori di fumo: il conteggio delle osservazioni, un punteggio di anomalia massimo (0–1, con una barra basso/medio/alto), se sono disponibili evidenze GeoJSON e la serie temporale dei sensori, e un'azione consigliata (no action / monitor / operator review). Inserisci il run id e premi Load. - Explain this run (
/run-explain/index) — la divulgazione di audit di sola lettura di esattamente ciò che ha prodotto un run: Summary (modalità, versioni, SHA git, fuel mapping), AOI profile (livello di calibrazione, versioni dei dataset), Physics (passo temporale, modalità FBP/FWI, spotting, burn raster), Weather (sorgente, stazione, provider, modello di vento), Barriers (policy e layer), AI routing (confidenza, punteggio out-of-distribution, fallback), Known limitations e le classi di combustibile toccate (con stato di calibrazione e area). Si raggiunge tramite URL diretto con un run id.
Risoluzione dei problemi
| Sintomo | Causa probabile / rimedio |
|---|---|
| Start resta disabilitato | Imposta sia un punto di innesco sia un orario. |
| "weather_at is required" / il replay non parte | In Historical replay devi impostare la data/ora storica (oppure spuntare Use ignition time). |
| Policy di barriera rifiutata ("pick another policy") | Hai scelto soft_with_highways_v1 e il motore non lo supporta ancora — scegline un'altra. |
| La barra di avanzamento sembra bloccata | Il motore potrebbe non riportare una % precisa; mostra il tempo trascorso e "long running" dopo ~5 min. Lascialo finire oppure Cancel. |
| Errore e nessun run compare | Il motore era irraggiungibile — non è stato creato nulla. Riprova. |
| Un run nella griglia non ha dati / "No preview" | I suoi artefatti sono stati rimossi a monte — usa Verify & cleanup per riordinare tali righe. |
| I risultati sembrano non calibrati | Controlla il badge di calibrazione — le aree pre-prod non sono ancora calibrate; leggi i numeri assoluti con cautela. |
Correlati
- 05 — Simulazione degli interventi di firekeeper / agenzie ⭐ — pianifica la risposta all'incendio che hai appena simulato.
- 02 — Monitoraggio — le mappe, il meteo e l'FWI che alimentano un run; gli hand-off di "Launch nowcast".
- 06 — Operazioni di campo — incidenti e incendi storici dietro i replay.
- 07 — Analisi — il benchmark di accuratezza e le statistiche.