Skip to content

Wildfire Modeling

Updated Mar 2026 with Aidan D'Alonzo & Ethan Meid

  • PyTorch
  • XGBoost
  • Earth Engine
  • Python

Six generations of model for one question: given where a fire is now, where will it be in an hour? This was a three-person research project with Aidan D'Alonzo and Ethan Meid; the final system is FireSpreadNet, a ConvGRU-U-Net with CBAM attention over a 38-channel stack of satellite, weather and terrain data, trained on eight California fires.

what i built

  • a data pipeline that pulls GOES fire detections through Earth Engine, masks cloud with DQF, and fuses VIIRS and MODIS, GRIDMET weather and 3DEP terrain into training arrays
  • FireSpreadNet: a ConvGRU-U-Net with CBAM attention that predicts a whole next-frame fire image from a sequence, trained with focal + Tversky loss
  • an XGBoost per-pixel classifier and a logistic-regression baseline, so the neural network has to justify itself against something simpler
  • a 6-stage ablation harness that adds one feature group at a time and keeps only what moves F2
  • a React and FastAPI viewer that plays a fire back hour by hour against the model's prediction

how it works

  1. 1Earth Engine exports GOES fire detections for a fire's bounding box, hour by hour
  2. 2a 7-stage label pipeline cleans the raw detections — majority-vote smoothing over 5 frames is what turned a noisy signal into a learnable one
  3. 3prev_fire_state[t] is defined as labels[t-1], which removes temporal leakage by construction rather than by remembering to shift a column
  4. 4the ConvGRU-U-Net consumes a 6-frame sequence and predicts the next frame in full

findings

  • fire state alone carries most of XGBoost's feature importance: spread is strongly autocorrelated, so any honest model has to beat that prior
  • F2 rather than F1 as the target, because missing a fire costs more than a false alarm

what's next

  • generalise past California — every fire in the training set shares a fuel and terrain regime
  • calibrate the probabilities, so the output can drive a decision rather than a picture