Fuel moisture model
- Back to the WRF-SFIRE user guide.
Fire spread rate depends strongly on the moisture contents of the fuel. In fact, the spread rate drops to zero when the moisture reaches the so-called extinction value
For this reason, we have coupled the fire spread model with a simple fuel moisture model integrated with WRF and SFIRE. The model takes atmospheric state from WRF and provides fuel moisture to SFIRE.
Fuel moisture model description
The fuel is considered to consist of components - called moisture classes here - such as those with standard 1, 10, and 100 hour lag time. Each fuel category is a mixture of the moisture classes with the proportions given per the fuel category. The temperature and the relative humidity of the air (from the WRF atmosphere model) determine the fuel equilibrium moisture contents. In each class, the moisture contents approaches the equilibrium exponentially in time, with 63% of the difference gone within the given time lag if the equilibrium is constant in time. This is modeled by a standard time-lag differential equation and the class moisture contents generally tracks a time-varying equilibrium with a delay. To model hysteresis effects, there is a higher drying equilibrium and a lower wetting equilibrium; when the fuel moisture is between the two, it does not change. The equilibria are computed from the atmospheric state from WRF. During rain, the equilibrium moisture is replaced by the saturation moisture contents, and the time lag depends on rain intensity. If the rain intensity is under the given rain threshold, no rain wetting (soaking) takes place. For more intense rain, the time lag decreases and approaches the given soaking time lag exponentially, with 63% of the asymptotic value achieved at a given saturation rain intensity.
The moisture classes are modeled on the atmospheric grid, then interpolated to fire grid points and combined in proportions given the fuel category at the fire grid point. The moisture model can run with time step larger than the fire model time step. The numerical method used is stable for arbitrarily large time steps and exact if the equilibrium moisture is constant for the duration of the time step.
Calibration of rain wetting
The default rain wetting coefficients were fitted for fine fuels (10 hour moisture class) for the Canadian fire danger rating system. Both pictures show the increase of fuel moisture over 24 hours for a given rain intensity.
Configuration
The moisture properties of the fuels are defined in the &moisture section of the file namelist.fire. The parameters of the moisture model itself are set in the &fire section of file namelist.input. See an example in test/em_fire/moisture.
The treatment of moisture consists of two parts which can be activated independently, and can run also independently of the fire model itself.
- The moisture model, which creates the values in the array fmc_gc, at the atmosphere mesh resolution. fmc_gc(i,k,j) is the moisture contents in the class k at the point (i,j). The model is turned on by fmoist_run=.true. in namelist.input.
- Interpolation to the fire mesh and averaging between the moisture classes to turn the array fmc_gc into fmc_g at the fire mesh resolution, which is used in the fire model. This is turned on by fmoist_interp=.true. in namelist.input.
- If fmoist_only=.true. in namelist.input, either or both of the above can run but the fire model itself is turned off. The resulting values of fmc_gc or fmc_g are available in wrfout files.
The fuel moisture in fmc_g can be also set directly to scalar constant fuelmc_g from namelist.fire by specifying fire_fmc_read=1 in namelist.input. This setting conflicts with using the moisture model. Some valid combinations are:
fmoist_run | fmoist_interp | fmoist_only | fire_fmc_read | Function |
.true. | .true. | .false. | 0 | Run the fuel moisture model, create the arrays fmc_gc and fmc_g, and use fmc_g in the fire model. |
.true. | .false. | .true. | 0 | Run the fuel moisture model, create the arrays fmc_gc and fmc_g in wrfout. |
.true. | .true. | .true. | 0 | Run the fuel moisture model, and create the array fmc_gc in wrfout. |
.false. | .true. | .false. | 0 | Interpolate the fuel moisture fmc_gc from wrfinput to fmc_g and use it in the fire model. |
.false. | .false. | .false. | 0 | Run the fire model using the fuel moisture fmc_g in wrfinput. |
.false. | .false. | .false. | 1 | Run the fire model using fuel moisture fmc_g=fuelmc_g given in namelist.fire. |
Standalone moisture model
make moisture_test in the standalone directory will create moisture_test.exe. Like all other standalone codes, the build process pulls the original sources in the WRF source tree. Running moisture_test.exe will exercise the moisture model. The input is from file moisture_input.txt (provided in the directory), which is a flat text file with the format
- Time(h) T(K) P(Pa) Q(kg/kg) RAIN(mm/h)
where Time is the time from the start of the run, T the temperature, Q the air moisture contents, and RAIN the rain intensity.
make moisture will build moisture.exe, which will take existing wrfout files as input, use the atmospheric state to run the moisture model, and write the resulting fuel moisture class fields to file moisture.nc. This utility works on the atmospheric mesh.
References
- Adam K. Kochanski, Jonathan D. Beezley, Jan Mandel, and Minjeong Kim, WRF fire simulation coupled with a fuel moisture model and smoke transport by WRF-Chem, 2012 WRF Users Workshop, Poster 51 abstract paper arXiv:1208.1059
- Jan Mandel, J.D. Beezley, A. K. Kochanski, V. Y. Kondratenko, and M. Kim, Assimilation of Perimeter Data and Coupling with Fuel Moisture in a Wildland Fire - Atmosphere DDDAS, ICCS 2012, Procedia Computer Science 9, 2012, 1100-1109