LSFIRE
LSFIRE is a level-set wildland fire spread model built on AMReX, in erf-model/LSFIRE. It uses Rothermel surface spread, an elliptical fire-front model, and an ELMFIRE-style narrow band to advance the fire perimeter.
The repository includes the fire engine and a pinned upstream ERF submodule. See the LSFIRE user documentation for build instructions, a quick start, and input options.
How LSFIRE maps to ERF
Coupling item |
In LSFIRE |
|---|---|
Engine directory |
|
Registration |
|
Selection |
|
Build |
|
Adapter |
|
Model core |
|
Atmospheric coupling |
ERF’s |
The engine is compiled into erf_exec with ERF’s own AMReX. There is no separate
libelmfire_core.a to build or link. ERFFireEngine.cmake and Make.package
provide the CMake and GNU make hooks. The ELMFIRE names in the adapter and core
are retained implementation names; the registered engine name is lsfire.
Fire engine contents
Part |
Where |
What it does |
|---|---|---|
ERF adapter |
|
Sets up the LSFIRE hierarchy on ERF’s fire grid, passes wind and terrain to the core, and returns time-averaged fluxes |
Fuel and ignition readers |
|
Read LANDFIRE fuel IDs and area-ignition masks from NetCDF |
Model API |
|
Exposes the core configuration, advance, and field access |
Fire hierarchy |
|
Manages fire levels, time stepping, ignition, and output |
Spread physics |
|
Rothermel spread, fuel models, elliptical front velocity, and optional spotting |
Front propagation |
|
Limited gradients, second-order Runge–Kutta integration, and narrow-band data |
These are fire-model components. The atmospheric source placement, Exner conversion, and smoke injection belong to ERF’s shared coupling, described in Fire–Atmosphere Coupling in ERF.
Wind and heat exchange
The engine has two wind modes:
Input |
Wind used by the fire |
|---|---|
|
Prescribed |
|
ERF’s lowest-cell wind ( |
The atmospheric wind is copied to the fire cells covered by each ERF cell and
held fixed during a fire update. It adds no sub-cell wind structure.
fire.atmos_wind_height can override the actual height for idealized tests.
The fire takes internal CFL steps to reach the end of the update. The adapter accumulates sensible heat and water-vapour mass flux over those steps and returns their time averages. Sensible heat is returned in W/m²; the water-vapour mass flux is multiplied by ERF’s latent heat of vaporization to return latent heat in W/m². The current core assigns 75% of the burning-cell reaction intensity to sensible heat and 25% to latent heat.
With erf.fire.coupling_type = passive, fire heat and moisture do not feed back
to the atmosphere. With lagged, ERF injects the returned fluxes during the next
atmospheric step. Heat placement and smoke are controlled by erf.fire.* inputs;
the engine’s model inputs remain under fire.* and fire_amr.*.
Repository layout
Item |
Where |
Purpose |
|---|---|---|
ERF |
|
Pinned upstream submodule containing the atmosphere and shared fire coupling |
Build scripts |
|
CMake build script and a Perlmutter environment setup |
Coupled cases and tools |
|
Input files, fuel table, plotfile reader, and heat-feedback budget checker |
The build script enables NetCDF. The Perlmutter environment script is specific to that machine; other systems need their own compiler and dependency setup.
Coupled regression tests
The coupled-test README records reference comparisons with one MPI rank:
Case |
What it checks |
|---|---|
|
Agreement with standalone LSFIRE on the same 10 m fire grid at 1 h and 6 h |
|
Transfer of ERF’s lowest-cell wind and its height to the fire grid |
|
Lagged sensible-heat and water-vapour budgets, using ERF’s default exponential heat profile and Exner conversion |
The coupled-test README gives the reference values and instructions for running the heat and moisture budget checker.
Model description paper
Liu, Y., Huang, H., Saltiel, T. M., Feng, S., Coleman, A., and Almgren, A. (2026). ERF-LSFIRE v1.0: Coupling a Level-Set Fire Model with the Energy Research and Forecasting Model for Fire-Atmosphere Simulations. EGUsphere preprint. https://doi.org/10.5194/egusphere-2026-5430.