Difference between revisions of "How to diagnose fuel properties in WRF-SFIRE"

From openwfm
Jump to navigation Jump to search
(→‎Step-by-step instructions: update for standalone)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{users guide}}
 
{{users guide}}
The fuel properties in [[WRF-Fire]] are given in file [http://github.com/jbeezley/wrf-fire/blob/master/wrfv2_fire/test/em_fire/namelist.fire namelist.fire].  These serve to create coefficients in the Rothermel's formula. To aid diagnostics it is useful to graph the resulting fire spread rate as a function of wind and slope. The graphs are available in metric units, as well as in English units for direct comparison with the published spread rate graphs for the Scott-Burgan fuel categories.
+
The fuel properties in [[WRF-SFIRE]] are given in file [https://github.com/openwfm/WRF-SFIRE/blob/master/test/em_fire/namelist.fire namelist.fire].  These serve to create coefficients in the Rothermel's formula. To aid diagnostics it is useful to graph the resulting fire spread rate as a function of wind and slope. The graphs are available in metric units, as well as in English units for direct comparison with the published spread rate graphs for the Scott-Burgan fuel categories.
  
 
==Prerequisites==
 
==Prerequisites==
Line 8: Line 8:
  
 
==Location of the codes==
 
==Location of the codes==
* The fuel properties of every category of the fuel are defined in file [http://github.com/jbeezley/wrf-fire/blob/334bf9417b5397ed3692b8f469a4914ed433e051/wrfv2_fire/test/em_fire/namelist.fire '''namelist.fire'''], which needs to be in the current directory.
+
* The fuel properties of every category of the fuel are defined in file [https://github.com/openwfm/WRF-SFIRE/blob/master/test/em_fire/namelist.fire '''namelist.fire'''], which needs to be in the current directory.
* The fire rate of spread computation is done in file '''[http://github.com/jbeezley/wrf-fire/blob/334bf9417b5397ed3692b8f469a4914ed433e051/wrfv2_fire/phys/module_fr_sfire_phys.F WRFV3/phys/module_fr_sfire_phys.F]''' split between two subroutines. First, the coefficients at every point are precomputed from fuel properties in [http://github.com/jbeezley/wrf-fire/blob/334bf9417b5397ed3692b8f469a4914ed433e051/wrfv2_fire/phys/module_fr_sfire_phys.F#L413 subroutine '''set_fire_params'''] at initialization. In every time step, the spread rate at a point is then computed from those coefficients in [http://github.com/jbeezley/wrf-fire/blob/334bf9417b5397ed3692b8f469a4914ed433e051/wrfv2_fire/phys/module_fr_sfire_phys.F#L672 subroutine '''fire_ros'''].
+
* The fire rate of spread computation is done in file '''[https://github.com/openwfm/WRF-SFIRE/blob/master/phys/module_fr_sfire_phys.F module_fr_sfire_phys.F]''', split between two subroutines. First, the coefficients at every point are precomputed from fuel properties in subroutine '''set_fire_params''' at initialization. In every time step, the spread rate at a point is then computed from those coefficients in subroutine '''fire_ros'''.
* The computation has been duplicated in Matlab for diagnostic purposes in file  '''[http://github.com/jbeezley/wrf-fire/blob/334bf9417b5397ed3692b8f469a4914ed433e051/other/Matlab/vis3d/fire_ros.m other/Matlab/vis3d/fire_ros.m]'''
+
* The computation has been duplicated in Matlab for diagnostic purposes in file  '''[https://github.com/openwfm/wrf-fire-matlab/blob/master/vis3d/fire_ros.m fire_ros.m]'''
* The plot routine to create graphs like shown here is '''[http://github.com/jbeezley/wrf-fire/blob/334bf9417b5397ed3692b8f469a4914ed433e051/other/Matlab/vis3d/plot_fuel.m other/Matlab/vis3d/plot_fuel.m]'''
+
* The plot routine to create graphs like shown here is '''[https://github.com/openwfm/wrf-fire-matlab/blob/master/vis3d/plot_fuel.m plot_fuel.m]'''
  
 
==Heat flux diagnostics==
 
==Heat flux diagnostics==
Line 17: Line 17:
  
 
==Step-by-step instructions==
 
==Step-by-step instructions==
* Run WRF-Fire, you can kill it right after the the first time step. There will be file '''fuels.m''' created in the current directory.
+
===Acquire and visualize ROS===
* Start Matlab in the directory '''test/em_fire''' to set up the search path properly.
+
* Run WRF-SFIRE, you can kill it right after the the first time step, or follow the instructions for '''fire_ros.exe''' in '''standalone'''
* In Matlab, navigate to the directory with the '''fuels.m''' file
+
* There will be file '''fuels.m''' created in the current directory.
* Type '''fuels'''. This will create variable '''fuel'''. Say you want to check fuel 3. Type '''fuel(3)''' to see what is there.
+
* '''git clone https://github.com/openwfm/wrf-fire-matlab''' and copy the file '''fuels.m''' to the directory created.
* Type '''plot_fuel(fuel(3))''' to create the graph below in metric units, and '''plot_fuel(fuel(3),'sb')''' for the same units as in Scott and Burgan (2005). Type '''help plot_fuel''' for further information. Note: The graph data were created in WRF-Fire and stored in the '''fuel''' variable.
+
* '''cd''' in MATLAB to the directory and type '''startup'''
* Type '''edit fire_ros''' to see the fire spread rate calculation recreated in Matlab.
+
* '''cd''' in MATLAB to the directory with the file '''fuels.m''' and type '''fuels'''.  
* Type '''big(check_ros(fuel))''' to make sure the calculation in Matlab is the same as in WRF-Fire, it should return rounding error only (less than 1e-4)
+
* This will create variable '''fuel'''. Say you want to check fuel 3. Type '''fuel(3)''' to see what is there.
 +
* Type '''plot_fuel(fuel(3))''' to create the graph below in metric units, and '''plot_fuel(fuel(3),'sb')''' for the same units as in Scott and Burgan (2005). Type '''help plot_fuel''' for further information. Note: The graph data were created in WRF-SFIRE and stored in the '''fuel''' variable.
 +
 
 +
===Compare with Rothermel method===
 +
* '''edit fire_ros''' to see the Rothermel fire rate of spread calculation recreated in Matlab.
 +
* Type '''big(check_ros(fuel))''' to make sure the calculation in Matlab is the same as in WRF-SFIRE, which will compare the calculation with ROS on a number of data points stored in file '''fuels.m'''. It should return rounding error only (less than 1e-4)  
 +
* '''Note - at the moment, the checks in plot_fuel are fine, but check_ros is not. '''Opened issue https://github.com/openwfm/wrf-fire-matlab/issues/5 and upstream in WRF-SFIRE.'''
 +
 
 +
==Diagnostics provided==
 +
 
 +
The '''plot_fuel''' command displays the graph of rate of spread as a function of wind speed, slope, and fuel moisture.
  
 
[[Image:Grass-metric.png|400px]][[Image:Grass-english.png|400px]]
 
[[Image:Grass-metric.png|400px]][[Image:Grass-english.png|400px]]
 +
[[Image:Grass-slope.png|400px]][[Image:Grass-fmc.png|400px]]
  
 
==Works with==
 
==Works with==
 +
''To be updated''
 
*  Version {{WRF-Fire-commit|334bf9417b5397ed3692b8f469a4914ed433e051|16 Sep 2010}}
 
*  Version {{WRF-Fire-commit|334bf9417b5397ed3692b8f469a4914ed433e051|16 Sep 2010}}
 
*  Version  {{WRF-Fire-commit|bce8561325b4ced49303e941931d78f63b3c843b|29 Aug 2012}} and hopefully later
 
*  Version  {{WRF-Fire-commit|bce8561325b4ced49303e941931d78f63b3c843b|29 Aug 2012}} and hopefully later

Latest revision as of 20:09, 8 August 2022

Back to the WRF-SFIRE user guide.

The fuel properties in WRF-SFIRE are given in file namelist.fire. These serve to create coefficients in the Rothermel's formula. To aid diagnostics it is useful to graph the resulting fire spread rate as a function of wind and slope. The graphs are available in metric units, as well as in English units for direct comparison with the published spread rate graphs for the Scott-Burgan fuel categories.

Prerequisites

Location of the codes

  • The fuel properties of every category of the fuel are defined in file namelist.fire, which needs to be in the current directory.
  • The fire rate of spread computation is done in file module_fr_sfire_phys.F, split between two subroutines. First, the coefficients at every point are precomputed from fuel properties in subroutine set_fire_params at initialization. In every time step, the spread rate at a point is then computed from those coefficients in subroutine fire_ros.
  • The computation has been duplicated in Matlab for diagnostic purposes in file fire_ros.m
  • The plot routine to create graphs like shown here is plot_fuel.m

Heat flux diagnostics

  • plot_fuel also computes and prints several diagnostic quantities derived from fuel properties, including total heat density generated by the combustion of the fuel over time (J/m2), and the maximal heat flux density (W/m2) from the initial slope of the fuel loss curve. These can be compared with the statistic printed by WRF-Fire while running (maximal heat flux density, total heat flux of the fire, total heat generated by the fire).

Step-by-step instructions

Acquire and visualize ROS

  • Run WRF-SFIRE, you can kill it right after the the first time step, or follow the instructions for fire_ros.exe in standalone
  • There will be file fuels.m created in the current directory.
  • git clone https://github.com/openwfm/wrf-fire-matlab and copy the file fuels.m to the directory created.
  • cd in MATLAB to the directory and type startup
  • cd in MATLAB to the directory with the file fuels.m and type fuels.
  • This will create variable fuel. Say you want to check fuel 3. Type fuel(3) to see what is there.
  • Type plot_fuel(fuel(3)) to create the graph below in metric units, and plot_fuel(fuel(3),'sb') for the same units as in Scott and Burgan (2005). Type help plot_fuel for further information. Note: The graph data were created in WRF-SFIRE and stored in the fuel variable.

Compare with Rothermel method

  • edit fire_ros to see the Rothermel fire rate of spread calculation recreated in Matlab.
  • Type big(check_ros(fuel)) to make sure the calculation in Matlab is the same as in WRF-SFIRE, which will compare the calculation with ROS on a number of data points stored in file fuels.m. It should return rounding error only (less than 1e-4)
  • Note - at the moment, the checks in plot_fuel are fine, but check_ros is not. Opened issue https://github.com/openwfm/wrf-fire-matlab/issues/5 and upstream in WRF-SFIRE.

Diagnostics provided

The plot_fuel command displays the graph of rate of spread as a function of wind speed, slope, and fuel moisture.

Grass-metric.pngGrass-english.png Grass-slope.pngGrass-fmc.png

Works with

To be updated

References

  • Anderson, H. E., 1982. Aids to determining fuel models for estimating fire behavior. U.S. Forest Service General Technical Report INT-122. Ogden, UT. pdf (The original 13 fuel models)
  • Baughman, R. G. and F. A. Albini.,1980. Estimating midflame windspeeds. In Sixth Conference on Fire and Forest Meteorology, Seattle, WA (Society of American Foresters) pdf (Windspeed reduction from 20ft)
  • Rothermel, R.C., 1972. A mathematical model for predicting fire spread in wildland fuels. Res. Pap. INT-115. Ogden, UT: U.S. Department of Agriculture, Forest Service, Intermountain Forest and Range Experiment Station. 40 pp. pdf (The original for reference)
  • Rothermel, R. C., 1983. How to predict the spread and intensity of forest and range fires. U.S. Forest Service General Technical Report INT-143. Ogden, UT. pdf (Updated version)
  • Scott, J. H. and Burgan, R. E., 2005. Standard fire behavior fuel models: a comprehensive set for use with Rothermel's surface fire spread model. Gen. Tech. Rep. RMRS-GTR-153. Fort Collins, CO: U.S. Department of Agriculture, Forest Service, Rocky Mountain Research Station, 72 pp. pdf (More detailed fuel models, with rate of spread curves)

External links