Difference between revisions of "How to diagnose fuel properties in WRF-SFIRE"
Jump to navigation
Jump to search
(→Step-by-step instructions: update for standalone) |
|||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{users guide}} | {{users guide}} | ||
− | The fuel properties in [[WRF- | + | 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 [ | + | * 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 '''[ | + | * 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 '''[ | + | * 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 '''[ | + | * 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- | + | ===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. | |
− | * 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- | + | * '''cd''' in MATLAB to the directory and type '''startup''' |
− | * | + | * '''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- | + | * 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 |
* Matlab R2010a, 2012a, and hopefully later | * Matlab R2010a, 2012a, 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.
Works with
To be updated
- Version 16 Sep 2010
- Version 29 Aug 2012 and hopefully later
- Matlab R2010a, 2012a, and hopefully later
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)