This repository contains the submission to the Wildfire Risk Modeling Exercise by the Wildfire Interdisciplinary Research Center (WIRC) at San José State University (SJSU). The submission uses WRF-SFIRE ensemble wildfire simulations to estimate fire probability and derive additional diagnostics from the coupled atmosphere-fire model.
Note: to follow the instructions, the data needs to be downloaded into the data folder using the links in the README file of the same folder.
- Forest landscape data. The Wildfire Commons catalogs landscape, building, and road data (in
.tifand.geojsonformat). - Ignition coordinates. The given latitude/longitude coordinate and time for:
- Forest: [38.9014, -120.0306] on 2024-10-27 at 1700 UTC.
- Prairie: [35.24435, -101.9262636] on 2026-03-09 at 1500 UTC.
- Weather parameters. Date and times to acquire HRRR weather forcing.
preproc/data_preparation_forest.ipynb and preproc/data_preparation_prairie.ipynb
- Read ignition information
- Compare synthetic weather data to the real Synoptic weather station for the same date-time period
- Visualize weather data
- Visualize fuel data
- Check that the fuel properties match the namelist options in WRF-SFIRE
- Visualize terrain data
- Define the center of the domain
- Rasterize building data into building side length, separation length, and height
- Classify areas into WUDAPT classes based on side length and separation length
- Rasterize roads into a mask
- Interpolate roads to dominant fuel classes
- Combine SB40, WUDAPT, and road interpolation into fuel data for WRF-SFIRE
github.com/openwfm/wrfxpy
The WRFxPy system is a Python framework to automate WRF-SFIRE simulations from a job JSON file. Using information from the previous section, two job JSON files (wrfxpy_inputs/forest.json and wrfxpy_inputs/prairie.json) were created. The file specifies all information related to the start and end of the simulation, weather forcing, domain configuration, ignition information, post-processing variables, and cluster specifications, such as the number of nodes and the number of processors per node. A first simulation using the default system (SIM_DEFAULT) was created. This first simulation uses the following LANDFIRE data already processed in the system:
- Fire behavior fuel models (FBFM) SB40 considering urban unburnable
- Elevation
- Canopy properties (height, base height, and bulk density) The simulation SIM_DEFAULT also initializes the fuel moisture from equilibria and runs the time-lag fuel moisture model in WRF-SFIRE.
After this first default run, a second run (SIM_CONTROL) was created that better matches the exercise data by:
- Combine SB40, building properties, and roads from the exercise data to create a fuel layer
- Define the exact fuel moisture specified in the exercise data, and keep it constant throughout the simulation
- Check that all the fuel properties align with the namelist options for each FBFM class
- Rasterize tree properties to layers for the crown fire model (canopy top, canopy bottom, and canopy bulk density)
Still, the main discrepancy will be in the weather data. Because of the model requirements, surface weather observations were replaced with the HRRR weather forecast for the initial and boundary conditions of the atmosphere, always matching the day and time of the exercise's weather data. A brief comparison of the RAWS real data and the synthetic weather data for the day and times of the experiments showed that, for the Forest, the wind magnitude and direction are similar, and the main differences are in thermodynamics (temperature and relative humidity). For the Prairie, the synthetic data shows a shift in time of about 3 hours for all the weather variables, and wind direction was shifted substantially from SW to NW.
Finally, to represent uncertainty in the initial and boundary conditions controlling fire spread, an ensemble of 10 WRF-SFIRE simulation members (SIM_ENSEMBLE) was generated by perturbing four key input fields: fuel load (fgi), fuel moisture content (fmc), and the horizontal wind components (u_wind and v_wind). These perturbations were applied independently to each ensemble member using prescribed uncertainty ranges and standard deviations. Perturbations to fgi and fmc were applied as relative differences in percent. Both variables used a 30% standard deviation and were bounded between -50% and +50%, allowing the ensemble to sample substantial uncertainty in fuel conditions while avoiding extreme departures from the baseline fields. Perturbations to u_wind and v_wind were applied as absolute differences in m/s. Each wind component used a standard deviation of 0.5 m/s and was bounded between -2.0 m/s and +2.0 m/s. These perturbations modify both wind speed and wind direction across the ensemble, representing uncertainty in the atmospheric forcing that controls fire spread and plume transport.
github.com/openwfm/WRF-SFIRE
The WRF-SFIRE model utilized for this exercise is the public version but it incorporates some key elements required to accomplish the exercise:
- Crown fire using modified Scott (2001)
- Urban fuel classes using WUDAPT for urban fuel properties (e.g., building density, height, burn time)
- Urban properties side length and separation length as inputs
- Urban fire rate of spread using the HAMADA model
- New level set method using RK3-WENO5 with reinitialization
data/output/model
Outputs from each model are post-processed to include only FXLONG, FXLAT, NFUEL_CAT, and FIRE_AREA. The following cases are provided:
- Deterministic coupled atmosphere-fire simulation using LANDFIRE data only (SIM_DEFAULT)
- Deterministic coupled atmosphere-fire simulation using most of the data provided for the exercise (SIM_CONTROL)
- Ensemble forecast of a coupled atmosphere-fire simulation (SIM_ENSEMBLE)
data/output/agol
- Hourly fire progression isochrones for each simulation (including ensemble members)
- Fire probability map based on the 10 ensemble members
Fire probability maps and fire progression were post-processed into ESRI Features and visualized in ESRI WebMaps. The fire probability is the fraction of ensemble members that burned at each location, ranging from 0 to 100 %. The fire progression is the predicted fire spread timing, expressed by hour, and is defined as the area covered by 50% of the ensemble members.
For each exercise, a final report was drafted summarizing the workflow, inputs, transformations, outputs, downstream use of model outputs, assumptions, parameters, validation, and additional supporting documentation.