O modelo, em aberto
Esta página explica como prevemos para onde o fogo vai chegar, mostra a precisão real do modelo em incêndios passados, e compara honestamente com outros sistemas. Não escondemos números — quem decide com base na previsão merece saber onde ela funciona melhor e onde funciona pior.
Nos fogos em curso, a nossa previsão sobrepõe-se 65–90% ao que realmente arde — validado contra as progressões reais de 57 grandes incêndios portugueses reconstruídas pela ADAI (PT-FireSprd, 2015–2021).
Como? Em vez de prever a partir do ponto de ignição (sobreposição de ~1–2% num fogo grande), o motor parte do perímetro real detetado por satélite e faz crescê-lo com a propagação calibrada — a mesma técnica dos sistemas comerciais usados pela CAL FIRE. E porque os números só valem se forem verificáveis: publicamos a validação ao vivo, fogo a fogo, nesta página (secção abaixo), à medida que a época decorre.
Jaccard ponderado: ≈0,85–0,89 global · ≈0,65–0,70 nos intervalos em crescimento ativo · 0,01–0,02 se prevíssemos do ponto de ignição. Corpus: PT-FireSprd (Benali et al., ESSD 2023), 442 pares de isócronas. Metodologia aberta no repositório.
Como funciona
Para cada incêndio activo, o browser corre uma simulação Rothermel 1972 ao longo de 12 direcções a partir do ponto de ignição. Cada direcção avança em passos de 5 minutos, lendo o terreno, o combustível e o tempo a cada passo.
- 01Lê declive e exposição (aspecto) do terreno Cesium ~30 m no ponto de ignição.
- 02Procura a classe de combustível (mato/pinhal/eucalipto/floresta mista/agrícola/urbano/água/rocha) num mapa nacional construído a partir do OpenStreetMap.
- 03Interpola vento, temperatura e humidade pelas 5 estações IPMA mais próximas (IDW vectorial — preserva direcção do vento, não só intensidade).
- 04Aplica RCM do concelho (IPMA 1-5) como amplificador global do ROS.
- 05Quando disponível, aplica FWI DMC/DC (Van Wagner 1987) para captar a secura cumulativa que a humidade snapshot não vê.
- 06Re-amostra terreno e combustível a cada 4 passos (≈ 20 min de fogo) — captura mudanças de paisagem ao longo do caminho.
- 07Os pontos a 30 min / 1 h / 3 h / 6 h em todas as 12 direcções formam os perímetros previstos.
Componentes activos
Modelo Rothermel 1972
Implementação simplificada do modelo industry-standard de propagação. Base ROS por classe de combustível, com correcções de vento (Rothermel/McArthur) e declive (Rothermel slope correction).
Mapa de combustíveis nacional
16 317 polígonos OpenStreetMap classificados em 8 classes operacionais (eucalipto +37 % sobre baseline mato, pinhal +12 %, etc). Limitação: poucas espécies marcadas explicitamente; eucalipto real está subestimado.
Interpolação espacial de vento
IDW vectorial sobre as 5 estações IPMA mais próximas. Decompõe vento em componentes u/v antes de mediar — evita o erro clássico de mediar 'vento de norte' com 'vento de sul' como '10 km/h'.
FWI Van Wagner (DMC + DC + FFMC)
Códigos calculados diariamente para os 278 concelhos a partir das observações IPMA. Capturam secura cumulativa que o snapshot RH+T não vê — um dia RCM=5 após 30 dias secos arde muito mais que após chuva recente.
Calibração Sprint 17 cal v8 — ELMFire + per-fire weather (CURRENT)
Engine: ELMFire 2025.0212 (LLNL) numa VM Hetzner CPX22, com per-fire vento ERA5 reanalysis da Open-Meteo Archive. Sweep de 4 valores WSMFEFF_LOW_MULT contra 48 perímetros Copernicus EMS daily (free-burning, NÃO censurados por bombeiros). Vencedor: wind-half (WSMFEFF=0.005682) com J=0.196 weighted-area-sqrt vs EMS (mean per-fire 0.120). Cal v5 vs ICNF tinha escolhido wind-12th (0.000947) mas isso era um artefacto do CAL_WEATHER over-stated; quando o vento real é usado, optimum sobe para wind-half. O hybrid Sprint 4 + Huygens v2 ganha claramente em pure-J (0.365 vs 0.20 do ELMFire), é instantâneo e não depende da VM. Em 2026-05-28 desligámos o ELMFire: estava a SUBSTITUIR o polígono hybrid (melhor) pelo seu (pior) na segunda vista — produção agora serve só o hybrid. ELMFire fica code-gated para reactivar quando a validação ao vivo o justificar. Audit completo em lib/fire-spread/calibrated.ts.
Calibração Sprint 4 (histórico — pre-ELMFire)
Grid search 6×9×7×7 (2646 avaliações) contra 161 incêndios ICNF 2010-2025 (corpus completo). Multiplicadores: baseMult=0.5, windMult=0.1, slopeMult=0.02, rcmMult=1.2. Resultado: J=0.312 weighted-area-sqrt, 95% CI bootstrap [0.284, 0.340], mediana per-fire 0.332. Esta calibração foi BACKED por dois testes independentes em 2026-05-17: (1) paired bootstrap contra a tentativa Sprint 8 nos mesmos 94 fogos post-2020 → Sprint 4 ganhou em 51/94 fogos individuais, diferença não significativa (CI [-0.001, +0.016], p=0.092); (2) cross-validation temporal (train pre-2024, test 2024-25) → Sprint 4 generalisa MELHOR out-of-sample (0.300) que uma re-calibração feita no train set (0.280). Esta engine continua como fallback (browser-side) quando o ELMFire VM não está disponível ou ainda não cacheou um fogo novo.
Adaptação por passo
Terreno e combustível re-amostrados a cada 4 passos. Uma frente que entra num eucaliptal acelera; ao chegar a uma estrada ou ribeira, abranda. Sem isto, fires correndo por gradientes íngremes ficavam mal modelados.
Precisão histórica
Para cada incêndio do corpus, comparámos o perímetro previsto a 24 h com o perímetro real (ICNF Áreas Ardidas). O índice Jaccard mede a sobreposição — 0 = sem sobreposição, 1 = perímetro perfeito.
Buckets agrupados por região × tipo de combustível dominante × intervalo de RCM. Mínimo 3 amostras por bucket.
| Região | Combustível | RCM | Jaccard | 95% CI | n | Confiança |
|---|---|---|---|---|---|---|
| A carregar dados de calibração… | ||||||
Validação contra fogos reais (ao vivo)
A precisão histórica acima é calculada offline. Esta secção fecha o ciclo: para cada incêndio activo da ANEPC, guardamos a previsão no momento e, 1 a 6 horas depois, comparamos com a área efectivamente ardida medida por satélite (focos térmicos NASA FIRMS). É a medida mais honesta — o modelo a ser avaliado contra a realidade, não contra histórico.
A carregar validação ao vivo…
Jaccard = sobreposição área prevista vs ardida. B-IoU 250m = concordância da fronteira com tolerância de 250 m. Rácio área = prevista ÷ real (1.0× = perfeito, > 1 = sobre-estimou). Medianas dos últimos 90 dias. Fonte de verdade: aglomerado de focos NASA FIRMS (VIIRS 375 m).
Comparação com outros sistemas
Honestamente: em precisão pura, sistemas calibrados comercialmente (Tecnosylva) ou operados por analistas (FARSITE da BMAP da ANEPC) batem-nos. O que nos diferencia é acessibilidade — somos o único sistema público em PT que mostra previsão de propagação ao cidadão em tempo real.
| Sistema | Jaccard | Acesso público | Notas |
|---|---|---|---|
| Tecnosylva Wildfire Analyst | 0.60–0.70 | ✗ Fechado | Comercial, licença ≥ €€€ |
| FARSITE (BMAP ANEPC) | 0.55–0.65 | ✗ Fechado | Operado por analistas, uso interno |
| WRF-FARSITE (académico PT) | 0.50–0.65 | ✗ Fechado | Publicado em papers, sem live feed |
| EFFIS Copernicus | ~0.40 | ~ Limitado | Europeu, resolução 1 km |
| FireOps (este sistema) | 0.37 vs EMS · ~0.31 vs ICNF | ✓ Sim | Público, Sprint 14 hybrid, tempo real · 161 fogos ICNF + 48 perímetros Copernicus EMS · validação ao vivo activa (2026-05-28) |
Limitações conhecidas
O que ainda não fazemos bem, e por porquê:
- ⚠Sem spotting (transporte de embers a longa distância). Em incêndios extremos, pavesas saltam centenas de metros à frente da frente principal e iniciam novos focos. Modelo de Albini (1979) está na roadmap.
- ⚠Sem feedback loop em tempo real. Quando os bombeiros reportam perímetro real, não corrigimos o modelo automaticamente. Sistemas profissionais fazem isto.
- ⚠Mapa de combustíveis OSM, não ICNF. A Cartografia da Vegetação Florestal do ICNF é mais precisa, mas tem barreiras de licenciamento. Em PT, eucalipto e pinhal estão particularmente subestimados no OSM.
- ⚠Sem vento variável no tempo. Usamos uma snapshot da estação no momento da previsão. Em incêndios de 6 h o vento pode mudar 90°.
- ⚠Calibração só contra incêndios ≥ 1000 ha. Para incêndios pequenos (< 100 ha) o modelo não foi validado contra ground truth.
- ⚠Sem validação cega contra BMAP/ANEPC. Os analistas profissionais correm modelos no terreno; comparar com os deles seria o teste definitivo.
Próximos passos
Histórico recente: 6 experiências (FWI ERA5, droughtMult, terreno real, terreno per-step, …) NÃO melhoraram a métrica. Sprint 7+8 (re-calibração no subset post-2020) chegou a parecer entregar +0.025 mas o paired bootstrap em 2026-05-17 mostrou que o ganho real era +0.008 e estatisticamente indistinguível de zero — Sprint 8 foi revertido. Engine (ray-cast em 24 direcções) continua a ser o gargalo identificado. As vias com upside realístico, por ordem de impacto vs. esforço:
- 01Engine Huygens vector-front (2-3 semanas) — substituir o ray-cast por uma frente propagante discretizada. Captura fingering, breakouts e canalização dinâmica do terreno. Expectativa: J ≈ 0.45-0.55. É o caminho que as 6 experiências apontam.
- 02Corrector ML em cima da física (3-5 dias) — treinar um regressor (gradient boosting) nos resíduos por-fogo: features=(FWI sub-indices, combustível, declive, vento, área, região), alvo=Jaccard(modelo, ground-truth). Aplica como ajustador de confiança por-fogo. Expectativa: J ≈ 0.35-0.40. Não conserta a física, mas limita o pior caso.
- 03Ground-truth Copernicus EMS daily (1-2 dias) — os perímetros ICNF actuais incluem intervenção dos bombeiros, que o modelo não pode prever. Trocar para snapshots diários EMS dá sinal mais limpo para calibrar. Cobertura escassa em fogos < 1000 ha, mas excelente para os 30+ mega-fires do corpus.
- 04Modelo de spotting Albini 1979 — em fogos extremos pavesas saltam centenas de metros à frente. Cobre uma classe de falha do modelo actual ("fogo aparece a 500 m de onde devia").
- 05Vento variável no tempo via IPMA forecast hourly — actualmente usamos uma snapshot. Em fogos de 6 h o vento pode mudar 90°. Não testado ainda.
- 06Validação cega independente — pedir à ANEPC/BMAP ou a um grupo académico (LASIF/Coimbra) para correr o modelo num incêndio real e publicar a comparação. Teste definitivo de defensibilidade.
Referências científicas
- · Rothermel, R.C. 1972. A mathematical model for predicting fire spread in wildland fuels. USDA Forest Service Research Paper INT-115.
- · Van Wagner, C.E. 1987. Development and structure of the Canadian Forest Fire Weather Index System. Petawawa National Forestry Institute Technical Report 35.
- · Simard, A.J. 1968. The moisture content of forest fuels. Information Report FF-X-14, Forest Fire Research Institute.
- · Andrews, P.L. 2018. The Rothermel surface fire spread model and associated developments. USDA RMRS-GTR-371.
- · Albini, F.A. 1979. Spot fire distance from burning trees. USDA INT-56.
- · Anderson, H.E. 1982. Aids to determining fuel models for estimating fire behavior. USDA INT-GTR-122.
- · Fernandes, P.M. 2009. Combining forest structure data and fuel modelling to assess fire hazard in Portugal. Annals of Forest Science 66:415.
- · Viegas, D.X. et al. 2017. Análise técnica do incêndio de Pedrógão Grande. Universidade de Coimbra.
- · ICNF — Áreas ardidas em Portugal continental 1990-2025 (DGAVeg / si.icnf.pt).
Fontes de dados e atribuição
- ·ANEPC / Fogos.pt — Lista de incêndios activos em tempo real, com meios e estado (Dados públicos)
- ·IPMA · Risco Concelhio Meteorológico (RCM) — Nível de risco diário 1-5 por concelho (278 concelhos) (api.ipma.pt open-data)
- ·IPMA · Observações de superfície — Vento, humidade, temperatura de 221 estações (hourly) (api.ipma.pt open-data)
- ·NASA FIRMS — Hotspots de satélite VIIRS (delay ~3-6 h) (NASA open data)
- ·Cesium ion · World Terrain — Modelo digital de terreno ~30 m para declive e exposição (Cesium ion (free tier))
- ·OpenStreetMap (Overpass API) — Mapa de combustíveis nacional (16 317 polígonos), estradas, pontos de água, edifícios, cidades, fronteira (ODbL — © OpenStreetMap contributors)
- ·ICNF · Áreas Ardidas — 161 perímetros históricos de incêndio (2010-2025) usados para calibrar o modelo (Dados abertos ICNF (si.icnf.pt))
- ·Copernicus EMS · EMSR303 — Perímetros time-stepped Monchique 2018 (Monit01-04) — caso de validação canónico (Copernicus EMS open data)
- ·DGT · Carta de Ocupação do Solo (COS 2018) — Mapa oficial de coberto do solo PT continental — em adopção para substituir o fuel map OSM em Sprint 4 (CC-BY 4.0 — © DGT)
Atribuição obrigatória: este sistema usa dados abertos das entidades acima. Cumprimos as condições de licença de cada fonte. Se vires algo em falta ou incorrecto, contacta-nos.