How to run the standalone fire model in WRF-SFIRE
Jump to navigation
Jump to search
- Back to the WRF-SFIRE user guide.
NOTE: the port of the standalone model to the WRF-SFIRE repository was not finished yet. Please see https://github.com/openwfm/WRF-SFIRE/issues/3 for updates. The instructions below are for the original WRF-Fire from 2011, see Works with below.
The fire code in WRF-Fire, called SFIRE (for Spread FIRE model), can be used independently without WRF, using only one-way atmosphere-fire coupling. WRF needs to run to create the atmospheric forcing first.
Step by step instructions
Building the software
- Download and build the coupled WRF fire software to create wrf.exe and leave the NETCDF environment variable set.
- Change to the standalone directory.
- Find a suitable make.inc.* file and soft-link it to make.inc, for example ln -s make.inc.gfortran make.inc and type make
Running the software
- Navigate to a directory with your example (such as WRFV3/test/em_fire/hill). Make sure namelist.input specifies a short history_interval_s (these will be the atmosphere states used by the fire model) and set large frames_per_outfile so that only one wrfout file is created.
- Set up the problem by either ideal.exe or real.exe and run wrf.exe as usual.
- Link or rename the created wrfout file to fire_input.nc
- Run fire.exe in the same directory. This will create the file fire_output.nc with the results.
How it works
- The standalone model fire.exe reads the fire model inputs from the wrfout, including interpolated wind fields UF and VF. Because the first frame in wrfout is created before the fire model is called and so those fields are not set yet, the fire model starts from the second frame. The atmosphere fields are interpolated linearly in time between the frames before they are passed to the fire model.
- The file fire_output.nc has the same format as wrfout but it contains only the variables that are the fire model outputs and some other fields copied from wrfout, which are needed for visualization and interpreting the results. These include coordinates of the fire nodes in FXLONG and FXLAT, the time string Times, and the terrain height ZSF.
- The standalone model build compiles the fire model files from the WRFV3/phys directory, so if the fire model changes, the standalone model may have to be updated. However, the standalone model does not depend on WRF directly. The code consists of 3 files:
- fire.F is the standalone model driver
- wrf_netcdf.F reads and writes NetCDF files compatible with WRF
- wrf_fakes.F implements a very limited subset of WRF routines to avoid dependency
- The files config_assigns.inc namelist_defaults.inc namelist_defines2.inc namelist_defines.inc namelist_statements.inc files are copied from WRF build to maintain compatibility with namelist.input in WRF. When the WRF registry changes, these files will need to be updated manually from the directory WRFV3/inc after WRF is built and committed again.
Remarks
- The results of the coupled model and the standalone model will not be identical, even if the coupled model runs the same fire, because the wind fields are interpolated between the frames for the standalone model. But the results should be close.
- To simulate different fires in the standalone model, the coupled model should run without ignition. Then the coupled model will create the fire model inputs, but the atmosphere state will not be disturbed by the fire in the coupled model.
- The &fire section in namelist.input can change, and the fuel data including namelist.fire may also change.
- At the moment, fire.exe is serial only.
Works with
- branch jm2/devel Oct 28 2011
- Tested with gfortran 4.4.4 and pgf90 11.9 on Linux, and gfortran 4.3.3 on OSX (from MacPorts).