FireGraphNet: Sub-daily wildfire spread prediction with directed graph neural networks
Organizations: Urban Resilience.AI Lab, Zachry Department of Civil and Environmental Engineering, Texas A&M University, College Station, TX 77840, United States of America
Abstract
Wildfire decisions are made in hours, yet most learned spread models predict daily on targets including burned area. We propose FireGraphNet which formulates 12-hour growth as node classification on directed H3 graphs, with candidates ahead of the front and wind alignment, terrain, fuel continuity and barriers on edges. On satellite perimeters it achieves average precision 1.7-1.9x the strongest distance baseline on test California fires and 1.62x out of state. We show this skill comes from message passing rather than cell features or the aggregator, is highest on young fires in state, is carried deep along the wind by its edges, and is hidden by pooling. A convolutional network matches this ranking once trained on new growth, at worse calibration, so candidate construction, target definition, and aggregation shape conclusions about model skill. Editing fuel and barrier attributes reduces predicted spread more under guided than random placement, extending FireGraphNet to operational intervention analysis.
Figures & tables
| Model | PR-AUC | CSI@ | CSI max | Brier | ECE |
|---|---|---|---|---|---|
| SAGE, edge-blind (graph) | 0.0624 0.0064 | 0.0579 0.0067 | 0.0609 0.0065 | 0.0945 0.0177 | 0.2204 0.0335 |
| SAGE-maxpool (graph) | 0.0675 0.0085 | 0.0660 0.0080 | 0.0679 0.0064 | 0.0638 0.0078 | 0.1910 0.0197 |
| GINE (graph) | 0.0710 0.0056 | 0.0670 0.0061 | 0.0685 0.0053 | 0.0348 0.0076 | 0.0925 0.0164 |
| GATv2 (graph) | 0.0668 0.0050 | 0.0624 0.0064 | 0.0646 0.0056 | 0.0597 0.0098 | 0.1472 0.0218 |
| Graph Transformer (graph) | 0.0638 0.0078 | 0.0620 0.0093 | 0.0653 0.0079 | 0.0500 0.0075 | 0.1634 0.0238 |
| MLP (no message passing) | 0.0394 0.0015 | 0.0354 0.0025 | 0.0363 0.0017 | 0.0928 0.0065 | 0.2710 0.0127 |
| Stratum | PR-AUC | Null | Lift |
|---|---|---|---|
| Pooled | 0.0964 0.0057 | 0.0595 | 1.62 |
| Pooled, MLP (no message passing) | 0.0632 0.0019 | 0.0595 | 1.06 |
| Santiam Complex 2020 (OR, wind) | 0.1336 0.0100 | 0.0415 | 3.22 |
| Holiday Farm 2020 (OR, wind) | 0.1447 0.0150 | 0.0839 | 1.72 |
| Cold Springs–Pearl Hill 2020 (WA, grass/wind) | 0.0470 0.0128 | 0.0337 | 1.39 |
| East Troublesome 2020 (CO, wind+beetle-kill) | 0.1099 0.0115 | 0.0978 | 1.12 |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | 0–48 h | 48–120 h | 120–240 h | 240–480 h | 480 h+ | (age, AP) |
| SAGE (edge-blind) | 0.434 | 0.195 | 0.154 | 0.044 | 0.033 | |
| SAGE-maxpool | 0.436 | 0.228 | 0.168 | 0.056 | 0.040 | |
| GINE | 0.481 | 0.206 | 0.181 | 0.049 | 0.038 | |
| GATv2 | 0.411 | 0.222 | 0.166 | 0.046 | 0.036 | |
| Graph Transformer | 0.388 | 0.198 | 0.166 | 0.050 | 0.036 | |
| MLP (no message passing) | 0.330 | 0.157 | 0.074 | 0.021 | 0.022 |
| Stratum | AP | pairs | |
|---|---|---|---|
| node weather masked | |||
| pooled, all depths | 0.0139 | 467 | |
| depth 1 | 0.1439 | 467 | |
| depth 2 | 0.1439 | 255 | |
| depth 3 | 0.0008 | 131 | |
| depth 4 | 0.0140 | 83 | |
| Micro (per-snapshot) | Fire-level (macro) | |||||
|---|---|---|---|---|---|---|
| Treatment | AP | win rate | mean | improved | ||
| Driver-label conditioning (feature) | 0.0037 | 0.565 | 5/11 | 0.58 | ||
| Driver-label conditioning (FiLM) | 0.25 | 0.525 | 4/11 | 0.17 | ||
| FRP intensity auxiliary head | 0.71 | 0.507 | 3/11 | 0.12 | ||
| 24 h auxiliary head (joint training) | 0.00056 | 0.561 | 4/11 | 0.46 | ||
| Fire | Prev. | SAGE | SAGE-maxpool | GINE | GATv2 | Transformer | CNN-M | CNN-F | Null |
|---|---|---|---|---|---|---|---|---|---|
| Creek 2020 | 0.0109 | 0.0883 | 0.0897 | 0.1073 | 0.0970 | 0.0862 | 0.1210 | 0.0145 | 0.0262 |
| Bobcat 2020 | 0.0260 | 0.1231 | 0.1336 | 0.1214 | 0.1278 | 0.1167 | 0.0924 | 0.0459 | 0.0634 |
| Glass 2020 | 0.0283 | 0.1895 | 0.2197 | 0.1782 | 0.1636 | 0.1607 | 0.2075 | 0.0767 | 0.0684 |
| Dixie 2021 | 0.0180 | 0.0475 | 0.0527 | 0.0524 | 0.0539 | 0.0531 | 0.0682 | 0.0241 | 0.0379 |
| Caldor 2021 | 0.0211 | 0.0492 | 0.0583 | 0.0584 | 0.0601 | 0.0548 | 0.0958 | 0.0415 | 0.0511 |
| Sealed test (selected) | Dev pool (selected) | |||||
|---|---|---|---|---|---|---|
| Model | Brier | ECE | Plateau | CSI @ | Brier | ECE |
| SAGE (edge-blind) | 0.094 | 0.220 | 0.157 | 0.071 | 0.158 | |
| SAGE-maxpool | 0.064 | 0.191 | 0.052 | 0.053 | 0.142 | |
| GINE | 0.035 | 0.093 | 0.143 | 0.029 | 0.047 | |
| GATv2 | 0.060 | 0.147 | 0.157 | 0.040 | 0.085 | |
| Graph Transformer | 0.050 | 0.163 | 0.099 | 0.041 | 0.115 | |
| Top- (guided) | Distance | Random | |||||
|---|---|---|---|---|---|---|---|
| Fire | Intervention | ||||||
| Camp 2018 (east wind) | edge barrier | ||||||
| Camp 2018 (east wind) | fuel treatment | ||||||
| Kincade 2019 (Diablo wind) | edge barrier | ||||||
| Kincade 2019 (Diablo wind) | fuel treatment | ||||||
| CZU 2020 (fuel) | edge barrier | ||||||
| Dev coverage | Dev base rate | Test coverage | |
|---|---|---|---|
| 1 | 0.525 | 0.061 | 0.523 |
| 2 | 0.683 | 0.040 | 0.700 |
| 3 | 0.766 | 0.030 | 0.795 |
| 4 | 0.819 | 0.024 | 0.851 |
| 5 | 0.854 | 0.021 | 0.888 |
| 6 | 0.879 | 0.018 | 0.914 |
| Fire | Role | Graphs | Candidates | Positives | cov@5 |
|---|---|---|---|---|---|
| Camp 2018 | train | 27 | 22,062 | 539 | 0.92 |
| Carr–Hirz–Delta 2018 | train | 112 | 132,600 | 1,662 | 0.92 |
| Mendocino Complex 2018 | train | 59 | 81,826 | 2,244 | 0.94 |
| Woolsey 2018 | train | 11 | 7,049 | 244 | 0.63 |
| Kincade 2019 | train | 14 | 6,327 | 286 | 0.80 |
| Saddleridge 2019 | train | 10 | 1,580 | 12 | 1.00 |