A research sandbox for benchmarking wildfire spread and impact models in the Wildland–Urban Interface (WUI). The repository bundles data-processing notebooks, model setups, and reproducible environments so you can compare different fire-behavior simulators side by side.
This is still a Work In Progress.
- Ready-to-run scripts and example configurations for Elmfire and WRF-Fire test cases.
- Notebook workflows for pulling ERA5 meteorological data and preparing inputs.
- Benchmarks multiple wildfire spread models focused on WUI scenarios, with a focus on the Maui, HI 2023 Wildfire.
Data/ # ERA5 downloads, preprocessing notebooks, and helper scripts
Elmfire_Model/ # Elmfire build scripts, environment, and usage notes
WRF/em_fire/ # WRF-Fire test case files, namelists, and sample outputs
- Clone the repo
git clone https://github.com/your-org/Benchmarking_WUI_Models.git cd Benchmarking_WUI_Models - Set up environments
- For data preprocessing, use the Conda specs in
Data/environment.yml. - For Elmfire, use
Elmfire_Model/environment.ymland theload_elmfire.shhelper.
- For data preprocessing, use the Conda specs in
- Run notebooks
Launch JupyterLab from the
Datafolder to explore preprocessing workflows and ERA5 downloads.
Recommended workflow
- Create the preprocessing environment:
conda env create -f Data/environment.yml conda activate wui-data
- Fetch meteorological inputs (ERA5) using
Data/get_era5_data.py. - Open
Data/ERA5_analysis.ipynb(or similar notebooks) to prepare forcing data for the models:cd Data ./start_jupyterlab.sh
The Elmfire_Model folder contains build and run helpers for Elmfire.
- Install Miniconda and source the helper script (ensure your scratch path is correct):
cd Elmfire_Model source load_elmfire.sh
- Build the model and tools:
cd "$ELMFIRE_BASE_DIR/build/linux" ./make_gnu.sh
- When running simulations, verify the scratch directory and
Path_to_GDALare correctly set in both data files and bash scripts.
The WRF/em_fire directory provides a WRF-Fire example case with namelists, input soundings, and sample outputs. To experiment:
- Review
WRF/em_fire/README.txtfor WRF-specific background. - Use the provided
namelist.fireandnamelist.inputvariants to configure runs. - Run test scripts like
run_testwrf.shto generate output frames (e.g.,wrfout_d01_*).
Generation of WRF meteorological inputs through super-resolving ERA5 data


