Title: | Prediction of Wildland Fire Behavior and Hazard |
---|---|
Description: | Fire behavior prediction models, including the Scott & Reinhardt's (2001) Rothermel Wildland Fire Modelling System <DOI:10.2737/RMRS-RP-29> and Alexander et al.'s (2006) Crown Fire Initiation & Spread model <DOI:10.1016/j.foreco.2006.08.174>. Also contains sample datasets, estimation of fire behavior prediction model inputs (e.g., fuel moisture, canopy characteristics, wind adjustment factor), results visualization, and methods to estimate fire weather hazard. |
Authors: | Justin Ziegler [aut, cre] |
Maintainer: | Justin Ziegler <[email protected]> |
License: | GPL-2 |
Version: | 0.1.2 |
Built: | 2025-02-13 04:28:01 UTC |
Source: | https://github.com/cran/firebehavioR |
Canopy parameters estimated by Cruz, Alexander & Wakimoto (2003).
canFuel(ba, ht, tph, type)
canFuel(ba, ht, tph, type)
ba |
a numeric vector of stand basal areas (m2/ha) |
ht |
a numeric vector of average stand tree heights (m) |
tph |
a numeric vector of stand densities (trees/ha) |
type |
a character vector of forest cover types, either: "df" for Douglas-fir (Pseudotsuga menziesii); "pp" for ponderosa pine (Pinus ponderosa); "lp" for lodgepole pine (Pinus contorta); "mc" for mixed conifer |
a data frame with canopy base height (m), canopy fuel load (kg/m2), and canopy bulk density (kg/m3)
Justin P Ziegler, [email protected]
Cruz M.G., Alexander M.E., Wakimoto R.H. 2003. Assessing canopy fuel stratum characteristics in crown fire prone fuel types of western North America. International Journal of Wildland Fire. 12(1):39-50.
This function provides values for rothermel and cfis inputs.
#Two hypothetical forest stands ba = c(10, 15) ht = c(12, 20) tph = c(100, 300) type = c('df', 'lp') canFuel(ba, ht, tph, type)
#Two hypothetical forest stands ba = c(10, 15) ht = c(12, 20) tph = c(100, 300) type = c('df', 'lp') canFuel(ba, ht, tph, type)
Prediction of crown fire probability, crown fire rate of spread and separation distance (Alexander and Cruz 2006). Separation distance is distance ahead of main fire front required for a spot fire to form, separate of a main fire.
cfis(fsg, u10, effm, sfc, cbd, id)
cfis(fsg, u10, effm, sfc, cbd, id)
fsg |
a numeric vector of fuel stratum gaps (m) |
u10 |
a numeric vector of 10-m open wind speeds (km/hr) |
effm |
a numeric vector of effective fine fuel moistures (%) |
sfc |
a numeric vector of surface fuel consumed (Mg/ha) |
cbd |
a numeric vector of canopy bulk densities (kg/m3) |
id |
a numeric vector of spot ignition delays, the time during which a given firebrand generates, is transported aloft, and ignites a receptive fuelbed (min) |
a data frame with type of fire, probability of crown fire occurrences (%), crown fire rate of spread (m/min), and critical spotting distance (m)
Justin P Ziegler, [email protected]
Alexander M.E., Cruz M.G. 2006. Evaluating a model for predicting active crown fire rate of spread using wildfire observations. Canadian Journal of Forest Research. 36:2015-3028.
data("coForest") # show the data format: head(coForest) # Predict crown fire, using coForest # measurements and assumed weather # parameters df.cfis = cfis(fsg = coForest$cbh_m, u10 = 20, effm = 6, sfc = coForest$sfl_kgm2*10, cbd = coForest$cbd_kgm3, id = 1) print(df.cfis) # Examine differences between treatment # statuses aggregate(x = df.cfis$cROS, by = list(treatmentStatus = coForest$status), FUN = mean) # Now, examine the sensitivity of fire # type designations to wind speed by # treatment status coForest = coForest[rep(seq_len(nrow(coForest)), 11), ] coForest$u10 = sort(rep(10:20, 14)) coForest$type = cfis(coForest$cbh_m, coForest$u10, 6, coForest$sfl_kgm2*10, coForest$cbd_kgm3, 1)$type table(u10 = coForest$u10, coForest$type, coForest$status)
data("coForest") # show the data format: head(coForest) # Predict crown fire, using coForest # measurements and assumed weather # parameters df.cfis = cfis(fsg = coForest$cbh_m, u10 = 20, effm = 6, sfc = coForest$sfl_kgm2*10, cbd = coForest$cbd_kgm3, id = 1) print(df.cfis) # Examine differences between treatment # statuses aggregate(x = df.cfis$cROS, by = list(treatmentStatus = coForest$status), FUN = mean) # Now, examine the sensitivity of fire # type designations to wind speed by # treatment status coForest = coForest[rep(seq_len(nrow(coForest)), 11), ] coForest$u10 = sort(rep(10:20, 14)) coForest$type = cfis(coForest$cbh_m, coForest$u10, 6, coForest$sfl_kgm2*10, coForest$cbd_kgm3, 1)$type table(u10 = coForest$u10, coForest$type, coForest$status)
Fuels inventory summary of seven sampled forests in the southern Rocky Mountains and Colorado Plateau. Each forest was sampled before and after tree thinnings.
data("coForest")
data("coForest")
A data frame with 14 observations of 10 variables:
name of forest location
either before (pre) or after (post) forest thinning
tree density (trees/ha)
basal area (m2/ha)
quadratic mean diameter (cm)
mean tree height (m)
surface fuel load (kg/m2)
canopy bulk density (kg/m3)
canopy base height (m)
canopy fuel load (kg/m2)
Ziegler, J.P., Hoffman, C., Battaglia, M., Mell, W., 2017. Spatially explicit measurements of forest structure and fire behavior following restoration treatments in dry forests. Forest Ecology & Management 386, 1–12. doi:10.1016/j.foreco.2016.12.002
Methods to estimate fine fuel moisture based on meteorological data.
ffm(method, rh, temp, month, hour, asp, slp, bla, shade)
ffm(method, rh, temp, month, hour, asp, slp, bla, shade)
method |
a character vector of specifying the method
|
rh |
a numeric vector of relative humidities (%) |
temp |
a numeric vector of dry bulb temperatures (deg. C) |
month |
a numeric vector of Gregorian month numbers (1-12) |
hour |
a numeric vector of hours (1-24) |
asp |
a character vector of aspects specified as cardinal directions, either |
slp |
a numeric vector of topographic slopes (%) |
bla |
a character vector specifying the difference in elevation between the fine fuel's location and that of the meteorological data;
either within 305 m ('l', the default), or the meteorological data are > 305m below ( |
shade |
a character vector specifying whether fine fuels are shaded, |
This function has six methods to estimate fine fuel moisture. If method = "fbo"
, all arguments must be specified,
otherwise, only method
, rh
and temp
are required.
a data frame of litter, 1-hr, 10-hr, and 100-hr fuel moistures
Justin P Ziegler, [email protected]
Viney, N.R. 1991. A review of fine fuel moisture modelling. International Journal of Wildland Fire. 1(4):215–234.
#Example using RAWS meteorological station data data(rrRAWS) wx = rrRAWS[2000:3000,] ff = rbind( data.frame(ffm = ffm('simard',wx$rh, wx$temp_c)$fm1hr,method='simard'), data.frame(ffm = ffm('wagner',wx$rh, wx$temp_c)$fm1hr,method='wagner'), data.frame(ffm = ffm('anderson',wx$rh, wx$temp_c)$fm1hr,method='anderson') ) ff$dateTime = rep(wx$dateTime,3) par(mfrow=c(3,1)) hist(ff$ffm[ff$method=="simard"]) hist(ff$ffm[ff$method=="wagner"]) hist(ff$ffm[ff$method=="anderson"]) #The FBO method requires more inputs rh = wx$rh temp =wx$temp_c month = as.numeric(format(strptime(wx$dateTime,"%m/%d/%Y %H:%M"),'%m')) hour = as.numeric(format(strptime(wx$dateTime,"%m/%d/%Y %H:%M"),'%H')) ffm(method = 'fbo', rh, temp, month, hour, asp = 'N', slp = 10, bla = 'l', shade = 'n')
#Example using RAWS meteorological station data data(rrRAWS) wx = rrRAWS[2000:3000,] ff = rbind( data.frame(ffm = ffm('simard',wx$rh, wx$temp_c)$fm1hr,method='simard'), data.frame(ffm = ffm('wagner',wx$rh, wx$temp_c)$fm1hr,method='wagner'), data.frame(ffm = ffm('anderson',wx$rh, wx$temp_c)$fm1hr,method='anderson') ) ff$dateTime = rep(wx$dateTime,3) par(mfrow=c(3,1)) hist(ff$ffm[ff$method=="simard"]) hist(ff$ffm[ff$method=="wagner"]) hist(ff$ffm[ff$method=="anderson"]) #The FBO method requires more inputs rh = wx$rh temp =wx$temp_c month = as.numeric(format(strptime(wx$dateTime,"%m/%d/%Y %H:%M"),'%m')) hour = as.numeric(format(strptime(wx$dateTime,"%m/%d/%Y %H:%M"),'%H')) ffm(method = 'fbo', rh, temp, month, hour, asp = 'N', slp = 10, bla = 'l', shade = 'n')
Visualization of predicted fire behavior using the Fire Characteristics Chart.
fireChart(name, hpua, ros)
fireChart(name, hpua, ros)
name |
a character vector identifying names of predictions |
hpua |
a numeric vector of heat per unit area (kJ/m2) |
ros |
a numeric vector of rate of spread (m/min) |
an object of class ggplot
Justin P Ziegler, [email protected]
Andrews, P.L. & Rothermel, R.C. 1982. Charts for interpreting wildland fire behavior characteristics. INT-GTR-131. USDA Forest Service Intermountain Forest & Range Experimental Station.
fc = fireChart('fire',hpua = 15000, ros = 50) print(fc)
fc = fireChart('fire',hpua = 15000, ros = 50) print(fc)
Methods to estimate fire weather indices using static weather observations.
fireIndex(temp, u, rh, fuel = 4.5, cure = 100)
fireIndex(temp, u, rh, fuel = 4.5, cure = 100)
temp |
a numeric vector of air temperatures (C) |
u |
a numeric vector of wind speeds (km/hr) |
rh |
a numeric vector of relative humidities (%) |
fuel |
a numeric vector of available fuel load (Mg/ha), defaults to 4.5 |
cure |
a numeric vector for proportion of cured grass (%), defaults to 100 |
This function computes seven methods to estimate static fire weather indices: the Angstrom Index, the Chandler Burning Index, the Hot Dry Windy Index, the Fuel Moisture Index, the Fosberg Fire Weather Index,
the MacArthur Grassland Mark 4 Index, and the MacArthur Grassland Mark 5 Index. Each of these are static in that values are derived using a
daily weather summary and do not consider weather during prior days.
temp
, rh
and u
are required for all methods.
The latter two indices also use fuel
, and the Grassland Mark 4 Index uses cure
. Defaults for fuel
and cure
are provided, but can be specified by the user. Sharples (2009a, b) review all of the methods.
a data frame of static fire weather index values
Justin P Ziegler, [email protected]
Sharples, J.J., McRae, R.H.D., Weber, R.O. and Gill, A.M., 2009a. A simple index for assessing fuel moisture content. Environmental Modelling & Software, 24(5):637-646.
Sharples, J.J., McRae, R.H.D., Weber, R.O. and Gill, A.M., 2009b. A simple index for assessing fire danger rating. Environmental Modelling & Software. 24(6):764-774.
#Example using RAWS meteorological station data data(rrRAWS) rrRAWS.daily = rrRAWS[format(strptime(rrRAWS$dateTime, "%m/%d/%Y %H:%M"), "%H:%M")=="14:35",] fireIndex(temp=rrRAWS.daily$temp_c, u= rrRAWS.daily$windSpeed_kmh, rh = rrRAWS.daily$rh)
#Example using RAWS meteorological station data data(rrRAWS) rrRAWS.daily = rrRAWS[format(strptime(rrRAWS$dateTime, "%m/%d/%Y %H:%M"), "%H:%M")=="14:35",] fireIndex(temp=rrRAWS.daily$temp_c, u= rrRAWS.daily$windSpeed_kmh, rh = rrRAWS.daily$rh)
Methods to estimate daily fire weather indices using dynamic weather observations.
fireIndexKBDI(temp, precip, map, rh, u)
fireIndexKBDI(temp, precip, map, rh, u)
temp |
a numeric vector of daily air temperatures (C) |
precip |
a numeric vector of daily precipitations (mm) |
map |
a single numeric value of mean annual precipitation (mm) |
rh |
a numeric vector of relative humidities (%) |
u |
a numeric vector of daily wind speeds (km/hr) |
This function computes up to 8 methods to estimate dynamic fire weather indices. These methods are dynamic in that they take prior days'
weather into consideration. Therefore the inputs must be ordered by day
(i.e., weather observations for a given day are followed by weather observations for the next day.)
The number of computed methods depends on the supplied arguments.
If requisite arguments for specific methods are not supplied, fireIndexKBDI
will not output results for those specific methods (i.e., there will be fewer than 8 columns).
The requisite arguments for each method:
'temp'
, 'precip'
, 'map'
'temp'
, 'precip'
, 'map'
'temp'
, 'precip'
, 'map'
,'u'
, 'rh'
'temp'
, 'precip'
, 'map'
,'u'
, 'rh'
'temp'
, 'precip'
, 'map'
,'u'
, 'rh'
'temp'
, 'precip'
, 'rh'
'temp'
, 'precip'
, 'rh'
'temp'
, 'precip'
, 'rh'
a data frame of fire weather index values with a column for each valid method
Justin P Ziegler, [email protected]
Sharples, J.J., McRae, R.H.D., Weber, R.O. and Gill, A.M., 2009. A simple index for assessing fuel moisture content.
Environmental Modelling & Software, 24(5):637-646.
Goodrick, S.L., 2002. Modification of the Fosberg fire weather index to include drought. International Journal of Wildland Fire, 11(4), pp.205-211.
Sharples, J.J., McRae, R.H.D., Weber, R.O. and Gill, A.M., 2009. A simple index for assessing fire danger rating.
Environmental Modelling & Software. 24(6):764-774.
Keetch, J.J., Byram, G.M., 1968. A drought index for forest fire control. RP-SE-68, US Department of Agriculture, Forest Service, Southeastern Forest Experiment Station.
Groisman, P.Y., Sherstyukov, B.G., Razuvaev, V.N., Knight, R.W., Enloe, J.G., Stroumentova, N.S., Whitfield, P.H., Førland, E., Hannsen-Bauer, I., Tuomenvirta, H. and Aleksandersson, H., 2007. Potential forest fire danger over Northern Eurasia: changes during the 20th century. Global and Planetary Change, 56(3-4):371-386.
Skvarenina, J., Mindas, J., Holecy, J. and Tucek, J., 2003, May. Analysis of the natural and meteorological conditions during two largest forest fire events in the Slovak Paradise National Park. In Proceedings of the International Scientific Workshop on Forest Fires in the Wildland–Urban Interface and Rural Areas in Europe: an integral planning and management challenge.
#Example using RAWS meteorological station data data(rrRAWS) ff = rbind( data.frame(ffm = ffm('simard', rrRAWS$rh, rrRAWS$temp_c)$fm1hr, method = 'simard'), data.frame(ffm = ffm('wagner', rrRAWS$rh, rrRAWS$temp_c)$fm1hr, method = 'wagner'), data.frame(ffm = ffm('anderson', rrRAWS$rh, rrRAWS$temp_c)$fm1hr, method = 'anderson') ) ff$dateTime = rep(rrRAWS$dateTime, 3) #NOT RUN #par(mfrow=c(3,1)) #hist(ff$ffm[ff$method=="simard"]) #hist(ff$ffm[ff$method=="wagner"]) #hist(ff$ffm[ff$method=="anderson"])
#Example using RAWS meteorological station data data(rrRAWS) ff = rbind( data.frame(ffm = ffm('simard', rrRAWS$rh, rrRAWS$temp_c)$fm1hr, method = 'simard'), data.frame(ffm = ffm('wagner', rrRAWS$rh, rrRAWS$temp_c)$fm1hr, method = 'wagner'), data.frame(ffm = ffm('anderson', rrRAWS$rh, rrRAWS$temp_c)$fm1hr, method = 'anderson') ) ff$dateTime = rep(rrRAWS$dateTime, 3) #NOT RUN #par(mfrow=c(3,1)) #hist(ff$ffm[ff$method=="simard"]) #hist(ff$ffm[ff$method=="wagner"]) #hist(ff$ffm[ff$method=="anderson"])
Fuel models developed by Anderson (1982), Scott (1999), and Scott & Burgan (2005) for prediction of surface fire behavior.
data("fuelModels")
data("fuelModels")
A data frame with 60 observations of 18 variables:
"S"tatic or "D"ynamic fuel load transfer
load of litter fuel (Mg/ha)
load of 1-hr fuel (Mg/ha)
load of 10-hr fuel (Mg/ha)
load of 100-hr fuel (Mg/ha)
load of herbaceous fuel (Mg/ha)
load of woody fuel(Mg/ha)
surface area to volume ratio of litter fuel (m2/m3)
surface area to volume ratio of 1-hr fuel (m2/m3)
surface area to volume ratio of 10-hr fuel (m2/m3)
surface area to volume ratio of 100-hr fuel (m2/m3)
surface area to volume ratio of herbaceous fuel (m2/m3)
surface area to volume ratio of woody fuel (m2/m3)
depth of woody fuel (cm)
dead fuel moisture of extinction (%)
heat content (J/g)
fuel model description
scientific source
Anderson, H.E. 1982. Aids to determining fuel models for estimating fire behavior. INT-GTR-122. US Department of Agriculture, Forest Service, Intermountain Forest and Range Experimental Station.
Scott, J.H. 1999. NEXUS: A system for assessing crown fire hazard. Fire Management Notes 59(2):20 –24.
Scott, J.H., & Burgan, R. E. 2005. A new set of standard fire behavior fuel models for use with Rothermel’s surface fire spread model. RMRS-GTR-153. US Department of Agriculture, Forest Service, Rocky Mountain Research Station.
Moisture scenarios are a set of fuel moistures of surface fuels, on a dry-weight basis, for each of the surface fuel classes. Adapted from Scott & Burgan (2005), this dataset includes fuel moistures of litter.
data("fuelMoisture")
data("fuelMoisture")
A data frame with 16 observations of 7 variables:
moisture of litter (%)
moisture of 1-hr fuel (%)
moisture of 10-hr fuel (%)
moisture of 100-hr fuel (%)
moisture of herbaceous fuel (%)
moisture of woody fuel (%)
scenario description
Scott, J., & Burgan, R. E. 2005. A new set of standard fire behavior fuel models for use with Rothermel’s surface fire spread model. RMRS-GTR-153. Fort Collins, CO: US Department of Agriculture, Forest Service, Rocky Mountain Research Station.
Potential surface and crown fire behavior predicted by Scott and Reinhardt (2001).
rothermel(surfFuel, moisture, crownFuel, enviro, rosMult = 1, cfbForm = "f", folMoist = "y")
rothermel(surfFuel, moisture, crownFuel, enviro, rosMult = 1, cfbForm = "f", folMoist = "y")
surfFuel |
a data frame of surface fuel attributes. Variable names are not important but the order is important. The first variable is a character type whereas the rest are numeric
|
moisture |
a numeric-only data frame of surface fuel moistures on a dry-weight basis (%). Variable names are not important but the following order of surface fuel components is important: litter, 1-hr woody fuels, 10-hr woody fuels, 100-hr woody fuels, live herbaceous, and live woody vegetation (6 values or columns) |
crownFuel |
a vector or data frame with canopy fuel attributes, in order:
|
enviro |
a numeric-only data frame with environmental attributes, in order:
|
rosMult |
a numeric value for multiplying crown fire rate of spread, defaults to 1 (see details) |
cfbForm |
a character specifying how crown fraction burned is calculated.
Options are |
folMoist |
either |
This in an R build of the Rothermel fire behavior modelling system (Scott & Reinhardt 2001)
which links sub-models of surface fire rate of spread (Rothermel 1972), crown fire initiation
(Van Wagner 1977), and Rothermel's (1991) crown fire rate of spread. rosMult
multiples the rate of spread for active or passive crown fires and is recommended
a value of 1.7 when a user desires a maximum crown fire rate of spread (Rothermel 1991). cfbForm
selects the method to estimate crown fraction burned. This selection impacts estimates
of passive crown fraction burned, fireline intensity, and heat per unit area. Use "sr" for Scott
and Reinhardt (2001), "w" for van Wagner (1993), and "f" for Finney (1998).folMoist
, if invoked with a "y"
, calculates the foliar moisture effect to scale crown
fire rate of spread (see Scott & Reinhardt 2001). If "n"
, no foliar moisture effect is determined.
a list with 6 data frames
fireBehavior |
a data frame with fire behavior estimates including fire type, crown fraction burned (%), rate of spread (m/min), heat per unit area (kJ/m2), fireline intensity (kW/m), flame length (m), direction of max spread (deg), scorch height (m), torching index (km/hr), crowning index (km/hr), surfacing index (km/hr), effective midflame wind (km/hr), flame residence time (min) |
detailSurface |
a data frame with some intermediate variables of surface fire behavior including: potential ROS (m/min); no wind, no slope ROS (m/min); slope factor (-); wind factor (-); characteristic dead fuel moisture (%); characteristic live fuel moisture (%); characteristic SAV (m2/m3); bulk density (kg/m3); packing ratio (-); relative packing ratio (-); reaction intensity (kW/m2); heat source (kW/m2); heat sink (kJ/m3) |
detailCrown |
a data frame with some intermediate variables of crown fire behavior including: potential ROS (m/min); no wind, no slope ROS (m/min); slope factor (-); wind factor (-); characteristic dead fuel moisture (%); characteristic live fuel moisture (%); characteristic SAV (m2/m3); bulk density (kg/m3); packing ratio (-); relative packing ratio (-); reaction intensity (kW/m2); heat source (kW/m2); heat sink (kJ/m3) |
critInit |
a data frame of critical values for crown fire initiation including: fireline intensity (kW/m), flame length (m), surface ROS (m/min), Canopy base height (m) |
critActive |
a data frame of critical values for active crown fire including: canopy bulk density (kg/m3)", "ROS, crown (R'active) (m/min) |
critCess |
a data frame of critical values for cessation of crown fire including: canopy base height (m), O'cessation (km/hr) |
Justin P Ziegler, [email protected]
Rothermel, R.C. 1972. A mathematical model for predicting fire spread in wildland fuels.
INT-RP-115. USDA Forest Service Intermountain Forest & Range Experimental Station.
Van Wagner, C.E. 1977. Conditions for the start and spread of crown fire. Canadian Journal of
Forest Research 7:23–34.
Rothermel, R.C., 1991. Predicting behavior and size of crown fires in the northern Rocky Mountains.
INT-RP-438. USDA Forest Service Intermountain Research Station.
Van Wagner, C.E. 1993. Prediction of crown fire behavior in two stands of jack pine.
Canadian Journal of Forest Research 23:442–449.
Finney, M.A. 1998. FARSITE: Fire area simulator — model development and evaluation.
RMRS-RP-47. USDA Forest Service Rocky Mountain Research Station.
Scott, J.H., Reinhardt, E.D. 2001. Assessing crown fire potential by linking models of surface and
crown fire behavior. RMRS-RP-29. USDA Forest Service Rocky Mountain Research Station.
data(fuelModels, fuelMoisture) #fuelModels['A10',] exampSurfFuel = fuelModels['A10',] #fuelMoisture['D1L1',] exampFuelMoisture = fuelMoisture['D1L1',] exampCrownFuel = data.frame( CBD = coForest$cbd_kgm3[1], FMC = 100, CBH = coForest$cbh_m[1], CFL = coForest$cfl_kgm2[1] ) exampEnviro = data.frame( slope = 10, windspeed = 40, direction = 0, waf = 0.2 ) rothermel(exampSurfFuel, exampFuelMoisture, exampCrownFuel, exampEnviro)
data(fuelModels, fuelMoisture) #fuelModels['A10',] exampSurfFuel = fuelModels['A10',] #fuelMoisture['D1L1',] exampFuelMoisture = fuelMoisture['D1L1',] exampCrownFuel = data.frame( CBD = coForest$cbd_kgm3[1], FMC = 100, CBH = coForest$cbh_m[1], CFL = coForest$cfl_kgm2[1] ) exampEnviro = data.frame( slope = 10, windspeed = 40, direction = 0, waf = 0.2 ) rothermel(exampSurfFuel, exampFuelMoisture, exampCrownFuel, exampEnviro)
Hourly meteorological data from April 2017 through September 2017 from the Rampart Range Remote Automated Weather Station (RAWS; Station ID: RRAC2), maintained by the United States Forest Service.
data("rrRAWS")
data("rrRAWS")
A data frame with 4392 observations of 4 variables:
date and time of individual observation formatted as "%m/%d/%Y %H:%M"
air temperature (deg. C)
relative humidity (%)
wind speed (km/hr)
precipitation (mm)
RAWS USA Climate Archive https://raws.dri.edu/
Prediction of wind adjustment factor for sheltered and unsheltered fuels.
waf(fuelDepth, forestHt, cr, cc, sheltered = "n")
waf(fuelDepth, forestHt, cr, cc, sheltered = "n")
fuelDepth |
a numeric vector of surface fuel bed depths (cm) |
forestHt |
a numeric vector of average stand tree heights (m) |
cr |
a numeric vector of crown ratios (%) |
cc |
a numeric vector of canopy cover (%) |
sheltered |
a character vector of either |
This calculates the wind adjustment factor (ratio of 20-ft open wind speed to wind speed at midflame height of a surface fire).
One of two equations are used, depending on user input: by default, this function assumes the surface fuel bed is unsheltered.
fuelDepth
must be a positive value if the unsheltered variant is invoked.
There are two conditions to enable calculation for a sheltered fuelbed. One, the product of cr
and
cc
must exceed 5%. Alternatively, if cr
and cc
are not supplied, the user may enter "sheltered = y"
.
The former method is recommended when cr
and cc
are known. In addition, either means of invoking the sheltered equation must also have forestHt
provided.
a vector of wind adjustment factors
Justin P Ziegler, [email protected]
Andrews, P.L. 2012. Modeling wind adjustment factor and midflame wind speed for Rothermel’s surface fire spread model. RMRS-GTR-266. USDA Forest Service Rocky Mountain Research Station.
#Sheltered fuelbed with a 10 m tall forest with unknown crown ratio and canopy cover waf(forestHt = 10, sheltered = 'y') #Sheltered fuelbed with known high crown ratio and canopy cover waf(forestHt = 10, cr = 40, cc = 40) #Sheltered fuelbed with known low crown ratio and canopy cover waf(fuelDepth = 1, forestHt = 10, cr = 10, cc = 10) #Because cr and cc are low, the previous solution is equivalent to an unsheltered fuelbed waf(fuelDepth = 1)
#Sheltered fuelbed with a 10 m tall forest with unknown crown ratio and canopy cover waf(forestHt = 10, sheltered = 'y') #Sheltered fuelbed with known high crown ratio and canopy cover waf(forestHt = 10, cr = 40, cc = 40) #Sheltered fuelbed with known low crown ratio and canopy cover waf(fuelDepth = 1, forestHt = 10, cr = 10, cc = 10) #Because cr and cc are low, the previous solution is equivalent to an unsheltered fuelbed waf(fuelDepth = 1)