ELMFIRE

Run ELMFIRE wildfire spread simulations with validated input preparation, execution, and output parsing.

155|6|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill elmfire-lzwei196
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ELMFIRE
Source: https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation/tree/main/models/ELMFIRE
Command: npx skills add https://github.com/lzwei196/KISS-Knowledge-Infrastructure-for-Scientific-Simulation --skill elmfire-lzwei196

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, pyyaml, gdal, and includes scripts (resource) and references (resource) components.

What problem does it solve? Running the ELMFIRE wildfire spread model requires deep operational knowledge: preparing GeoTIFF landscape and weather inputs in exact units, configuring Fortran namelists, executing the MPI-parallel binary, and interpreting outputs. Unit mismatches (mph vs m/s wind, percent vs fraction moisture) produce silently wrong results with no error message. This Skill encodes that expertise so an agent can run real ELMFIRE simulations correctly. ## Core Features & Use Cases - Validated 4-tool pipeline: convert_landscape_to_elmfire.py, convert_weather_to_elmfire.py, run_elmfire.py, and parse_elmfire_output.py cover the full workflow from raw LANDFIRE/weather data to analyzed results. - Unit trap tables and diagnostics: 20 diagnostic triplets map known failure symptoms (silent unit errors, CRS mismatches, MPI segfaults) to diagnoses and remedies. - Ensemble and validation support: Monte Carlo burn probability via elmfire_post, plus validation conventions (Sorensen, absolute percent error) with cited pass-bands. - Use Case: Simulate fire spread for a landscape near Lake Tahoe by preparing LANDFIRE fuel and canopy rasters, setting 15 mph wind forcing, running the model with mpirun, and comparing the simulated perimeter against an observed fire scar. ## Quick Start Run python preflight_check.py in this directory, then ask the agent to simulate a wildfire on your landscape by providing a DEM, fuel model raster, and weather conditions.

Frequently Asked Questions about ELMFIRE

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an ELMFIRE wildfire spread simulation?

Prepare landscape and weather GeoTIFFs with the conversion tools, generate the elmfire.data namelist, then execute with run_elmfire.py or mpirun. Run preflight_check.py first to verify the binary, Python environment, and GDAL tools are available.

What input data does ELMFIRE require?

ELMFIRE requires UTM-projected GeoTIFF rasters for elevation, slope, aspect, FBFM40 fuel model, canopy cover, height, base height, and bulk density, plus wind speed, wind direction, and dead fuel moisture rasters. All rasters must share the same CRS, resolution, and extent.

Why does my ELMFIRE fire not spread or spread too slowly?

The most common cause is wind speed given in m/s instead of mph at 20 ft, or dead fuel moisture given as a fraction instead of percent. Both fail silently; check the unit trap table and diagnostics/triplets.yaml before debugging further.

How does ELMFIRE differ from FARSITE for fire spread modeling?

ELMFIRE is grid-based using an Eulerian level-set method, while FARSITE uses Lagrangian perimeter tracking. The level-set approach handles merging fires and islands robustly and scales efficiently with MPI parallelism.

Can ELMFIRE compute burn probability maps?

Yes, ELMFIRE supports Monte Carlo ensembles with perturbed weather and random ignitions via namelist settings. The companion elmfire_post binary aggregates ensemble members into burn probability and percentile time-of-arrival rasters.

What are the limitations of ELMFIRE simulations?

ELMFIRE uses empirical Rothermel and Cruz spread models, so it does not resolve combustion chemistry or CFD-scale flame physics. Weather and fuel moisture are external inputs, so skill is bounded by forcing quality, and this KI is validated only on the constant-wind tutorial case.