MCFire Model Technical Description

David R. Conklin, James M. Lenihan, Dominique Bachelet, Ronald P. Neilson, and 

John B. Kim

United States Department of Agriculture

Forest 

Service

Pacific Northwest 

Research Station

General Technical Report

PNW-GTR-926

August

2016
B

Authors

David R. Conklin is a scientist, Common Futures LLC, 7445 NW Oak Creek 

Drive, Corvallis, OR, 97330. James M. Lenihan is a research ecologist (retired), 

U.S. Forest Service, Pacific Northwest Research Station, Forestry Sciences Laboratory, 3200 SW Jefferson Way, Corvallis, OR 97331. Dominique Bachelet is a senior 

climate change scientist, Conservation Biology Institute, 136 SW Washington 

Avenue, Corvallis, OR 97333. Ronald P. Neilson is a bioclimatologist (retired), U.S. 

Forest Service, Pacific Northwest Research Station, Forestry Sciences Laboratory, 

3200 SW Jefferson Way, Corvallis, OR 97331. John B. Kim is a biological scientist, 

U.S. Forest Service, Pacific Northwest Research Station, Forestry Sciences Laboratory, 3200 SW Jefferson Way, Corvallis, OR 97331.

Cover photo by Tom Iraci. 

In accordance with Federal civil rights law and U.S. Department of Agriculture (USDA) 

civil rights regulations and policies, the USDA, its Agencies, offices, and employees, and 

institutions participating in or administering USDA programs are prohibited from discriminating 

based on race, color, national origin, religion, sex, gender identity (including gender 

expression), sexual orientation, disability, age, marital status, family/parental status, income 

derived from a public assistance program, political beliefs, or reprisal or retaliation for prior 

civil rights activity, in any program or activity conducted or funded by USDA (not all bases 

apply to all programs). Remedies and complaint filing deadlines vary by program or incident. 

Persons with disabilities who require alternative means of communication for program 

information (e.g., Braille, large print, audiotape, American Sign Language, etc.) should 

contact the responsible Agency or USDA’s TARGET Center at (202) 720-2600 (voice and 

TTY) or contact USDA through the Federal Relay Service at (800) 877-8339. Additionally, 

program information may be made available in languages other than English. 

To file a program discrimination complaint, complete the USDA Program Discrimination 

Complaint Form, AD-3027, found online at http://www.ascr.usda.gov/complaint_filing_cust.html 

and at any USDA office or write a letter addressed to USDA and provide in the letter all of the 

information requested in the form. To request a copy of the complaint form, call (866) 632-9992. 

Submit your completed form or letter to USDA by: (1) mail: U.S. Department of Agriculture, 

Office of the Assistant Secretary for Civil Rights, 1400 Independence Avenue, SW, Washington, 

D.C. 20250-9410; (2) fax: (202) 690-7442; or (3) email: program.intake@usda.gov. 

USDA is an equal opportunity provider, employer, and lender.
i

Abstract

Conklin, David R.; Lenihan, James M.; Bachelet, Dominique; Neilson, Ronald 

P.; Kim, John B. 2016. MCFire model technical description. Gen. Tech. Rep. 

PNW-GTR-926. Portland, OR: U.S. Department of Agriculture, Forest Service, 

Pacific Northwest Research Station. 75 p.

MCFire is a computer program that simulates the occurrence and effects of wildfire 

on natural vegetation, as a submodel within the MC1 dynamic global vegetation 

model. This report is a technical description of the algorithms and parameter values 

used in MCFire, intended to encapsulate its design and features a higher level that is 

more conceptual than the level provided by the computer source code, so that programmers and users can better understand its features and limitations. Two primary 

sources of the MCFire algorithms are the National Fire-Danger Rating System and 

CONSUME 3.0. MC1 reads elevation, soil data, and climate data; simulates vegetation biochemistry and biogeography; and invokes MCFire to simulate fire and its 

effects. Unlike MC1, which runs on a monthly time step, MCFire simulates fire on 

a daily time step. MC1 and MCFire are typically run on a grid of independent cells, 

with neither model designed to simulate interaction among cells. MCFire estimates 

daily fire weather from monthly weather variables; calculates fuel load and moisture; determines the occurrence of fire; estimates fire behavior, including rate of 

spread, energy release, fireline intensity, crown scorching and area burned; and 

estimates fire effects on grass and tree mortality, biomass consumption, emissions, 

and black carbon production.

Keywords: dynamic global vegetation model, fire, MC1, MCFire, 

modeling, wildfire.
ii
iii

Preface

This report is a technical description of MCFire, a submodel within the MAPSSCENTURY (MC1) dynamic global vegetation model (Brachelet 2001a). MCFire 

was developed by the Mapped Atmosphere-Plant-Soil System Team, at the U.S. 

Forest Service Pacific Northwest (PNW) Research Station. The development of 

MCFire was led by James M. Lenihan, a PNW research ecologist, and the first draft 

of this report was composed by David R. Conklin, who worked with the Mapped 

Atmosphere-Plant-Soil System Team first as a programmer and later as a Ph.D. 

student at Oregon State University. It was originally written to facilitate the porting 

of MCFire logic from MC1 into other dynamic global vegetation models. Many 

years have elapsed since this draft was composed and reviewed, and in those years 

all the original authors have left the team and the PNW Station. MC1 and MCFire, 

however, continue to be used by an active community of professionals; and, 

although code development by MC1 users continues, much of MCFire logic remains 

unchanged. Furthermore, as of this writing, no publication has yet described the 

detailed structure of the MCFire algorithms for its users and students. For these 

reasons, we are publishing this report after a long hiatus.

An important change was made to MCFire since the original draft of this report 

was written: in 2005, the fire occurrence algorithm was revised to use the fine-fuel 

moisture code and build-up indices from the Canadian Forest Fire Weather Index 

System (Van Wagner 1987) instead of relying on Palmer Drought Severity Index 

(Palmer 1965), the 1,000-hour fuel moisture content (Fosberg et al. 1981), and finefuel flammability (Cohen and Deeming 1985). The new fire occurrence algorithm is 

described in appendix 3.

Recently, MC1, including MCFire, was rewritten in C++ to improve its computational efficiency. The new version is called MC2. MCFire within MC2 retains 

the same algorithms as MCFire in MC1. The source code for both MC1 and MC2, 

including MCFire, is available from the PNW Station or from an Oregon State 

University code repository website.1

1

 On file with: Forestry Sciences Laboratory, 3200 SW Jefferson Way, Corvallis, OR 97730.
iv

Contents

1 Section 1. Introduction

2 Section 2. Fire Weather

6 Relative Humidity

6 Rain and Snow

9 Wind

9 Day Length

9 Keetch-Byram Drought Index

11 Palmer Drought Severity Index

11 Section 3. Fuel Load

11 Dead Fuels

13 Depth of the Fuel Bed

13 Live Fuels

19 Section 4. Fuel Moisture

19 Estimating Moisture from Live Fuels

21 Estimating the Moisture Content of Dead Fuels

24 Section 5. Fire Occurrence

26 Section 6. Fire Behavior

26 Fuel Characteristics

30 Rate of Spread
v

39 Energy Release

40 Fireline Intensity and Lethal Scorch Height

40 Crown Fire

41 Section 7. Fire Effects

41 Crown Kill

43 Tree Mortality

44 Biomass Consumption and Partial Mortality

45 Emissions

47 Black Carbon

50 Area Burned

51 Acknowledgments

51 English and Metric Equivalents

52 References

57 Appendix 1: Key Variables In Mcfire Source Code

67 Appendix 2: Mcfire Source Code Organization

68 Organization of MCFire Procedures

69 Organization of MCFire Data

69 MC1 Invocation of MCFire

72 MCFire Data Passed to MC1

73 Appendix 3: Revised Fire Occurrence Algorithm
vi

GENERAL TECHNICAL REPORT PNW-GTR-926
1

MCFire Model Technical Description

Section 1. Introduction

MCFire is a computer program that simulates the occurrence and effects of wildfire 

on natural vegetation (Lenihan et al. 1998) as a submodel within the MAPSSCENTURY (MC1) dynamic global vegetation model (Daly et al. 2000). A hybrid 

of MAPSS biogeography model (Neilson 1995) and Century Soil Organic Matter 

Model (Parton et al. 1987), MC1 simulates plant functional types, ecosystem fluxes 

of carbon, nitrogen, water, and fire disturbance. It has been documented extensively 

(Aber et al. 2001; Bachelet et al. 2001a, 2001b, 2003, 2004, 2005; Daly et al. 2000; 

Lenihan et al. 2003). MC1 is implemented on spatial data grids of varying resolutions (ranging from 0.5 degree to 2.5 minutes) depending on the resolution of the 

climatic input data. MC1 is run separately for each grid cell with no exchange 

of information among cells. MC1 reads climate data at a monthly time step and 

executes interacting modules that simulate biogeography, biogeochemistry, and fire 

disturbance (fig. 1).

Biogeography Biogeochemistry

Fire

Climate

Live biomass

Vegetation type

composition

Vegetation

type

composition

and structure

Bio

m

ass

re

duction

Bio

m

ass,

soil m

oisture

Figure 1—Primary modules in MC1 dynamic global vegetation model.
2

GENERAL TECHNICAL REPORT PNW-GTR-926

This report is a technical description of the algorithms and parameter values 

used in MCFire, intended to encapsulate the MCFire technical design and provide a 

level of explanation that is more conceptual than the level provided by the computer 

source code, so that programmers and users can better understand its features 

and limitations. MCFire is written in C programming language. The two primary 

sources of equations and parameters used in MCFire are the fire-danger rating 

system equations developed by the U.S. Forest Service (Cohen and Deeming 1985), 

and the CONSUME user guide (Prichard et al. 2007). 

This report replicates many variables, equations, and parameter values taken 

from their sources for clarity and completeness. Where appropriate, relevant source 

code variable names are included in italics to help the reader link the description to 

the source code. Appendix 1 lists all key variables used by MCFire and appendix 

2 documents the source code structure in detail. This report does not include the 

scientific justifications for MCFire model design developed by Lenihan et al. (1998), 

or the evaluations of the MCFire model skill by Lenihan et al. (2003). 

In contrast to MC1, which operates on a monthly time step, MCFire simulates 

fire on a daily time step by estimating daily weather conditions (fig. 2). MCFire 

takes the following monthly inputs from MC1: the vegetation type (table 1), climate 

time series (precipitation, vapor pressure, wind speed, and minimum/maximum 

temperature), the Palmer Drought Severity Index, and the biomass pools from the 

MC1 biogeochemistry module. From these, it estimates daily fire weather, fuel 

loading, fuel moisture, fire occurrence, fire behavior, and the effects of fire behavior. Each of these simulation steps is described below.

Section 2. Fire Weather

MCFire uses monthly climate variables (table 2) to estimate daily weather data 

(table 3). To estimate daily temperature values (tmp, tmin, and tmax), the values for 

the first day of the month are set to the monthly values (m_tmp, m_tmin, and m_

tmax), and the values for the remaining days in the month are estimated by simple 

linear interpolation between values for the current month and the values for the next 

month. Daily values for December are interpolated between the monthly value for 

December and the monthly value for January of the current year (not January of the 

next year). For precipitation, the number of days with precipitation are estimated 

and randomly distributed within the month, and the monthly total precipitation 

amount is divided evenly among the days with precipitation.
3

MCFire Model Technical Description

ReadFireParam(): input fire

module parameters

DFuelMC(): compute daily

FireData(): compute daily

weather variables

LFuelMC(): compute daily

live fuel moisture content

FuelLoad(): compute daily

fuel loads

FireBehav(): compute daily

potential fire behavior

FireEff (): compute daily

potential fire effects

FireSched(): apply fire

effects

FireOccur():

determine

fire

occurrence

Monthly climate data

End of year?

No

Yes

No

M

onthly lo

o

p

Yes

Annual lo

o

p

Biogeography

module

Biogeochemistry

module

Figure 2—Organization of the MCFire algorithm; note that principal subroutines are identified in parentheses, 

and that interactions between the fire module and the MC1 biogeography and biogeochemistry modules are 

shown as dashed lines.
4

GENERAL TECHNICAL REPORT PNW-GTR-926

Table 1—Vegetation types simulated by MC1 as adapted from VEMAP (VEMAP Members 1995), with 

minimum and maximum average fire return intervals (Leenhouts 1998) and CONSUME 3.0 emissions 

fuel types (Prichard et al. 2007)

 Minimum Maximum

 average average

fire-return fire-return CONSUME 3.0

Code Vegetation interval interval emissions fuel type

1 Tundra 166 230 Mixed conifer slash

2 Boreal coniferous forest 200 225 Mixed conifer slash

3 Maritime temperate coniferous forest 110 184 Douglas-fir slash

4 Continental temperate coniferous forest 47 76 Mixed conifer slash

5 Cool temperate mixed forest 233 348 Mixed conifer slash

6 Warm temperate subtropical mixed forest 17 48 Ponderosa-lodgepole pine slash

7 Temperate deciduous forest 155 237 Hardwoods slash

8 Tropical deciduous forest 200 200 Hardwoods slash

9 Tropical evergreen forest 50 50 Hardwoods slash

10 Temperate mixed xeromorphic woodland 39 75 Juniper slash

11 Temperate conifer xeromorphic woodland 24 56 Ponderosa-lodgepole pine slash

12 Tropical thorn woodland 15 5 Juniper slash

13 Temperate subtropical deciduous savanna 26 80 Hardwoods slash

14 Warm temperate subtropical mixed savanna 8 19 Ponderosa-lodgepole pine slash

15 Temperate conifer savanna 26 62 Ponderosa-lodgepole pine slash

16 Tropical deciduous savanna 7 7 Hardwoods slash

17 C3 grasslandsa 15 32 Sagebrush

18 C4 grasslandsb 12 24 Sagebrush

19 Mediterranean shrubland 20 43 Chaparral

20 Temperate arid shrubland 48 87 Sagebrush

21 Subtropical arid shrubland 82 319 Sagebrush

22 Taiga 166 230 Mixed conifer slash

23 Boreal larch forest 15 15 Mixed conifer slash

a

 Grasslands adapted to cool seasons.

b

 Grasslands adapted to warm or hot seasons.
5

MCFire Model Technical Description

Table 2—Monthly climate variables used by the MCFire simulation model

Variable Description Time step Dimensions Source

m_tmp Average temperature Month °C Input 

m_tmin Minimum temperature Month °C Input 

m_tmax Maximum temperature Month °C Input 

vpr_sacred Vapor pressure Month Pascals Input 

m_ ppt Total precipitation, Month Millimeters Input 

 water equivalent of water

ws Average wind speed Month Meters per Input 

 second

m_ pet Potential evapotranspiration Month Millimeters Calculated

of water

satvp_sacred Saturated vapor pressure at Month Pascals Calculated

 average temperature

pdsi Palmer Drought Severity Index Month Dimensionless Input

Table 3—Daily weather variables calculated by the MCFire simulation model

Units of

Variable Description measurement Time step Source

tmp Average temperature °C Daily Calculated

tmin Minimum temperature °C Daily Calculated

tmax Maximum temperature °C Daily Calculated

rh Relative humidity Percent Daily Calculated

rhmin Minimum relative humidity Percent Daily Calculated

rhmax Maximum relative humidity Percent Daily Calculated

ppt Total precipitation, water Millimeters Daily Calculated

 equivalent of water

ppt_dur Precipitation duration Hours Daily Calculated

snowfall Snowfall, water equivalent Millimeters Daily Calculated

of water

snow Snowpack, water equivalent Millimeters Daily Calculated

of water

ws Average wind speed Meters per Daily Calculated

 second

daylit Length of daylight Hours Daily Calculated
6

GENERAL TECHNICAL REPORT PNW-GTR-926

Relative Humidity 

MCFire uses daily relative humidity values to calculate daily fuel moisture content. 

It estimates daily average, minimum, and maximum relative humidity values from 

monthly vapor pressure and saturated vapor pressure values provided by MC1. 

First, relative humidity is estimated as:

m_rh[month] = vpr_sacred[month] × 100 (1)

 satvp_sacred[month]

where m_rh[month] is the relative humidity as a percentage, vpr_sacred[month] is 

the monthly value of vapor pressure from MC1 in pascals, and satvp_sacred[month] 

is the monthly value of saturated vapor pressure from MC1 in pascals.

To calculate daily values of relative humidity (rh[day]), MCFire interpolates 

linearly between the monthly values for the present month and the next month, as 

with daily temperatures.

Daily values of minimum and maximum relative humidity (rhmin[day], 

rhmax[day]) are similarly interpolated from their respective monthly values. First, 

monthly values are calculated:

m_rhmin[month] = vpr_sacred[month] × 100 (2)

 satvp_(m_tmax[month])

m_rhmax[month] = vpr_sacred[month] × 100 (3)

 satvp_(m_tmin[month])

where m_rhmin[month] is the monthly value of minimum relative humidity as a 

percentage, m_rhmax[month] is the monthly value of maximum relative humidity as 

a percentage, vpr_sacred[month] is the monthly value of vapor pressure from MC1 

in pascals, satvp(t) is the saturated vapor pressure in pascals at temperature t in °C, 

m_tmin[month] is the monthly minimum temperature in °C, and m_tmax[month] is 

the monthly maximum temperature in °C.

Rain and Snow

Daily precipitation estimates are used in the calculation of daily fuel moisture 

content. MCFire estimates daily precipitation from monthly precipitation values 

provided by MC1. The number of precipitation events each month is estimated 

using a regression function derived from weather station data archived by the 

National Climate Data Center (WeatherDisc Associates 1995). When the monthly 
7

MCFire Model Technical Description

potential evapotranspiration (m_ pet[month]) is >100 mm, then:

ppt_events = 0.887 + 0.052 × m_ ppt[month] (4)

but when monthly potential evaporation is ≤100 mm, then: 

ppt_events = 2.319 + 0.027 × m_ ppt[month] (5)

where ppt_events is the number of precipitation events in the month, rounded up 

to an integer, with a maximum of 12 events; m_ pet[month] is the total potential 

evapotranspiration in the given month in millimeters; and m_ ppt[month] is the total 

precipitation in the month in millimeters.

The fire model assumes that any given day will have either one precipitation 

event or none at all. The monthly precipitation is evenly divided among the precipitation events:

ppt_ per_event = m_ ppt[month] (6)

 m_ ppt_events

where ppt_ per_event is the amount of precipitation per event in millimeters; 

m_ ppt[month] is the total precipitation in the month in millimeters; and ppt_events

is the number of precipitation events in the month, rounded up to an integer, with a 

maximum of 12 events (eqs. 4, 5).

MCFire calculates dead-fuel moisture by estimating precipitation rate and duration. When monthly potential evapotranspiration is >100 mm, then precipitation 

rate is set at 0.25 inches of rainfall per hour; otherwise it is set to 0.05 inches per 

hour. These rates are the same as those used for the rainfall rate WETRAT in Cohen 

and Deeming (1985), although their rates relied on “climate class” rather than 

potential evapotranspiration as the basis for selecting a precipitation rate. As with 

estimations of daily temperatures, MCFire first calculates monthly the precipitation 

rate; daily precipitation rates are then interpolated between the monthly rates of two 

successive months. MCFire then calculates precipitation duration as:

ppt_dur = ppt[day] (7)

 ppt_rat[day]

where ppt_dur is the precipitation duration in hours, ppt[day] is the amount of 

precipitation on the given day in, and, ppt_rat[day] is the estimated rate of precipitation (inches per hour) on the given day.

The value of ppt_dur (eq. 7) is rounded to the nearest hour with a maximum 

of 8 hours. When minimum daily temperature (tmin) is <32 °F (0 °C), precipitation 

duration is set to zero.
8

GENERAL TECHNICAL REPORT PNW-GTR-926

Four parameters control snow accumulation and melt (table 4). The amount of 

precipitation that falls as snow is determined by comparing the temperature to two 

thresholds (snw0 and snw1). When the temperature is less than or equal to snw1, 

then all the precipitation falls as snow and all the rainfall is transformed into snow 

(snowfall). When temperature is higher than or equal to snw0, all the precipitation 

falls as rain (rainfall). When the temperature is between snw0 and snw1, then:

snowfall[day] = (1˗ tmp[day]˗snw1

) × ppt[day] (8)

 snow0˗snow1

where snowfall[day] is the snowfall for the day in millimeters (water equivalent), 

tmp[day] is the average daily temperature on the given day in °C, snw0 is the 

temperature above which all precipitation is rain in °C, snw1 is the temperature 

below which all precipitation is snow in °C, and ppt[day] is the precipitation for 

the day in millimeters.

Table 4—MC1 climate parameters used by the MCFire simulation model, drawn 

from the MC1 fire_param.dat file

Parameter Description Value

snw0 Temperature above which all precipitation is rain 3 °C

snw1 Temperature below which all precipitation is snow 0 °C

no_melt Temperature below which snow does not melt 1 °C

melt_b Snow melt relationship curve 1.5 mm/°C/day

mc_tree_min Minimum live tree moisture content 80 percent

mc_tree_max Maximum live tree moisture content 130 percent 

mc_grass_min Minimum live grass moisture content 30 percent

mc_grass_max Maximum live grass moisture content 120 percent

slp Slope 0 percent

mc_thres Moisture content threshold 12 percent

prob_thres Probability threshold used in the decisions about 45 percent

 fine fuel flammability and tree mortality

pdsi_thres Palmer Drought Severity Index below which a -2.25

 fire may occur

partial_cell_burn If >1, fire always burns the entire cell 1
9

MCFire Model Technical Description

The snowpack (snow) is calculated at each time step by adding the amount of 

snow (eq. 8) and subtracting an estimated snowmelt amount. If the temperature 

is not higher that the parameter no_melt, snowmelt is zero and the new snowpack 

value is just the sum of snow and snowfall. Otherwise:

snowmelt = (tmp[day] – no_melt) × melt_b (9)

snow[day] = snow[day – 1] + snowfall[day] – snowmelt (10)

where snowmelt is the amount of snowmelt in the current day in millimeters (water 

equivalent), tmp[day] is the average temperature of the day in °C, no_melt is the 

temperature threshold below which no snow melts in °C (table 4), melt_b is the 

rate of snowmelt per degree temperature in millimeters per °C (table 4), snow[i] 

is the snowpack on day i in millimeters (water equivalent) from equation 9, and 

snowfall[day] is the amount of snowfall on day day (eq. 8).

Wind

Wind speed is used in the fire rate-of-spread calculation. Average wind speed (ws) 

for each day is interpolated between the monthly average wind speeds, as with daily 

temperatures.

Day Length

Day length is used in the calculation of daily fuel moisture content (fig. 3). Day 

length is calculated as a function of the site latitude and the day of year (Cohen and 

Deeming 1985):

daylit = 24 × [ 1 – 

acos(tan(lat × c1) × tan(c2 × sin((jdate˗c3) × c4)))] (11)

 π

where daylit is the duration of daylight in hours, lat is the site latitude in decimal 

degrees, c1is 0.01745, c2 is 0.41008, c3 is 82, c4 is 0.01745, and jdate is the day of 

year with 1 representing January 1.

The argument to function acos() is truncated to the range [-1..1] so that daylit 

(eq. 11) is constrained to a minimum of 0 hours and a maximum of 24 hours.

Keetch-Byram Drought Index

The Keetch-Byram Drought Index is a measure of moisture in the duff and upper 

soil layers, used in the fire behavior calculations (Keetch and Byram 1968), ranging from 0 for very wet conditions to 800 for very dry conditions. Keetch-Byram 

0

5

10

15

20

25

1 31 61 91 121 151 181 211 241 271 301 331 361

Day length (hours)

Day of year

80°

70°

60°

40°

20°

0°

Latitude
10

GENERAL TECHNICAL REPORT PNW-GTR-926

for any given day depends on its value from the previous day and is initialized to 

zero for the first day of each simulation. MCFire calculates the drought factor and 

Keetch-Byram (in annual increments) as:

factor = 0.001 × [ (800 ˗ kbdiprev )(0.968e0.0486×Tcurr) ˗ 0.830)] (12)

 1 + (10.88e˗0.0441×Pann)

kbdicurr = (kbdiprev ˗ 100 × Padj)+ factor (13)

where factor is the drought factor, kbdiprev is the Keetch-Byram Drought Index 

value for the previous day, Tcurr is the average temperature for the current day 

in °F (with a minimum value of 50), Pann is the average annual precipitation in 

inches, kbdicurr is the Keetch-Byram Drought Index value for the current day, e is 

a mathematical constant approximately equal to 2.71828, and Padj is the adjusted 

precipitation in inches.

Figure 3—Daylight length for each day of the year plotted for six selected latitudes as a function of latitude.

0

5

10

15

20

25

1 31 61 91 121 151 181 211 241 271 301 331 361

Day length (hours)

Day of year

80°

70°

60°

40°

20°

0°

Latitude
11

MCFire Model Technical Description

Adjusted precipitation (Padj) is zero on days without precipitation. On a day 

when fuel is blanketed by snow, Padj is equal to precipitation (Pcurr) on that day. 

When precipitation occurs on consecutive days, Padj is zero and the cumulative 

precipitation is <0.2 inches. On the first day that the cumulative precipitation 

amount is >0.2 inches during the consecutive days of precipitation, Padj is set to 

the cumulative precipitation minus 0.2 inches. In other words, the first 0.2 inches of 

precipitation is disregarded. Thereafter, Padj equals the daily precipitation.

Palmer Drought Severity Index

MCFire uses the Palmer Drought Severity Index (Palmer 1965) to calculate fire 

occurrence. Monthly values are read from an input file. They are used as is and not 

interpolated into daily values.

Section 3. Fuel Load

Because the MC1 biogeochemistry module does not resolve the live and dead 

carbon pools finely enough for fuel loading calculations, MCFire calculates its own 

set of live and dead carbon pools based on the MC1 carbon pools. MCFire simulates four dead-fuel classes—1-hour, 10-hour, 100-hour, and 1000-hour (appendix 

2)—and proportionately allocates the aboveground dead biomass simulated by 

the biogeochemistry module to the dead-fuel classes as a function of the current 

vegetation type (Albini 1976, Anderson 1982). MCFire also simulates two live fuels 

classes—grass biomass and the leaves and twigs of shrubs. Although the MCFire 

code takes the effect of shrub fuels into account, this program logic has no effect 

at present because the biogeochemistry module of MC1 does not distinguish shrub 

biomass pool from other vegetation pools. Therefore, shrub live-fuel pool (wwood) 

is always zero. 

Allometric functions keyed to the different vegetation types are used to simulate the depth of surface fuels and the vertical structure—crown height, length, and 

shape—of the overstory (Keane et al. 1996, Kercher and Axelrod 1984, Means et al. 

1996, Peterson 1985,Weller 1987). 

Dead Fuels

MCFire calculates fuel weight in terms of dry matter. It calculates the total amount 

of dead-fuel weight by summing the various aboveground litter and dead wood 

pools supplied by the biogeochemistry module:

tot_dfuel = mlittr + slittr + dstnd + dwod1 + dwod2 (14)

where tot_dfuel is the total amount of dead-fuel weight (limited to a maximum 

value of 10.0), mlittr is metabolic carbon in litter, slittr is structural carbon in litter, 
12

GENERAL TECHNICAL REPORT PNW-GTR-926

dstnd is standing dead grass, dwod1 is fine dead wood, and dwod2 is coarse dead 

wood—all in grams of dry matter per square meter.

The amounts in the four dead-fuel classes—1˗hour, 10˗hour, 100˗hour and 

1000˗hour—are calculated by multiplying total dead fuel (tot_dfuel) from equation 

14 by four fractions defined for the vegetation type being simulated in the current 

grid cell (table 5).

Table 5—Dead-fuel class proportions (required by the MCFire simulation model) 

and depth ratios for MC1 simulated vegetation; data were synthesized from 

Albini (1976), Anderson (1982), and Andrews (1986)

Dead-fuel class

Vegetation 1-hour 10-hour 100-hour 1000-hour Depth ratioa

Tundra 0.25 0.25 0.25 0.25 0.400

Boreal coniferous forest 0.27 0.20 0.24 0.29 0.042

Maritime temperate 0.20 0.17 0.20 0.43 0.042

 coniferous forest

Continental temperate 0.39 0.28 0.14 0.19 0.042

 coniferous forest

Cool temperate mixed forest 0.37 0.26 0.27 0.10 0.042

Warm temperate subtropical 0.45 0.37 0.16 0.02 0.042

 mixed forest

Temperate deciduous forest 0.62 0.20 0.18 0.00 0.042

Tropical deciduous forest 0.62 0.20 0.18 0.00 0.042

Tropical evergreen forest 0.62 0.20 0.18 0.00 0.042

Temperate mixed 0.57 0.31 0.07 0.05 0.042

 xeromorphic woodland

Temperate conifer 0.61 0.31 0.06 0.02 0.042

 xeromorphic woodland

Tropical thorn woodland 0.70 0.18 0.12 0.00 0.042

Temperate subtropical 0.83 0.07 0.05 0.05 0.400

 deciduous savanna

Warm temperate subtropical 0.70 0.18 0.12 0.00 0.400

 mixed savanna

Temperate conifer savanna 0.78 0.19 0.01 0.02 0.400

Tropical deciduous savanna 0.83 0.07 0.05 0.05 0.400

C3 grasslandsb 0.93 0.05 0.01 0.01 1.000

C4 grasslandsc 0.92 0.07 0.01 0.00 1.000

Mediterranean shrubland 0.49 0.36 0.09 0.06 0.400

Temperate arid shrubland 0.72 0.24 0.02 0.02 0.400

Subtropical arid shrubland 0.75 0.24 0.01 0.00 0.042

Taiga 0.27 0.20 0.24 0.29 0.042

a

 Fuel bed depth (feet) divided by the fuel load (tons of dry matter per acre).

b

 Grasslands adapted to cool seasons.

c

 Grasslands adapted to warm or hot seasons.
13

MCFire Model Technical Description

Depth of the Fuel Bed 

The total fuel-bed biomass is the sum of the dead fuel and the aboveground live 

grass biomass:

tot_ fuel_bed_bio = 0.0044409(lgras + dstnd + dwod1 + dwod2) (15)

where tot_ fuel_bed_bio is the total fuel-bed biomass (limited to a maximum of 10 

500), lgras is aboveground live grass biomass, dstnd is standing dead grass, dwod1 

is fine dead wood, and dwod2 is coarse dead wood—all in grams of dry matter 

per square meter—and 0.0044409 is the conversion factor (from grams per square 

meter to tons per acre).

To calculate the fuel-bed depth, the fuel-bed biomass is multiplied by a load-todepth ratio specific to each vegetation type MC1 simulates (table 5):

fuel_depth = (tot_ fuel_bed_bio × 0.0044409) × depth_ratio × 0.3048 (16)

where fuel_depth is the fuel-bed depth in meters (limited to a maximum of 2), 

tot_ fuel_bed_bio is the total fuel-bed biomass in grams of dry matter per square 

meter (eq. 15), 0.0044409 is the conversion factor (from grams per square meter 

to tons per acre), depth_ratio is the fuel load to depth ratio per vegetation type in 

feet per ton of dry matter per acre, and 0.3048 is the conversion factor (from feet 

to meters).

Live Fuels

Amounts of aboveground grass (lgras), tree leaf (lleaf), and tree wood (lwod1 and 

lwod100) biomass are provided to MCFire by the MC1 biogeochemistry module. 

All aboveground grass biomass is placed in the grass class. For trees, the total 

biomass, leaf biomass, and vegetation type are used to estimate characteristics of 

the stand: number of stems per unit area, diameter at breast height (DBH), height, 

crown length, and bark thickness. Values for DBH, total aboveground tree biomass, 

and vegetation type are then used to estimate the biomass of leaves, branches, bark, 

and stem wood. Height, crown length, and bark thickness are subsequently used 

to simulate the crown fire occurrence (sec. 6) and consumption of biomass by fire. 

Branch biomass is used in the calculations of consumption and emissions (below).

Stand characteristics are calculated following the methods of Weller (1989) and 

the JABOWA model in Botkin et al. (1972a, 1972b). Parameters for these calculations are given in table 6. The calculations for deciduous trees and shrubs use 

parameters for California black oak (Quercus kelloggii); those for evergreens use 

parameters for Douglas-fir (Pseudotsuga menziesii). 
14

GENERAL TECHNICAL REPORT PNW-GTR-926

The estimation of DBH is based on the SILVA model in Kercher and Axelrod 

(1984). The calculation of DBH requires preliminary calculations of tree leaf area 

index and stand closure index: 

tree_lai = lleaf × specific_area (17)

stnd_clos = tree_lai⁄3.75 (18)

where lleaf is the portion of total tree biomass attributed to leaves in grams of dry 

matter per square meter, specific_area is specific leaf area in square meters per 

gram of dry matter, tree_lai is an estimate of tree leaf area index in square meters 

per square meter, and stnd_clos is an index of stand closure (with a maximum of 1).

The tree leaf area index (tree_lai) calculated in equation 17 is used only for 

calculating the stand characteristics of live fuels in this section, and should not be 

confused with other measures of leaf area in other parts of MCFire and MC1. Specific leaf area (specific_area) in equation 15 is parameterized for just two categories 

of vegetation, deciduous and evergreen (table 6)

Once the tree leaf area index and stand closure index are calculated, MCFire 

calculates live tree biomass, stem density, leaf area, and DBH:

ltree = lleaf + lwod1 + lwod100 (19)

stems = ( k )

2

 × stnd_clos (20)

 ltree

Table 6—Parameters used by MCFire for calculating stand characteristics—

live-tree biomass, stem density, leaf area, and diameter at breast height 

(DBH)—for deciduous and evergreen stands

Parameter Description Deciduousa Evergreenb

k Stand thinning constantc 8696 5073 

dbh_max Maximum DBH 349 cm 220 cm

ht_max Maximum tree height 3960 cm 8000 cm

c Constant in DBH equationd 0.451 0.116

d Constant in DBH equationd 1.60 1.89

specific_area Specific leaf area 0.012 m2/g 0.003 m2g

(dry matter) (dry matter)

a

 Model is California black oak.

b

 Model is Douglas-fir.

c

 From Weller (1989).

d

 From Kercher and Axelrod (1984).
15

MCFire Model Technical Description

la = (tree_lai)⁄stems (21)

dbh = (la⁄c)

1/d (22)

where ltree is the live tree biomass, lleaf is leaves of woody vegetation , lwod1 is 

branches of woody vegetation, lwod100 is stems of woody vegetation—all in grams 

of dry matter per square meter; stems is the stem density in stems per square meter; 

k, c, and d are constants (table 6); stnd_clos is the index of stand closure (eq. 18); la

is leaf area in square meters per stem; tree_lai is leaf area index in square meters 

per square meter (eq. 17); and dbh is diameter at breast height in centimeters (table 

6).

DBH (eq. 22) is constrained to be between 0.001 cm and a maximum value 

defined for two types of trees, evergreen and deciduous (table 6). Parameters k in 

equation 20 and parameters c and d in equation 22 are also defined for deciduous or 

evergreen vegetation (table 6). 

MCFire uses DBH (eq. 22) to calculate bark thickness, tree height, and crown 

length, based on equations from the JABOWA model (Botkin et al. 1972a, 1972b):

bark_thick = dbh × thick_ratio (23)

tree_ht = 0.01[137+2(ht_max ˗137)( dbh ) – (ht_max–137)( dbh )

2

] (24) dbh_max 

dbh_max

crown_length = dbh × thick_ratio (25)

where bark_thick is the stem bark thickness in centimeters, thick_ratio and cl_ratio

are constants defined for each plant functional type (table 7), tree_ht is the canopy 

height in meters, ht_max is maximum tree height defined for deciduous or evergreen trees (table 6) in centimeters, dbh is diameter at breast height in centimeters 

(eq. 22), dbh_max is maximum diameter at breast height defined for deciduous or 

evergreen trees (table 6) in centimeters, and crown_length is the crown length in 

meters.

Note that crown length (eq. 25), DBH (eq. 22), and maximum tree height 

(table 6) are expressed in centimeters, but that equation 24 estimates tree height in 

meters. MCFire currently calculates allometry in terms of just two categories of 

trees: evergreen and deciduous trees (fig. 4).

10

20

30

40

50

60

70

80

90

100

Tree height (meters)
16

GENERAL TECHNICAL REPORT PNW-GTR-926

MCFire also uses DBH (eq. 22) to calculate the fraction of aboveground live 

wood biomass in branches, distinct from biomass in stem wood or stem bark. The 

equation for deciduous broadleaf trees and shrubs is based on that for black oak, 

(Q. velutina) (Stanek and State 1978):

btt = 101.00005+[2.10621 × log(dbh_in)] (26)

Table 7—Parameters used by MCFire in calculating crown length and bark 

thickness for MC1-simulated vegetation, taken from Keane et al. (1996)

Bark-thickness Crown-length

Vegetation ratioa ratiob

Tundra 0.022 0.8

Boreal coniferous forest 0.022 0.8

Maritime temperate coniferous forest 0.062 0.7

Continental temperate coniferous forest 0.043 0.5

Cool temperate mixed forest 0.043 0.5

Warm temperate subtropical mixed forest 0.043 0.5

Temperate deciduous forest 0.033 0.4

Tropical deciduous forest 0.033 0.4

Tropical evergreen forest 0.033 0.4

Temperate mixed xeromorphic woodland 0.043 0.5

Temperate conifer xeromorphic woodland 0.062 0.4

Tropical thorn woodland 0.043 0.5

Temperate subtropical deciduous savanna 0.033 0.4

Warm temperate subtropical mixed savanna 0.043 0.5

Temperate conifer savanna 0.062 0.4

Tropical deciduous savanna 0.033 0.4

C3 grasslandsc 0.022 0.8

C4 grasslandsd 0.022 0.8

Mediterranean shrubland 0.043 0.7

Temperate arid shrubland 0.043 0.7

Subtropical arid shrubland 0.043 0.7

Taiga 0.022 0.8

a

 Ratio of stem-bark thickness (centimeters) to stem diameter at breast height (centimeters).

b

 Ratio of crown length (meters) to canopy height (meters).

c

 Grasslands adapted to cool seasons.

d

 Grasslands adapted to warm or hot seasons.
17

MCFire Model Technical Description

bbl = 100.50580+[2.09357 × log(dbh_in)] (27)

branch_ frac = bbl (28)

 bbt

where btt is total aboveground tree biomass in pounds of dry matter per stem, 

dbh_in is diameter at breast height in inches, bbl is branch biomass in pounds of 

dry matter per stem, and branch_ frac is the portion of total aboveground tree 

biomass that is branches.

Figure 4—Tree height as a function of diameter at breast height (DBH) for evergreen and deciduous trees, estimated using the 

MCFire simulation-model equation t0.01[137+2 (ht_max ˗ 137)( dbh

dbh_max) ˗ (ht_max ˗ 137)( dbhdbh_max)

2

] where bark_thick is the stem 

bark thickness in centimeters, thick_ratio and cl_ratio are constants defined for each plant functional type, tree_ht is the canopy 

height in meters, ht_max is maximum tree height defined for deciduous or evergreen trees in centimeters, dbh is diameter at 

breast height in centimeters, dbh_max is maximum diameter at breast height defined for deciduous or evergreen trees in 

centimeters, and crown_length is the crown length in meters. 

0

10

20

30

40

50

60

70

80

90

100

0 50 100 150 200 250 300 350

Tree height (meters)

Diameter at breast height (centimeters)

Evergreen, based 

on Douglas-fir with 

maximum 220 cm dbh 

and 8000 cm height

Deciduous, based on

California black oak

with maximum 3960 cm

dbh and 349 cm height
18

GENERAL TECHNICAL REPORT PNW-GTR-926

The equation to estimate aboveground live wood biomass in branches for evergreen needleleaf trees and shrubs is based on equations for ponderosa pine (Pinus 

ponderosa) (Means et al. 1994):

bbl =e1.5223+[2.7185 × ln(dbh)] (29)

bsw =e2.4171+[2.7587 × ln(dbh)] (30)

bsb =e2.7015+[2.2312 × ln(dbh)] (31)

branch_ frac = bbl (32)

 (bbt+bsw+bsb)

where bbl is branch biomass in grams of dry matter per stem, e is a mathematical 

constant approximately equal to 2.71828, dbh is diameter at breast height in centimeters (eq. 22), bsw is stem wood biomass in grams of dry matter per stem, bsb is 

stem bark biomass in grams of dry matter per stem, and branch_ frac is the fraction 

of total aboveground tree biomass that is branches.

Once branch fraction is calculated, it is combined with the total aboveground 

wood biomass to calculate live fuel in branches and live fuel in stems:

lbranch = lwood × branch_ frac (33)

lstem = lwood ˗ lbranch (34)

where lbranch is the portion of live fuel that is branches in grams of dry matter 

per square meter, lwood is the total aboveground wood biomass in live trees and 

shrubs in grams of dry matter per square meter, branch_ frac is the fraction of total 

aboveground tree biomass that is branches (eqs. 28, 32), and lstem is the live fuel in 

stems in grams of dry matter per square meter.

Live fuel in branches (eq. 33) is used in the calculations of fire consumption and 

emissions. Live fuel in stems (eq. 34) is not used in the calculation of fire consumption and emissions in the current version of MCFire, because sufficient information 

on consumption of live fuel in stems is not available.
19

MCFire Model Technical Description

Section 4. Fuel Moisture

Within MCFire, moisture content of vegetation is defined as a fraction of the dry 

weight of the vegetation:

moisture content = weightwet – weightdry (35)

 weightdry

The moisture content of each live-fuel class is a function of the soil moisture 

content to a specific depth in the profile (Howard 1978). The moisture content of 

each dead-fuel size class is a function of previous weather conditions averaged over 

a period, with the number of day based on size class (Cohen and Deeming 1985). 

Estimating Moisture from Live Fuels

The biogeochemistry module in MC1 calculates a production-limiting factor for 

plants based on the effects of precipitation. This factor (pptprd), which ranges from 

0 to 1 and is calculated for a tree vegetation type and grass vegetation type, essentially represents the ratio of available water to potential evapotranspiration on a 

monthly basis taking into account the different rooting depths of trees and grasses. 

MCFire translates pptprd to a percentage of maximum fuel moisture (fig. 5) following Howard (1978):

pct_of _max = 16.99365 + 84.59560 (36)

 1+e(11.5694-19.2443×pptprd)

where pct_of _max is the percentage of maximum moisture content (limited to a 

maximum of 100), e is a mathematical constant approximately equal to 2.71828, and 

pptprd is the precipitation-based production-limiting factor from MC1.

The percentage of maximum moisture content (eq. 36) has a minimum value of 

16.99365 percent, which should be taken into account when setting the maximum 

moisture content parameters (table 4).

To determine the moisture content of a vegetation type (tree or grass), MCFire 

applies maximum moisture content (eq. 36) to the range of moisture content defined 

by parameters (table 4). For example, the moisture content of trees is calculated as,

moisture_content = mc_tree_min+ (mc_tree_max˗mc_tree_min) × pct_of _max (37) 100

0

20

40

60

80

100

120

0 0.1 0.2 0

Maximum

moisture content (percent)

Precipita
20

GENERAL TECHNICAL REPORT PNW-GTR-926

where moisture_content is the moisture content of tree , mc_tree_min is the 

minimum moisture parameter, mc_tree_max and is the maximum moisture 

parameter (table 4), and pct_of _max is the maximum moisture content (eq. 

36)—all as percentages.

Moisture content of grass is calculated in the same way (eq. 32). Note that 

because moisture content is defined relative to the dry weight of vegetation (eq. 35), 

its value can be >100 percent. Currently MCFire is parameterized to have moisture 

content of live grass range from 30 to 120 percent, and to have moisture content of 

live trees range from 80 to 130 percent (table 4).

The moisture content calculations described above are performed for the entire 

month, and then MCFire interpolates linearly the value for each day in the month 

(mc_tree[day] for trees and mc_grass[day] for grass). The moisture content for the 

last day of the month is set to the monthly value, and the daily values are linearly 

Figure 5—Maximum moisture percentage of live vegetation as a function of the precipitation-based plant production-limiting 

factor (Howard 1978), provided by the biogeochemistry module of MC1, estimated using the MCFire simulation-model equation 

16.99365 + 84.59560

 1+e(11.5694˗19.2443×pptprd) where pptprd is the precipitation-based production-limiting factor; this percentage is used to 

determine the maximum moisture content for trees and grass.

0

20

40

60

80

100

120

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Maximum

moisture content (percent)

Precipitation-based plant production-limiting factor (pptprd)
21

MCFire Model Technical Description

interpolated between the last day of the previous month and the last day of the 

current month.

Estimating the Moisture Content of Dead Fuels

MCFire calculates moisture content (eq. 35) of dead-fuel classes for each day of 

the month. The calculations are done in English units for exact correspondence to 

originally published equations. 

Lower fuel classes—

MCFire calculates the moisture content of 1-hour and 10-hour fuels by calculating 

the minimum moisture content, and multiplying it by constants. To estimate the 

conditions of the air in contact with the fuels in each class (Cohen and Deeming 

1985), MCFire adds 15 °F to adjust air temperature and multiplies by 0.87 to adjust 

humidity. When the (unadjusted) daily minimum temperature is below freezing, 

relative humidity is assumed to be 100 percent (Cohen and Deeming 1985).

Equilibrium moisture content is calculated as a function of the temperature 

and relative humidity (Cohen and Deeming 1985), using a set of equations (fig. 6). 

When relative humidity is <10 percent:

emc = 0.03229 + 0.281073 × rh ˗ 0.000578 × t × rh (38)

when relative humidity is ≥10 percent but <50 percent:

emc = 2.22749 + 0.160107 × rh ˗ 0.014787 × t (39)

and finally, when relative humidity is >50 percent:

emc = 21.06060 +0.005565 × rh2 ˗ 0.00035 × rh × t ˗ 0.483199 × rh (40)

where emc is the equilibrium moisture content as a percentage, rh is the relative 

humidity as a percentage, and t is the air temperature in °F.

For these classes of fuels, the minimum equilibrium moisture content is calculated by using equations 38 through 40 with the adjusted daily maximum temperature and the adjusted minimum daily humidity values. The minimum equilibrium 

moisture content is multiplied by 1.0329 to calculate the moisture content of 1-hour 

fuels, and multiplied by 1.2815 to calculate the moisture content of 10-hour fuels. 

When precipitation occurs or when the unadjusted air temperature is <32 °F (0 °C), 

the moisture content of both fuel types is set to 35 percent.

Higher fuel classes—

To determine the moisture content of 100-hour and 1000-hour fuels, the overall 

approach is to calculate the 24-hour equilibrium moisture content estimates, the 

boundary conditions of moisture content of 100-hour and 1000-hour fuels, and then 

calculate the moisture contents based on those boundary conditions. The 24-hour 

0

5

10

15

20

25

30

0 10 20 30 

Equilibrium

m

oisture content (percent)

R

Airtemperature (°F)

30

50

70

90

110
22

GENERAL TECHNICAL REPORT PNW-GTR-926

equilibrium moisture content is calculated by weighting the maximum moisture 

content by night length and minimum moisture content by day length (Cohen and 

Deeming 1985):

emc_bar = (daylit × emc_min) + (24 – daylit) × emc_max (41)

 24

where emc_bar is the 24-hour equilibrium moisture content as a percentage, daylit 

is the length of daylight in hours (eq. 11), emc_min is the minimum equilibrium 

moisture content as a percentage, and emc_max is the maximum equilibrium 

moisture content as a percentage.

Minimum and maximum equilibrium moisture content values in equation 

41 are calculated using equations 33 through 35. For the minimum equilibrium 

moisture content, the daily maximum air temperature and the minimum relative 

humidity values are used. For the maximum equilibrium moisture content, daily 

minimum air temperature and the maximum relative humidity are used. For both 

Figure 6—Equilibrium moisture content as a function of temperature and relative humidity (Cohen and Deeming 

1985), plotted for five selected temperatures.

0

5

10

15

20

25

30

0 10 20 30 40 50 60 70 80 90 100

Equilibrium

m

oisture content (percent)

Relative humidity (percent)

Airtemperature (°F)

30

50

70

90

110
23

MCFire Model Technical Description

the minimum and the maximum equilibrium moisture content values, the unadjusted air-temperature and relative-humidity values are used, unlike the procedure 

for calculating 1-hour and 10-hour fuel moisture contents.

Boundary conditions of the 100-hour and 1000-hour fuel moisture content 

(Cohen and Deeming 1985) are calculated as a function of the precipitation duration 

for the day and the 24-hour equilibrium moisture content (fig. 7):

bnd = 

(24 ˗ ppt_dur) × emc_bar + ppt_dur × (C1 × ppt_dur + C2) (42)

 24

where bnd is the boundary condition moisture content as a percentage, 

ppt_dur is the daily precipitation duration in hours (eq. 7), emc_bar is the 24-hour 

average equilibrium moisture content as a percentage (eq. 41), C1 is 0.5 for 100-hour 

fuels and 2.7 for 1000-hour fuels, and C2 is 41 for 100-hour fuels and 76 for 1000-

hour fuels.

0

10

20

30

40

50

60

0 5 10 15 20 25 30

Boundary condition (percent)

Equilibrium moisture content (percent)

8 (1000-hr fuels)

4 (1000-hr fuels)

8 (100-hr fuels)

4 (100-hr fuels)

0 (100-hour and 1000-hour fuels)

Precipitation duration (hours)

Figure 7—Boundary conditions for 100-hour and 1000-hour fuel moisture content as a function of 24-hour average equilibrium 

moisture content and precipitation duration; boundary conditions are plotted using the MCFire simulation-model equation 

(24-ppt_dur)×emc_bar+ppt_dur×(C1×ppt_dur+C2 ) 24

 where ppt_dur is the daily precipitation duration in hours, emc_bar is the 24-hour 

average equilibrium moisture content as a percentage, C1 is 0.5 for 100-hour fuels and 2.7 for 1000-hour fuels, and C2 is 41 

for 100-hour fuels and 76 for 1000-hour fuels.
24

GENERAL TECHNICAL REPORT PNW-GTR-926

The 100-hour and 1000-hour fuel moisture content is calculated from corresponding boundary condition and a moisture content value from a prior day (Cohen 

and Deeming 1985):

mc = C × (bnd ˗ ymc) + ymc (43) 

where mc is the fuel moisture content as a percentage (limited to a maximum of 

35), C is 0.315634 for 100-hour fuels and 0.306810 for 1000-hour fuels, bnd is the 

corresponding boundary condition as a percentage (eq. 42), and ymc is a moisture 

content value from a prior day as a percentage.

For the 100-hour fuel class, the moisture content value (ymc) from the previous 

day is used in equation 43. For the 1000-hour fuel class, the moisture content value 

from the past seven days is used, and the corresponding boundary condition value 

is averaged across those seven days.

Section 5. Fire Occurrence

MCFire simulates only one fire occurrence per year for the grid cell being simulated. Rather than explicitly simulating ignition, MCFire assumes that a source 

of ignition is always available when fuel conditions reach thresholds and that fire 

occurs in the month with the lowest 1000-hour fuel moisture content. Within that 

month, it occurs on the first day when all of three conditions are met: 

• Fuels must have been exposed to extended drought and have become sufficiently dry to justify the fire occurrence, as represented by Palmer Drought 

Severity Index (Palmer 1965); the value for the current month (sec. 2) must 

exceed a parameterized threshold (table 4).

• Coarse dead fuels must be dry, as represented by 1000-hour fuel moisture 

content (Fosberg et al. 1981); the 1000-hour fuel moisture content (sec. 4) 

must exceed a parameterized threshold (table 4). 

• Fine dead fuels must be highly flammable, as represented by the fine-fuel 

flammability metric (Cohen and Deeming 1985), with flammability (below) 

exceeding a parameterized threshold (table 4).

MCFire calculates fine-fuel flammability as a function of the heat required to 

produce ignition in the 1-hour fuel class. The heat of ignition of the 1-hour fuel class 

(Cohen and Deeming 1985) is calculated (fig. 8) as:

qign = 144.5 – 0.266t ˗ 0.00058t

2

 – 0.01t ∙ mc + 18.54(1.0 – e-0.151mc) + 6.4mc (44)

where qign is the heat of ignition in joules per gram of dry matter (limited to a 

maximum of 344), t is the adjusted daily maximum temperature in °C (sec. 4), e

is a mathematical constant approximately equal to 2.71828, and mc is the moisture 

content of the 1-hour dead fuels as a percentage (sec. 4).
25

MCFire Model Technical Description

100

150

200

250

300

350

0 5 10 15 20 25 30 35

Heat of ignition (joules per gram)

Moisture content (percent)

0

20

40

Airtemperature (°C)

Before MCFire calculates fine-fuel flammability, it calculates an intermediate 

variable:

chi = (344 – qign) / 10 (45)

where chi is the intermediate variable, and qign is the heat of ignition in joules per 

gram of dry matter (eq. 44).

The fine-fuel flammability (fig. 9) is calculated as a function of the intermediate 

variable:

p_ flamm = (0.0000185 ∙ chi3.6 – 0.00232) / 0.0099767 (46)

where p_ flamm is the fine-fuel flammability as a percentage (limited to the range of 

0 to 100) and chi is the intermediate variable from equation 45.

0

10

20

30

40

50

60

70

80

90

100

0 5 10 15 20 25 30 35

Fine fuel flammability (percent)

Moisture content (percent)

0

20

40

Airtemperature (°C)

Figure 8—Heat of ignition as a function of moisture content for three selected temperatures; heat of ignition 

is plotted using the MCFire simulation-model equation (Cohen and Deeming 1985) 144.5 ˗ 0.266t ˗ 0.00058t

2

˗ 0.01t ∙ mc + 18.54(1.0 - e˗0.151mc) + 6.4mc where, t is the adjusted daily maximum temperature in °C, and mc is 

the moisture content of the 1-hour dead fuels as a percentage.
26

GENERAL TECHNICAL REPORT PNW-GTR-926

Section 6. Fire Behavior

MCFire calculates potential fire behavior based on current weather and estimates of 

the mass, vertical structure, and moisture content of several live- and dead-fuel size 

classes. Figure 10 illustrates the organization of the MCFire algorithm.

Fuel Characteristics

Fuel characteristics are used in nearly all calculations of fire behavior. MCFire 

calculates fuel loads for the day when a fire occurs. The dead-fuel load (wtotd) is 

the sum of the daily values of the 1-, 10-, 100- and 1000-hour dead fuels (pounds 

of dry matter per square foot). Daily values of the dead and live fuels (sec. 3) are 

interpolated from monthly values. Live fuel load (wtotl) is taken as the sum of live 

grass fuel load and live shrub fuel load in pounds per dry matter per square foot 

(sec. 3). Because MC1 does not simulate shrubs, live-fuel load is currently equal to 

the grass fuel load. The total fuel load (wtot) for the day is the sum of the dead and 

live-fuel loads.

Figure 9—Fine-fuel flammability as a function of fine-fuel moisture content for three selected temperatures; fine-fuel flammability is plotted using the MCFire simulation-model equation (0.0000185 ∙ chi3.6 ˗ 0.00232) / 0.0099767 where chi is an 

intermediate variable. 

0

10

20

30

40

50

60

70

80

90

100

0 5 10 15 20 25 30 35

Fine fuel flammability (percent)

Moisture content (percent)

0

20

40

Airtemperature (°C)
27

MCFire Model Technical Description

Climate

Soil moisture

Fuel moisture

Rate of spread Energy release

Fireline inensity Scorch height

Vegetation type Carbon pools

Fuel loading

Mortality Consumption

Burned area

Emissions Black carbon

MC1

MC1

If the Keetch-Byram Drought Index for the day (eq. 13) is >100, an adjustment 

increment is calculated following Burgan (1979, 1988):

tot_incr = (kbdi – 100)(

w1p ) (47)

 700

where tot_incr is the adjustment increment in pounds of dry matter per square foot, 

kbdi is the daily value of the Keetch-Byram Drought Index (eq. 13), and w1p is the 

1-hour dead fuel of the day in pounds of dry matter per square foot.

The adjustment increment (eq. 47) is added to each of the dead-fuel classes (1-, 

10-, 100- and 1000-hour fuels), weighted by the proportion of each class to the total 

dead fuels. The adjusted dead-fuel amounts are used only in fire behavior calculations, and do not affect other parts of MCFire.

Fuel density characteristics are calculated assuming that both live-fuel density 

and dead-fuel density are 32 pounds per cubic foot (Cohen and Deeming 1985):

rhobed = (wtot – w1000)⁄depth (48)

Figure 10—Organization of the MCFire simulation-model algorithm.
28

GENERAL TECHNICAL REPORT PNW-GTR-926

betbar = rhobed/32 (49)

where rhobed is bulk density of the fuel bed in pounds per cubic foot, wtot is the 

total fuel in pounds of dry matter per square foot, w1000 is the 1000-hour dead 

fuel in pounds of dry matter per square foot, depth is effective fuel-bed depth in 

feet, and betbar is the fuel packing ratio. Fuel packing ratio is a measure of fuelbed 

compactness and is defined as the fraction of the fuel array volume that is occupied 

by fuel.

The energy release calculations described below use daily net fuel-load 

amounts for five combustible fuel classes: 1-hour (w1n), 10-hour (w10n), 100-hour 

(w100n), live herbaceous fuels (wherbn), and live woody fuels (wwoodn). Each net 

fuel load amount is calculated by reducing the corresponding daily dead or livefuel loads (w1p, w10p, w100p, wherbp, and wwood) by a noncombustible fraction. 

Currently the noncombustible fraction is simply assumed to be 0.0555 for all fuel 

classes (Cohen and Deeming 1985). The rate-of-spread calculations (below) also use 

net fuel loadings (wdeadn and wliven). However, instead of reducing fuel load by a 

noncombustible fraction for these calculations, MCFire weights the fuel classes in 

proportion to their surface areas.

Mineral-damping coefficients represent the reduction in reaction velocity by 

minerals (Rothermel 1972), and are used in the rate-of-spread calculations and 

energy-release calculations described below. The mineral-damping coefficient of 

live fuels is calculated (Cohen and Deeming 1985) as:

etasl = 0.174 × sl ˗ 0.19 (50)

where etasl is the mineral-damping coefficient of live fuels, and sl is the fraction of 

live fuels made up of silica-free noncombustible materials.

Currently MCFire sets the fraction of live fuels made up of silica-free noncombustible materials (sl) to 0.01. The mineral-damping coefficient of dead fuels 

(etasd) is calculated the same way using equation 50, and the fraction of silica-free 

noncombustible materials for dead fuels is also set to 0.01.

Moisture-of-extinction estimates, to be used in energy release calculations 

(above), require heating-number estimates for fuel classes. The heating number 

is the amount of the fuel that is heated to the ignition temperature at the time that 

flaming combustion starts. A heating number for the 1-hour dead-fuel class is 

calculated (Cohen and Deeming 1985 p. 10) as:

hn1 = w1n × e

˗138

(51) sg1
29

MCFire Model Technical Description

where hn1 is the heating number of the 1-hour dead fuels in pounds of dry matter 

per square foot, w1n is net fuel loading of 1-hour dead fuels in pounds of dry matter 

per square foot, e is a mathematical constant approximately equal to 2.71828, and 

sg1 is the surface-to-volume ratios specific to the vegetation being simulated in 

square meters per cubic meter (table 8).

Heating numbers of 10-hour dead fuels (h10n), 100-hour dead fuels (h100n), live 

herbaceous fuels (hnwood), and wood fuels (hnwood) are calculated the same way, 

using corresponding net fuel loadings and surface-to-volume ratios (table 8).

Table 8—Surface-to-volume ratio of dead and live fuels used in MCFire calculations (fuel 

characteristics, rate of spread, and energy release) for MC1-simulated vegetation

Vegetation Ratio of dead fuels Ratio of live fuels

1-hour 10-hour 100-hour 1000-hour Woody Herbaceous

(sg1) (sg10) (sg100) (sg1000) (sgwood) (sgherb)

- - - - - - - - - - - - - - - - - - - - m2/m3 - - - - - - - - - - - - - - - - - - - - -

Tundra 1959 109 30 8 1462 1950

Boreal coniferous forest 1852 109 30 8 1470 1984

Maritime temperate coniferous forest 1960 109 30 8 1488 2045

Continental temperate coniferous forest 1937 109 30 8 1489 2120

Cool temperate mixed forest 1634 109 30 8 1478 1967

Warm temperate subtropical mixed forest 1670 109 30 8 1499 2012

Temperate deciduous forest 1730 109 30 8 1499 2003

Tropical deciduous forest 1730 109 30 8 1499 2003

Tropical evergreen forest 1730 109 30 8 1499 2003

Temperate mixed xeromorphic woodland 1789 109 30 8 1432 2060

Temperate conifer xeromorphic woodland 2072 109 30 8 1451 2059

Tropical thorn woodland 1906 109 30 8 1442 1909

Temperate subtropical deciduous savanna 1906 109 30 8 1442 1909

Warm temperate subtropical mixed savanna 1433 109 30 8 1386 2000

Temperate conifer savanna 2232 109 30 8 1500 2023

Tropical deciduous savanna 1906 109 30 8 1442 1909

C3 grasslandsa 2020 109 30 8 1498 2021

C4 grasslandsb 2040 109 30 8 1495 2003

Mediterranean shrubland 1673 109 30 8 1409 2057

Temperate arid shrubland 2326 109 30 8 1497 1978

Subtropical arid shrubland 2425 109 30 8 1488 1750

Taiga 1852 109 30 8 1470 1984

a

 Grasslands adapted to cool seasons.

b

 Grasslands adapted to warm or hot seasons.
30

GENERAL TECHNICAL REPORT PNW-GTR-926

Moisture-of-extinction estimates also require the ratio of dead-to-live fuel 

heating numbers (Cohen and Deeming 1985):

wrat = hn1 + hn10 + hn100 (52)

 hnherb + hnwood

where wrat is the ratio of dead-to-live heating numbers; hn1 is the heating number 

of the 1-hour dead-fuel class, hn10 is the heating number of the 10-hour dead-fuel 

class, and hn100 is the heating number of the 100-hour dead-fuel class—all in 

pounds of dry matter per square foot (eq. 51); hnher is the heating number of the 

live herbaceous fuel class, and hnwood is the heating number of the live wood fuel 

class, both in pounds of dry matter per square foot.

Moisture extinction for dead fuels is parameterized for each kind of vegetation that MC1 simulates (table 9). Live-fuel moisture of extinction depends on the 

moisture content of the dead fuels as well as on the heating numbers (Cohen and 

Deeming 1985):

mclfe = 

mc_1 × hn1 + mc_10 × hn10 + mc_100 × hn100 (53)

 hn1 + hn10 + hn100

mxl = 2.9 wrat (1 – mclfe) ˗ 0.226 (54)

 mxd

where mclfe is the weighted dead-fuel moisture content; mc_1 is the moisture content of 1-hour dead fuels, mc_10 is the moisture content of 10-hour dead fuels, and 

mc_100 is the moisture contents of 100-hour dead fuels—all as percentages; hn1is 

the heating number of 1-hour dead fuels, hn10 is the heating number of 10-hour 

dead fuels, and hn100 is the heating number of 100-hour dead fuels—all in pounds 

of dry matter per square foot (eq. 51); wrat is the ratio of dead-to-live fuel heating 

numbers (eq. 52); mxd is the moisture of extinction for dead fuels (table 9), and mxl

is the moisture of extinction for live fuels, set to be no less than mxd.

Rate of Spread

Rate of spread is used to calculate the depth of the flaming zone (below), which 

in turn affects scorch-height and crown-kill calculations. Rate of spread is a function of fuel characteristics, topography, and wind (Cohen and Deeming 1985). The 

1000-hour fuels class is not included in the rate of spread calculations because it has 

a relatively low surface-to-volume ratio. The rate of spread is calculated as:

ros = 

ir × zeta × (1 + phislp + phiwnd) (55)

 htsink
31

MCFire Model Technical Description

Table 9—Fuel characteristics used in calculations by the MCFire model 

simulations for MC1-simulated vegetation—combustion for live and dead fuels, 

used for rate-of-spread and energy release calculations; moisture of extinction, 

used for fuel characteristics calculations; and wind-reduction factor, used for 

rate-of-spread calculations

Moisture of WindHeat of combustion extinction of reduction

Live fuels Dead fuels dead fuels factor

Vegetation (hl) (hd) (mxd) (wndfac)

- - BTUs per pound - - Percent

Tundra 8001 8001 30 0.5

Boreal coniferous forest 8039 8039 30 0.4

Maritime temperate 8068 8068 23 0.4

 coniferous forest

Continental temperate 8053 8053 21 0.5

 coniferous forest

Cool temperate mixed forest 8026 8026 30 0.4

Warm temperate subtropical 8210 8210 30 0.4

 mixed forest

Temperate deciduous forest 8006 8006 30 0.5

Tropical deciduous forest 8006 8006 30 0.5

Tropical evergreen forest 8006 8006 30 0.5

Temperate mixed 8406 8406 16 0.5

 xeromorphic woodland

Temperate conifer 8293 8293 16 0.6

 xeromorphic woodland

Tropical thorn woodland 8016 8016 17 0.6

Temperate subtropical 8016 8016 17 0.6

 deciduous savanna

Warm temperate subtropical 8680 8680 15 0.6

 mixed savanna

Temperate conifer savanna 8001 8001 16 0.6

Tropical deciduous savanna 8016 8016 17 0.6

C3 grasslandsa 8014 8014 16 0.6

C4 grasslandsb 8028 8028 15 0.6

Mediterranean shrubland 8547 8547 17 0.5

Temperate arid shrubland 8020 8020 16 0.6

Subtropical arid shrubland 8072 8072 15 0.6

Taiga 8039 8039 30 0.4

a

 Grasslands adapted to cool seasons.

b

 Grasslands adapted to warm or hot seasons.
32

GENERAL TECHNICAL REPORT PNW-GTR-926

where ros is the rate of spread in feet per minute, ir is the reaction intensity in 

BTUs per square foot per minute, zeta is the no-wind propagating flux ratio, 

phislp is the slope effect multiplier coefficient, phiwnd is the wind effect multiplier, and htsink is the heat sink in BTUs per cubic foot of fuel—all described in 

the sections below.

Reaction intensity—

Reaction intensity is the heat release rate per unit area of the fire front (Rothermel 

1972). It is calculated as a sum of the reaction intensity of dead-fuel classes (except 

for the 1000-hour dead fuels) and the live-fuel classes. Reaction intensity for dead 

fuels is:

ir = gmaop × [(wdeadn × hd × etasd × etamd) + (wliven × hl × etasl × etaml)] (56)

where ir is the reaction intensity in BTUs per cubic foot per minute; gmaop is the 

optimum reaction velocity (eq. 58) per minute (Rothermel 1972); wdeadn is the 

surface-area weighted dead-fuel density and wliven is the surface-area weighted 

live-fuel density—both in pounds of fuel per square foot; hd and is the heat of combustion of dead fuels and hl is the heat of combustion of live fuels—both in BTUs 

per pound (table 9); etasd is the mineral-damping coefficient of dead fuels and etasl

is the mineral damping coefficient of live fuels (eq. 50); etamd is the moisturedamping coefficient of live fuels; and etaml is the moisture-damping coefficient of 

dead fuels.

The optimum reaction velocity in equation 56 is calculated after the maximum 

reaction velocity is calculated (fig. 11), following Cohen and Deeming (1985):

gmamx = sgbrt1.5(57)

 495 + 0.0594 × sgbrt1.5

where gmamx is the maximum reaction velocity per minute, and sgbrt is the characteristic surface-to-volume ratio of the fuel in square meters per cubic meter.

The characteristic surface-to-volume ratio of the fuels (sgbrt) in equation 19 is 

calculated taking a sum of the characteristic surface-to-volume ratio of dead fuels 

(sgbrd) and live fuels (sgbrl) weighted by their respective fraction of the total surface area of fuels. The two component characteristic surface-to-volume ratios are 

calculated in an analogous way: for dead fuels (sgbrd) by computing the sum of the 

surface-to-volume ratios of the 1-, 10- and 100-hour fuels (table 8) weighted by their 

respective fraction of the total surface area of dead fuels; and for live fuels (sgbrl) 

by computing the sum of the surface-to-volume ratios of the two live-fuel classes 

(table 8) weighted by their respective fraction of the total surface area of live fuels.
33

MCFire Model Technical Description

0

5

10

15

20

0 500 1000 1500 2000 2500

Maximum reaction velocity per minute

Surface to volume ratio (square meters per cubic meter)

Reaction velocity is ratio of the reaction zone efficiency (unitless) to the 

reaction time per minute (Rothermel 1972). Once the maximum reaction velocity 

(eq. 57) has been calculated, it is used to calculate optimum reaction velocity 

(figs. 12, 13):

gmaop = gmamx × pr_ frac133(sgbr˗0.7913) × e(1 – pr_ frac) ∙ 133 ∙ (sgbr˗0.7913) (58)

where gmaop is the optimal reaction velocity in per minute, gmamx is the maximum reaction velocity per minute (eq. 57), e is a mathematical constant approximately equal to 2.71828, pr_ frac is the ratio of actual-to-optimal fuel packing, and 

sgbrt is the characteristic surface-to-volume ratio in square meters per cubic meter.

To calculate the ratio of actual-to-optimal packing (pr_ frac), the optimal packing ratio (fig. 14) must be calculated first:

betop = 3.348 × sgbrt˗0.8189 (59)

where betop is the optimal packing ratio and sgbrt is the characteristic surface-tovolume ratio in square meters per cubic meter.

0

2

4

6

8

10

12

14

16

18

0 500 1000 1500 2000 2500

Optimum reaction velocity per minute

Surface to volume ratio (square meters per cubic meter)

0.9

0.7

0.5

0.3

0.1

Actual-to-optimal 

packing ratio

0

2

4

6

8

10

12

14

16

18

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Optimum reaction velocity per minute

Ratio of actual to optimal fuel packing (unitless)

2500

2000

1500

1000

500

100

Surface-to-volume 

ratio (square meters 

per cubic meter)

0

0.05

0.10

0.15

0.20

0.25

0 500 1000 1500 2000 2500

Optimal packing ratio

Surface to volume ratio (square meters to cubic meters)

Figure 11—Maximum reaction velocity as a function of the surface-to-volume ratio.
34

GENERAL TECHNICAL REPORT PNW-GTR-926

Figure 12—Optimum reaction velocity for selected values of ratio of actual-to-optimum packing as a 

function of surface-to-volume ratio of fuels. 

Figure 13—Optimum reaction velocity for selected values of surface-to-volume ratios as a function of 

ratio of actual-to-optimum packing of fuels. 

0

2

4

6

8

10

12

14

16

18

0 500 1000 1500 2000 2500

O

ptimum reaction velocity

per minute

Surface to volume ratio (square meters per cubic meter)

0.9

0.7

0.5

0.3

0.1

Actual-to-optimal 

packing ratio

0

2

4

6

8

10

12

14

16

18

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

O

ptimum reaction velocity

per minute

Ratio of actual to optimal fuel packing (unitless)

2500

2000

1500

1000

500

100

Surface-to-volume 

ratio (square meters 

per cubic meter)
35

MCFire Model Technical Description

The ratio of actual-to-optimal packing is then a simple ratio:

pr_ frac = betbar (60)

 betop

where pr_ frac is the ratio of actual-to-optimal packing, betbar is the actual packing 

ratio (eq. 49), and betop is the optimal packing ratio (eq. 59).

To determine the surface-area weighted fuel densities of dead fuels (wdeadn) 

and live fuels used in equation 50 (wliven), MCFire first estimates the surface area 

of each fuel class under consideration. To do so, MCFire first divides the weight of 

each fuel class by a packing ratio for dead fuels (rhod) and a packing ratio for live 

fuels (rhol)—both assumed to be 32 pounds per cubic foot—and then multiplies the 

result by the surface-to-volume ratio for the fuel (table 8). Then the net fuel loading 

values of the three dead-fuel classes—w1n, w10, or w100 (above)—are weighted 

by the proportion of the surface area of each fuel class to the sum of all surface 

area of the dead fuels to determine the surface-area weighted fuel density of dead 

fuels (wdeadn). Similarly, the net fuel-loading values of the two live-fuel classes—

wherbn and wwoodn (above)—are weighted by the proportion of the surface area 

of each fuel class to the sum of all surface area of the live fuels to determining the 

surface-area weighted fuel density of live fuels (wliven).

Figure 14—Optimum packing ratio as a function of surface-to-volume ratio of fine fuels.

0

0.05

0.10

0.15

0.20

0.25

0 500 1000 1500 2000 2500

Optimal packing ratio

Surface to volume ratio (square meters to cubic meters)
36

GENERAL TECHNICAL REPORT PNW-GTR-926

The heat-of-combustion rates of the dead fuels (hd) and live fuels (hl) used in 

equation 56 are set as parameters for each kind of vegetation simulated by MC1 

(table 9).

The calculation of mineral-damping coefficients for dead (etasd) and live (etasl) 

fuels used in equation 56 is described above.

The moisture-damping coefficients used in equation 56 (etamd and etaml) 

represent the reduction in reaction velocity by fuel moisture (Rothermel 1972). The 

moisture-damping coefficient of dead fuels (fig. 15) is:

etamd = 1 – 2.59 dedrt + 5.11 dedrt2 – 3.52 dedrt3 (61)

where etamd is the moisture damping coefficient of dead fuels, and dedrt is the 

fraction of the moisture of extinction in dead fuels represented by the actual 

moisture content.

The fraction of the moisture of extinction represented by the actual moisture 

content of dead fuels (dedrt) in equation 61 is determined by calculating the ratio 

of the surface-area weighted sum of 1-hour, 10-hour, and 100-hour fuel moisture to 

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Moisture damping coefficient

Fraction of moisture of extinction represented by actual moisture content

Rate of spread

Energy release

Figure 15—Moisture-damping coefficient as a function of the fraction of the moisture of extinction in 

fuels represented by the actual moisture content, using different calculations or rate of spread and for 

energy release (Cohen and Deeming 1985): for rate of spread, the MCFire simulation-model equation used 

is 1 ˗ 2.59 dedrt + 5.11 dedrt2 ˗ 3.52 dedrt3 where dedrt is the fraction of the moisture of extinction in dead 

fuels represented by the actual moisture content; for energy release, the same equation is used, but with 

substitutions (˗2.0 for ˗2.59, 1.5 for 5.11, and ˗0.5 for ˗3.52).
37

MCFire Model Technical Description

the moisture of extinction (mxd) for the vegetation being simulated. Moisture-ofextinction (mxd) values are specified as parameters (table 9). The moisture-damping 

coefficient (etaml) of live fuels (fig. 15) is calculated in a similar way, using 

equation 61, with one difference: for live fuels, the moisture fraction does not use 

the parameterized moisture of extinction (mxd) values. Instead, the surface-area 

weighted sum of the two live-fuel classes is divided by the moisture of extinction of 

live fuels (eqs. 51 to 54), which is calculated daily.

No-wind propagation flux ratio—

The no-wind propagating flux ratio represents the amount of heat available to 

propagate to new fuels, and is calculated as (Cohen and Deeming 1985):

zeta = e(0.792 + 0.681√sgbrt)(betbar + 0.1)(62)

 192 + 0.2595 sgbrt

where zeta is the no-wind propagating flux ratio, sgbrt is the characteristic surfaceto-volume ratio for the five fuel classes under consideration in square meters per 

cubic meter, and betbar is the actual packing ratio (eq. 49). 

Slope-effect multiplier—

The slope-effect multiplier is calculated (Cohen and Deeming 1985) as:

phislp = slpfct × betbar (63)

where phislp is the slope effect multiplier; betbar is the actual packing ratio (eq. 49); 

and slpfct is the slope-effect multiplier coefficient: 0.267 when slope is ≤25 percent, 

0.533 when slope is >25 percent but ≤40 percent, 1.068 when slope is >40 percent 

but ≤55 percent, 2.134 when slope is >55 percent but ≤75 percent, and 4.273 when 

slope is >75 percent. 

Wind-effect multiplier—

The wind-effect multiplier is calculated in one of two ways (Cohen and Deeming 

1985 p. 11). MCFire first tests whether:

ws × 88.0 × wndfact ≤ ir (64)

where ws is the average windspeed in miles per hour, wndfac is the fuel model 

wind-reduction factor (table 9), and ir is the reaction intensity (eq. 56) in BTUs per 

square foot per minute.

For relatively low wind speeds, when reaction intensity is larger as in equation 

64, the wind effect multiplier is calculated in the following steps:

b_eff = 0.02526 × sgbrt0.54 (65)

c_var = 7.47 × e˗0.133sgbrt0.55(66)
38

GENERAL TECHNICAL REPORT PNW-GTR-926

e_eff = 0.715 × e˗0.000359sgbrt (67)

ufact = c_var × pr_ frac˗e_eff (68)

phiwnd = ufact × (ws × 88 × wndfac)

(b_eff) (69)

where b_eff, c_var, e_eff and ufact are intermediate variables, sgbrt is the characteristic surface-to-volume ratio for the five fuel classes under consideration in 

square meters per cubic meter, pr_ frac is the ratio of actual-to-optimal packing (eq. 

60), ws is wind speed in miles per hour, wndfac is the wind reduction factor for the 

vegetation being simulated (table 9), and phiwnd is the wind-effect multiplier.

When wind speeds are higher, resulting in the balance shifting away from reaction intensity in equation 64, the wind effect multiplier is calculated as a function of 

reaction intensity:

phiwnd = ufact × (0.9 × ir)

b_eff (70)

where phiwnd is the wind effect multiplier, ufact and b_eff are the same intermediate variables as above (eqs. 68, 65), and ir is the reaction intensity in BTUs per 

square foot per minute (eq. 56).

Heat sink—

Heat sink is the product of the fuel-bed bulk density and a surface-area weighted 

average of the moisture-content dependent terms for each fuel class (Cohen and 

Deeming 1985):

htsink = rhobed ∑fuels sa(250 + 1116 mc) e-138⁄sg(71)

 

satot

where htsink is the size of the heat sink in BTUs per cubic foot; rhobed is the 

fuel-bed bulk density in pounds of fuel per cubic foot (eq. 48); fuels are the 1-hour, 

10-hour, 100-hour dead fuels and the herbaceous and woody live-fuel classes; sa

is the surface area of the fuel class (sa1, sa10, sa100, saherb, or sawood) in square 

feet per square foot; mc is the fractional moisture content of the fuel class (mc_1, 

mc_10, mc_100, mc_grass, or mc_tree) as a percentage; e is a mathematical constant 

approximately equal to 2.71828; sg is the surface-to-volume ratio of the fuel class in 

square meters per cubic meter (table 8); and satot is the total surface area of all the 

fuels in square feet per square foot.
39

MCFire Model Technical Description

Energy Release

Energy release is a principal component in the calculation of fire-line intensity and 

the energy-release component (below). Many calculations in this section are analogous to those done for the rate of spread (above), with two important differences: 

(1) the 1000-hour dead fuels are included in reaction intensity calculations; and (2) 

when calculating the combined characteristic surface-to-volume ratio, the values 

from the fuel classes are weighted by their mass, rather than by their volume.

Reaction intensity for energy release is calculated as a weighted average of the 

reaction intensities for the dead and live fuels. The weightings are the fractions 

calculated by dividing each of the two fuel types—dead and live—by total fuel 

(Cohen and Deeming 1985):

ire = gmaope × [(fdeade × wdedne × hd × etasd × etamde) (72)

+ (flivee × wlivene × hl × etasl × etamle)]

where ire is the reaction intensity for energy release in BTUs per square foot per 

minute; gmaope is the weighted optimum reaction velocity of loading (described 

below) per minute; fdeade is the ratio of dead-fuel weight (wtotd) to all fuel weight 

(wtot); flivee is the ratio of live-fuel weight (wtotl) to all fuel weight (wtot); wdedne

is dead-fuel weight minus the noncombustible fraction (assumed to be 0.0555 

for both fuels) and wlivne is live-fuel weight minus the noncombustible fraction 

(assumed to be 0.0555 for both fuels)—both in pounds of dry matter per square 

foot; hdis the heat of combustion of the dead fuels and hl is the heat of combustion of the live fuels—both in BTUs per pound (table 9); etasdetasl is the mineral 

damping coefficient for dead fuels and etasl is the mineral damping coefficient for 

live fuels (eq. 50); and etamde is the energy release moisture damping coefficient 

for dead fuels and etamle is the energy release moisture damping coefficient for live 

fuels, described below.

The optimum reaction velocity (figs. 12, 13) is calculated the same way as the 

optimum reaction velocity (eq. 58) for rate of spread (above), with two small differences: (1) the 1000-hour dead-fuel class is included in all fuel-related calculations, 

and (2) the characteristic surface-to-volume ratio is calculated as a mass-weighted 

average—not a volume-weighted average—of the surface-to-volume ratios of the 

component fuel classes.

The energy release moisture damping coefficients for dead fuels and live fuels 

(fig. 15) are calculated as they were calculated for rate of spread (above) using equation 61, but the coefficients -2.59, 5.11 and -3.52 are replaced with -2.0, 1.5, and -0.5 

(Cohen and Deeming 1985). As noted above, the 1000-hour fuel class is included in 

the calculation.
40

GENERAL TECHNICAL REPORT PNW-GTR-926

Fireline Intensity and Lethal Scorch Height

Fireline intensity is used to determine the occurrence of crown fire (below), and 

lethal scorch height is used to simulate crown kill in the absence of a crown fire 

(sec. 7). All equations are from Cohen and Deeming (1985), except where noted. To 

calculate fireline intensity, residence time of the flaming front is first calculated as:

tau = 384 (73)

 sgbrt

where tau is the residence time of flaming front in minutes, and sgbrt is the characteristic surface-to-volume ratio for all fuels in square meters per cubic meter.

Then depth of the flaming zone is calculated as:

fd = ros × tau (74)

where fd is the depth of the flaming zone in feet, ros is the rate of spread in 

feet per minute (eq. 55), and tau is the residence time of flaming front in minutes 

(eq. 73).

Finally, fireline intensity is calculated as:

	 fi = ire × fd (75)

 60

where fi is the fireline intensity in BTUs per foot per second, ire is reaction intensity 

in BTUs per square foot per minute (eq. 72), and fd is depth of the flaming zone in 

feet (eq. 74).

Given fireline intensity, lethal scorch height can be calculated following Van 

Wagner (1973) as:

sh = 

63 × fi7⁄6

(76)

 158˗tmp √fi + ws3

where sh is the lethal scorch height in feet, tmp is the daily average air temperature 

in °F, fi is the fireline intensity in BTUs per foot per second (eq. 75), and ws is the 

wind speed in miles per hour.

Crown Fire

MCFire simulates a crown fire when fireline intensity (eq. 75)—converted from 

BTUs per second per foot to kilowatts per meter using a conversion factor of 

0.288895—exceeds a threshold value (Van Wagner 1977). First, the estimated heat 

of canopy ignition is calculated as:

h = 460 + 26 × mc_tree (77)

where h is the estimated heat of canopy ignition in kilojoules per kilogram, and 

mc_tree is the daily tree-moisture content as a percentage (sec. 4).
41

MCFire Model Technical Description

Then the crown fire threshold is calculated as:

fli_crit = (0.010 × z × h)

1.5 (78)

where fli_crit is the threshold for crown fire in kilowatts per meter, z is height of 

the bottom of the crown in meters calculated as the difference between tree height 

(eq. 24) and crown length (eq. 25), and h is the estimated heat of canopy ignition in 

kilojoules per kilogram (eq. 77).

Section 7. Fire Effects

Whenever a fire occurs, MCFire can estimate its effects on vegetation and the 

effects of its emissions on the environment using fuel characteristics and fire 

behavior metrics. Figure 10 illustrates the organization of algorithm by which 

MCFire simulates fire behavior from fuel loading and moisture, which in turn drive 

mortality and consumption of fuels (Peterson and Ryan 1986, Ryan and Reinhardt 

1988). Consumption is partitioned into two distinct types, flaming and smoldering; 

each type is linked to gaseous and particulate fire emissions using emission models 

and rates from CONSUME 3.0 (Prichard et al. 2007). Fire-induced fluxes of carbon 

are calculated on a per-unit area basis. MCFire also calculates black-carbon production as a separate process from emissions, following Kuhlbusch and Crutzen (1995). 

Finally, MCFire calculates the fraction of the grid cell area burned, used to prorate 

the estimated fire effects before values are passed back to MC1.

Crown Kill

When a crown fire occurs (sec. 6), MCFire assumes that all of the leaves and 

branches are consumed, that the stems and roots are killed without being consumed 

(table 10), and that 90 percent of live aboveground grass is consumed.

Absent a crown fire, MCFire estimates partial crown kill by comparing the 

lethal scorch height (eq. 76) with the tree height and crown height. The crown 

height is the height of the bottom of the canopy, calculated by subtracting the tree 

height (eq. 24) from the crown length (eq. 25). MCFire assigns a one to the crownkill fraction if the lethal scorch height exceeds the tree height, and a zero if it fails 

to reach the bottom of the canopy. If it is between tree height and crown height, 

crown-kill fraction (Peterson and Ryan 1986) is estimated (fig. 16) as:

ck = 1 – (ht ˗ hk)

2

(79)

 cl

where ck is the fraction of crown volume killed, ht is the tree height in meters (eq. 

24); hk is the lethal scorch height in meters, converted from sh, the lethal scorch 

height calculated in feet (eq. 76); cl is the crown length in meters (eq. 25); and 

(

ht ˗ hk

cl )2

 represents the square of the unscorched fraction of the crown.

0.5

0.6

0.7

0.8

0.9

1.0

n kill fraction
42

GENERAL TECHNICAL REPORT PNW-GTR-926

Table 10—Fire effects on live biomass pools simulated by the MCFire model 

under three kinds of fire events: crown fire, tree mortality without crown fire, 

and fire with partial mortality

Fire event Biomass pool Consumed Killed 

 Percent

Crown fire Aboveground grass 90 —

Tree leaves 100 0

Tree branches 100 0

Tree stems — 100

Roots — 100

Mortality but no crown fire Aboveground grass 90 —

Tree leaves 0 100

Tree branches 0 100

Tree stems — 100

Roots — 100

Partial mortalitya Aboveground grass 90 —

Tree leaves 0 ck × 100

Tree branches 0 ck × 100

Tree stems — ck × 100

Roots — ck × 100

— = No results because MCFire does not estimate percent killed for aboveground grass, tree stems, or tree roots.

a

 When there is mortality is incomplete, MCFire uses crown kill fraction (eq. 79) to estimate percent killed: ck= 

1 - ((ht - hk)/cl)

2 where ck is the fraction of crown volume killed; ht is the tree height in meters (eq. 24); hk is the 

lethal scorch height in meters, converted from sh, the lethal scorch height in feet (eq. 76); cl is the crown length 

in meters (eq. 25); and ((ht - hk)/cl)

2

 represents the square of the unscorched fraction of the crown.

Figure 16—Crown-kill fraction (the proportion of crown volume killed by fire) as a function of the 

unscorched fraction of the crown length (tree height minus scorch height divided by the crown length).

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Crown kill fraction

Unscorched fraction of crown
43

MCFire Model Technical Description

Tree Mortality

When a crown fire occurs, MCFire assumes that all woody vegetation is killed 

(table 10). Absent a crown fire, MCFire estimates the probability that trees are 

killed (fig. 17) based on their bark thickness and the fraction crown kill fraction:

prob_mort = 1 × 100 (80)

 1+e˗1.466 + 1.910bt ˗ 0.1775bt2 ˗ 5.4ck2

where prob_mort is the probability that the trees are killed as a percentage, 

bt is bark thickness (eq. 23) in centimeters (limited to a maximum of 5), e is a 

mathematical constant approximately equal to 2.71828, e is a mathematical constant 

approximately equal to 2.71828, and ck is the crown kill fraction (eq. 79).

If the probability of mortality (eq. 80) exceeds a parameterized threshold, all 

trees in the grid cell are considered to be killed. Currently MC1 uses the threshold 

value for testing fine-fuel flammability (prob_thres in sec. 5 and table 4) and 

assumes that all the trees will survive the fire if the probability of mortality (prob_

mort) does not exceed the threshold.

0

10

20

30

40

50

60

70

80

90

100

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Probability of mortality (percent)

Crown kill fraction

0

1

2

3

4

5

Bark thickness

(centimeters)

Figure 17—Probability of tree mortality for selected bark thicknesses as a function of crown-kill 

fraction; probability of tree mortality is plotted using the MCFire simulation-model equation 

1 × 100 where bt is bark thickness (eq. 23) in centimeters (limited to a 1+e˗1.466+1.910bt˗0.1775bt2˗5.4ck2

maximum of 5) and ck is the crown kill fraction (the proportion of crown volume killed by fire); the 

probability of mortality is high for all crown kill fractions when bark thickness is very low, but it is 

low when bark thickness is high.
44

GENERAL TECHNICAL REPORT PNW-GTR-926

Biomass Consumption and Partial Mortality

MCFire calculates fire effects for five live biomass pools (aboveground live-grass 

biomass, live-tree leaves, live-tree branches, live-tree stems, and live roots) and 

four dead biomass pools (1-hour, 10-hour, 100-hour and 1000-hour fuels). In every 

fire event, MCFire estimates that 90 percent of aboveground live grass biomass is 

consumed. For each of the other biomass pools, MCFire calculates the percentage 

consumed (consumed) and percentage killed (killed), depending on which of these 

three fire events has occurred (table 10): 

1. When a crown fire occurs (above), all live tree leaves and live tree branches 

are consumed, and live tree stems and live roots are marked as killed. 

2. When tree mortality occurs without a crown fire (above), all live tree biomass pools and the live roots pool are marked as killed. 

3. In all other situations, mortality is considered incomplete and all live-tree 

biomass pools and the live-roots pool are marked as having the same percentage killed as the crown-kill fraction (eq. 79).

After the biomass consumption has been calculated as percentages, MCFire 

applies the percentages to live grass pools (lgrass), live-tree leaf pools (lleaf), and 

live-tree branch pools (lbranch) to calculate consumption amounts as weight (tons 

of dry matter per acre). The consumed weights are used in the emissions calculations (below).

Estimates of the proportions of the dead-fuel pools that are consumed are based 

on equations in CONSUME version 3.0 (Prichard et al. 2007). The amounts of 

1-hour, 10-hour, and 100-hour dead fuels consumed are estimated as:

c_1hr = 0.9 × d1 (81)

c_10hr = ˗0.048132 + 0.917393 × d10 (82)

c_100hr = ˗0.124649 + 0.869309 × d100 – 0.004804 × mc_duff (83)

where c_1hr is the amount of 1-hour dead fuels consumed, c_10hr is the amount of 

10- hour dead fuels consumed, and c_100hr is the amount of 100-hour dead fuels 

consumed—all in tons of dry matter per acre; d1 is the daily amount of 1-hour 

dead fuels, d10 is the daily amount of 10-hour dead fuels, and d100 is the daily 

amount of 100-hour dead fuels—all in tons of dry matter per acre (sec. 3); and 

mc_duff is an estimate of the moisture content of the duff as a percentage, set to 

the precipitation-based production coefficient (pptprd) for grass from the MC1 

biogeochemistry module.
45

MCFire Model Technical Description

To estimate the amount of the 1000-hour dead fuels consumed, reduction in 

diameter is first estimated. When the moisture content of the duff (mc_duff) 

is ≤70 percent:

dia_reduc = ˗1.465442 + 0.466083 × preburn_dia ˗ 0.014756 × mc_duff (84)

When moisture content is >70 percent:

dia_reduc = 0.5779 × e˗0.03(mc_duff ˗ 70) (85)

where dia_reduc is the reduction in the diameter of the large coarse wood in inches, 

preburn_dia is preburn fuel diameter set to 6.6 inches (Ottmar 1998, Peterson and 

Ottmar 1991), e is a mathematical constant approximately equal to 2.71828, and 

mc_duff is an estimate of the moisture content of the duff as a percentage, set to the 

precipitation-based production coefficient (pptprd) for grass from the MC1 biogeochemistry module.

The fractional reduction in volume is calculated from the diameter reduction, 

and used to estimate the amount of the 1000-hour dead-fuel class consumed:

vol_reduc = 1 – ( QMD – dia_reduc )

2

(86)

 QMD

c_1000hr = vol_reduc × d1000 (87)

where vol_reduc is the fractional reduction in volume of the 1000-hour dead fuel, 

QMD is the quadratic average diameter of fuels set to 6.6 inches (Ottmar 1998, 

Peterson and Ottmar 1991), dia_reduc is the reduction in the diameter of the large 

coarse wood in inches (eqs. 84, 85), c_1000hr is the amount of 1000-hour fuel 

consumed in tons of dry matter per acre, and d1000 is the amount of 1000-hour fuel 

on the current day in tons of dry matter per acre.

Emissions

After MCFire calculates the total amount of fuel consumed by flaming combustion 

and the total amount consumed by smoldering combustion, emissions are calculated 

for each total. The equations used in this section are based on the CONSUME version 3.0 (Prichard et al. 2007).

Flaming versus smoldering combustion—

MCFire assumes that all fine fuels are consumed by flaming combustion: live grass 

(lgrass), leaves of woody vegetation (lleaf), branches of woody vegetation (lbranch), 

1-hour (d1) dead fuels, and 10-hour dead fuels (d10). 
46

GENERAL TECHNICAL REPORT PNW-GTR-926

For the 100-hour fuels, the flaming portion of combustion is first calculated (fig. 

18). The equation for flaming portion of combustion given in CONSUME 3.0 user 

guide (Prichard et al. 2007) has been adjusted to correct an error and simplified to:

f_ portion= 1 ˗ e˗(0.216169 c_100hr)2.26 (88)

where f_ portion is the flaming portion of combustion, e is a mathematical constant 

approximately equal to 2.71828, and c_100hr is the amount of 100-hour fuel consumed in tons of dry matter per acre (eq. 87).

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

0 1 2 3 4 5 6 7 8 9 10

Flaming portion of combustion

Consumption of 100-hour fuels (tons per acre)

Figure 18—Flaming portion of combustion as a function of total consumption of 100-hour dead 

fuel, plotted using the MCFire simulation-model equation 1 ˗ e˗(0.216169 c_100hr)2.26 where c_100hr is the 

amount of 100-hour fuel consumed in tons of dry matter per acre. 

If the diameter reduction from flaming combustion is >1.68 inches, then flaming 

combustion is assumed to account for all the consumption of the 100-hour fuels. If 

the diameter reduction is ≤1.68 inches, the amount consumed by flaming is calculated as:

fc_100hr = d100 × (1 ˗ [1.68 – (dia_reduc × f_ portion)]2

) (89)

 1.682

where fc_100hr is the amount of 100-hour fuel consumed by flaming combustion 

in tons of dry matter per acre, d100 is the original amount of 100-hour fuel in tons 

of dry matter per acre, dia_reduc is the diameter reduction attributable to fire in 

inches (eqs. 84, 85), and f _ portion is the flaming portion of combustion (eq. 88).
47

MCFire Model Technical Description

For 1000-hour fuels, the amount consumed by flaming combustion (fc_1000hr) 

is calculated with equation 89, substituting the weight of 1000-hour fuels (d1000) 

for 100-hour fuels (d100), and replacing all occurrences of the constant 1.68 with 

6.6, representing the quadratic average diameter of 1000-hour fuels (Ottmar 1998, 

Peterson and Ottmar 1991).

Once all the flaming combustion amounts have been calculated, MCFire 

calculates the total smoldering combustion amount (in tons of dry matter per acre) 

by calculating the difference between the total combustion amount (tot_c) and the 

total flaming combustion amount (tot_ fc). The total combustion amount is the sum 

of 1-hour, 10-hour, 100-hour, and 1000-hour dead-fuel combustion, plus live grass, 

leaf, and branch combustion (above). The total flaming-combustion amount is the 

sum of fine fuels—live grass (lgrass), leaves of woody vegetation (lleaf), branches 

of woody vegetation (lbranch), 1-hour dead fuels (d1), and 10-hour dead fuels 

(d10)—plus the portion of 100-hour fuel consumption amounts (d100) that was 

not consumed (fc_100hr) and the portion of 1000-hour fuel consumption amounts 

(d1000) that was not consumed ( fc_1000hr).

Emissions species—

MCFire translates the amounts of fuel burned by flaming and smoldering combustion (above) using emission rates for seven types of unmounded vegetation (table 

11). Because MC1 does not directly use the seven unmounded fuel types in table 

11, MCFire selects the fuel type that most closely matches the MC1 vegetation type 

being simulated in the current grid cell (table 1).

To calculate total quantities (table 11) for the seven emission components—carbon monoxide, carbon dioxide, methane, nonmethane hydrocarbons, total particulate matter, particulate matter <10 μm (PM10), and particulate matter <2.5 μm 

(PM2.5)—MCFire multiplies the flaming (tot_ fc) and smoldering (tot_sc) combustion quantities by the corresponding emissions rates for each vegetation type.

Black Carbon

MCFire calculates fuel conversion to black carbon for six fuel classes: live grass, 

live tree leaves, live tree branches, and the four dead-fuel classes (1-hour, 10-hour, 

100-hour, and 1000-hour). The calculation follows Kuhlbusch and Crutzen (1995), 

and is the same for all six fuel classes under consideration:

blkc= ( 28.5 ) × ( 100 - consumed ) (90)

 

1.388.2 ˗ consumed + 1

 

consumed

where blkc is portion of fuel converted to black carbon as a percentage, and consumed is the portion the pool consumed by the fire as a percentage.
48

GENERAL TECHNICAL REPORT PNW-GTR-926

The percentage of pool consumed by fire (consumed) is calculated above, and 

can range from 0 to 100. For black-carbon calculations, however, values are only 

calculated for the upper end of that range—70 to 100 percent (fig 19).

To calculate the mass of black carbon produced in each of the six fuel classes, 

MCFire multiplies the black carbon conversion percentage (blkc) by the corresponding carbon pool in the MC1 biogeochemistry module (appendix 2). The conversion 

percentage for:

• Live grass is applied to the live grass-carbon pool (lgras)

• Live trees is applied to the live tree-leaves carbon pool (lleaf)

• Live branches is applied to both the fine woody pools (lwod1) and coarse 

woody pools (lwod2)

Table 11—Comparative amounts of seven emission components calculated by the MCFire model for MCIsimulated vegetation—particulate matter (PM), particulates <10 μm (PM10), particulates <2.5 μm (PM2.5), 

carbon monoxide (CO), carbon dioxide (CO2), methane (CH4), nonmethane hydrocarbons (NMHC)—under 

flaming and smoldering conditions; emission rates are from Prichard et al. (2007)

Emissions fuel type Flaming combustion Smoldering combustion

(MCI vegetation) PM PM10 PM2.5 CO CO2 CH4 NMHC PM PM10 PM2.5 CO CO2 CH4 NMHC

- - - - - - - - - - - - - - - - - - - - - - - Pounds per ton combusted - - - - - - - - - - - - - - - - - - - - - - - - - -

Douglas-fir slash 24.7 16.6 14.9 143 3,385 4.6 4.2 35.0 27.6 26.1 463 2,804 15.2 8.4

 (Maritime temperate 

 coniferous forest)

Hardwoods slash 23.0 14.0 12.2 92 3,389 4.4 5.2 38.0 25.9 23.4 366 2,851 19.6 14.0

 (Temperate

 deciduous forest)

Ponderosa-lodgepole 18.8 11.5 10.0 89 3,401 3.0 3.6 48.6 36.7 34.2 285 2,971 14.6 9.6

 pine slash (Warm 

 temperate subtropical

 mixed forest)

Mixed conifer slash 22.0 11.7 9.6 53 3,458 3.0 3.2 33.6 25.3 23.6 273 3,023 17.6 13.2

 (Continental temperate 

 coniferous forest)

Juniper slash (Tropical 21.9 15.3 13.9 82 3,401 3.9 5.5 35.1 25.8 23.8 250 3,050 20.5 15.5

 thorn woodland)

Sagebrush (C3 or 45.0 31.8 29.1 155 3,197 7.4 6.8 45.3 29.6 26.4 212 3,118 12.4 14.5

 C4 grasslands)a

Chaparral 31.6 16.5 13.5 119 3,326 3.4 17.2 40.0 24.7 21.6 197 3,144 9.0 30.6

 (Mediterranean

 shrubland)

Average values 26.7 16.8 14.7 105 3,365 4.2 6.5 39.4 30.0 25.6 292 2,994 15.6 15.1

a

 C3 is grassland adapted to cool seasons and C4 is grassland adapted to warm or hot seasons.
49

MCFire Model Technical Description

0

1

2

0 10 20 30 40 50 60 70 80 90 100

Fuel converted to

black carb

on (percent)

Fuel consumption (percent)

• One-hour dead fuels is applied to the litter (littr), standing dead grass 

(dstnd), and fine dead wood carbon pools (dwod1)

• Hundred-hour dead fuels is applied to coarse wood carbon pool (dwod2)

Although the black-carbon conversion percentage is calculated as a function of 

fuel consumed by fire, the two pools are distinct and fuel converted to black carbon 

is not included in fuel consumed by fire. Therefore black carbon is not regarded as 

an emission; instead MC1 transfers black carbon to a highly recalcitrant soil carbon 

pool. This distinction is essential in understanding the incongruent structures of 

black-carbon production and fuel-consumption calculations. For fuel consumption, 

MCFire combines the MC1 fine woody pools (lwod1) and coarse woody pools 

(lwod2), and then partitions them into branches (lbranch) and stems (lstem), for 

which independent consumption rates are calculated. For black-carbon conversion, 

MCFire only uses the consumption rate of branches to calculate a black-carbon 

conversion percentage, but applies that percentage to the sum of fine woody pools 

(lwod1) and coarse woody pools (lwod2), some portion of which contains stems. 

Another incongruence is that MCFire does not calculate a 10-hour black-carbon 

conversion percentage. For fuel consumption calculations, MCFire combines MC1’s 

Figure 19—Black-carbon production as a function of fuel consumption, estimated as a function of 

the portion of the fuel being consumed by fire; because the MCFire simulation model calculates black 

carbon conversion and consumption as distinct pathways for carbon, black carbon conversion is zero 

when consumption is 100 percent.
50

GENERAL TECHNICAL REPORT PNW-GTR-926

dead carbon pools (eq. 5), and then partitions them into 1-hour, 10-hour, 100-hour, 

and 1000-hour fuel classes using parameterized fractions (table 5). For black 

carbon, MCFire applies conversion rates for 1-hour fuels to fine dead-wood carbon 

pools (dwod1) and 100-hour fuels to coarse dead wood carbon pools (dwod2), but 

does not use the conversion rates for 10-hour and 1000-hour fuels, because corresponding dead carbon pools were not readily identified. Harmonizing the black 

carbon calculations with fuel consumption calculations would improve overall 

model skill.

Area Burned

For each fire occurrence, MCFire calculates the area burned as a fraction of the grid 

cell being simulated but does not identify the location of the area burned within the 

cell. Nor does it calculate the area burned directly from weather and fire behavior, 

but instead as function of the current vegetation type, drought conditions, and 

the time since the last fire in the grid cell. MC1 and MCFire do not simulate any 

interaction among cells. In particular MCFire does not simulate fire spread among 

grid cells.

MCFire first estimates a current fire-return interval based on the drought conditions of the current simulation time step and historical minimum and maximum 

fire-return intervals:

curr_ fri = min_mfri + ( pdsi ˗ pdsi_min ) × (max_mfri ˗ min_mfri) (91)

 pdsi_max ˗ pdsi_min

where curr_ fri is the estimate of the current fire-return interval in years; min_mfri

and max_mfri are the minimum and maximum average fire-return intervals in 

years (table 1); pdsi is the current monthly value of the Palmer Drought Severity 

Index; pdsi_min is the minimum Palmer Drought Severity Index value assumed to 

be -4; and pdsi_max is the maximum Palmer Drought Severity Index value. The 

value of pdsi_max is set to the value of the input parameter pdsi_thresh (table 4), 

the threshold above which fire is not simulated.

The minimum and maximum historical fire-return interval values (eq. 91) are 

parameterized for each type of vegetation that MC1 simulates (table 1). The drought 

condition of the current simulation time step, as represented by the Palmer Drought 

Severity Index value, is used to select a value in the interval between the minimum 

and maximum fire-return intervals. The values used in equation 91 do not represent 

the full range of Palmer Drought Severity Index values naturally observed, but 

rather a range of dry conditions under which fire is likely to occur.
51

MCFire Model Technical Description

MCFire calculates the burned area as a reciprocal of the estimated current firereturn interval (eq. 91):

part = burn_count + 1 (92)

 curr_ fri

where part is the fraction of the cell burned, burn_count is the number of full 

calendar years since the last fire, and curr_ fri is the estimated current fire-return 

interval in years (eq. 91).

Area burned (part) is limited to a maximum of 1.0 (100 percent burned), so 

the fraction ranges from the simple reciprocal of the curr_ fri (eq. 91) to 1.0. If fire 

were to occur at a regular interval under the same drought conditions, then the 

sum of area burned (part) would not reach 1.0 until simulation is complete for the 

curr_ fri years.

Acknowledgments

Funding for MCFire model development was provided by the U.S. Forest Service, 

the U.S. Department of Energy—National Institute for Global Environmental 

Change, and the U.S. Geological Survey—Biological Resources Division. 

English and Metric Equivalents

These conversion factors are accurate to six significant digits.

English Equivalents

When you know: Multiply by: To find:

Millimeters (mm) 0.0393701 Inches

Centimeters (cm) 0.393701 Inches

Meters (m) 3.28084 Feet

Meters (m) 0.000621371 Miles

Meters per second (m s-1) 196.850 Feet per minute

Meters per second (m s-1) 2.23694 Miles per hour

Mils 25.6410256 Micrometers (μm)

Grams (g) 0.00220462 Pounds

Grams (g) 1.10231 × 10-6 Tons

Grams per square meter (g m-2) 0.000204816 Pounds per square foot

Grams per square meter (g m-2) 8.92179 Pounds per acre

Grams per square meter (g m-2) 0.00446090 Tons per acre

Grams per cubic meter (g m-3) 62.4280 × 10-6 Pounds per cubic foot

Joules (J) 0.000947817 British thermal units

Joules per gram (J g-1) 0.429923 British thermal units per pound

Degrees Celsius (C) 1.8 °C + 32 Degrees Fahrenheit

Pascals (Pa) 0.000145038 Pounds per square inch

Stems per square meter (stems m-2) 4046.86 Stems per acre

Kilowatts per meter (kW m-1) 0.288895 British thermal units per 

 second per foot 
52

GENERAL TECHNICAL REPORT PNW-GTR-926

Metric Equivalents

When you know: Multiply by: To find:

Inches (in) 25.4000 Millimeters

Inches (in) 2.54000 Centimeters

Feet (ft) 0.304800 Meters

Feet per minute (ft minute-1) 0.005080 Meters per second

Micrometers (μm) 0.039 Mils

Miles (mi) 1609.34 Meters

Miles per hour (mph) 0.44704 Meters per second

Pounds (lb) 453.592 Grams

Pounds per square inch (psi) 6894.76 Pa

Pounds per square foot (lb ft-2) 4882.43 Grams per square meter

Pounds per acre (pound ac-1) 0.112085 Grams per square meter

Pounds per cubic foot (pound foot-3) 16018.50 Grams per cubic meter

Tons (T) 907185.00 Grams

Tons per acre (T ac-1) 224.170 Grams per square meter

British thermal units (BTU) 1055.06 Joules

British thermal units per pound 2.32600 Joules per gram

 (BTU pound-1)

Degrees Fahrenheit (°F) (°F – 32)/1.8 Degrees Celsius

Stems per acre (stems ac-1) 0.000247105 Stems per square meter

British thermal units per second per 3.46147 Kilowatts per meter

 foot (BTU sec-1 foot-1)

References

Aber, J.; Neilson, R.; McNulty, S. [et al.]. 2001. Forest processes and global 

environmental change: predicting the effects of individual and multiple stressors. 

Bioscience. 51(9): 735–751.

Albini, F.A. 1976. Estimating wildfire behavior and effects. Gen. Tech. Rep. INT30. Ogden, UT: U.S. Department of Agriculture, Forest Service, Intermountain 

Forest and Range Experiment Station. 92 p.

Anderson, H.E. 1982. Aids to determining fuel models for estimating fire 

behavior. Gen. Tech. Rep. INT-122. Ogden, UT: U.S. Department of Agriculture, 

Forest Service, Intermountain Forest and Range Experiment Station. 22 p.

Andrews, P.L. 1986. BEHAVE: fire behavior prediction and fuel modeling 

system–BURN subsystem, part 1. Gen. Tech. Rep. INT-194. Ogden, UT: U.S. 

Department of Agriculture, Forest Service, Intermountain Forest and Range 

Experiment Station. 130 p.
53

MCFire Model Technical Description

Bachelet, D.; Lenihan, J.M.; Daly, C. [et al.]. 2001a. MC1, a dynamic vegetation 

model for estimating the distribution of vegetation and associated carbon and 

nutrient fluxes. Tech. Documentation. Version 1.0. Gen. Tech. Rep. PNWGTR-508. Portland, OR: U.S. Department of Agriculture, Forest Service, Pacific 

Northwest Research Station. 95 p.

Bachelet, D.; Lenihan, J.M.; Neilson, R.P.; Drapek, R.J.; Kittel, T. 2005.

Simulating the response of natural ecosystems and their fire regimes to climatic 

variability in Alaska. Canadian Journal of Forest Research. 35: 2073–2293.

Bachelet, D.; Neilson, R.P.; Hickler, T. [et al.]. 2003. Simulating past and future 

dynamics of natural ecosystems in the United States. Global Biogeochemical 

Cycles. 17(2): 1045. DOI: 10.1029/2001GB001508.

Bachelet, D.; Neilson, R.P.; Lenihan, J.M.; Drapek, R.J. 2001b. Climate change 

effects on vegetation distribution and carbon budget in the U.S. Ecosystems. 4: 

164–185.

Bachelet, D.; Neilson, R.P.; Lenihan, J.M.; Drapek, R.J. 2004. Regional 

differences in the carbon source-sink potential of natural vegetation in the U.S. 

Environmental Management. 33 (Supp. 1): S23–S43. DOI: 10.1007/s00267-003-

9115-4.

Botkin, D.B.; Janak, J.F.; Wallis, J.R. 1972a. Rationale, limitations and 

assumptions of a northeastern forest growth simulator. IBM Journal of Research 

and Development. 16: 101–116. [Reference for the JABOWA model].

Botkin, D.B.; Janak, J.F.; Wallis, J.R. 1972b. Some ecological consequences of a 

computer model of forest growth. Journal of Ecology. 60: 849–872.

Burgan, R.E. 1979. Estimating live fuel moisture for the 1978 National Fire 

Danger Rating System—1978. Res. Pap. INT-226. Ogden, UT: U.S. Department 

of Agriculture, Forest Service, Intermountain Forest and Range Experiment 

Station. 16 p.

Burgan, R.E. 1988. Revisions to the 1978 National Fire Danger Rating System. 

Res. Pap. SE-273. Asheville, NC: U.S. Department of Agriculture, Forest 

Service, Southeastern Forest Experiment Station. 144 p. 

Cohen, J.D.; Deeming, J.E. 1985. The National Fire-Danger Rating System: basic 

equations. Gen. Tech. Rep. PSW-GTR-82. Berkeley, CA: U.S. Department of 

Agriculture, Forest Service, Pacific Southwest Research Station. http://www.

fs.fed.us/psw/publications/gtrs.shtml. (20 June 2015).
54

GENERAL TECHNICAL REPORT PNW-GTR-926

Daly, C.; Bachelet, D.; Lenihan, J. [et al.]. 2000. Dynamic simulations of 

tree-grass interactions for global change studies. Ecological Applications. 

10: 449–469. 

Fosberg, M.A.; Rothermel, R.C.; Andrews, P.L. 1981. Moisture content 

calculations for 1000-hr timelag fuels. Forest Science. 27(1): 19–26.

Howard, E.A. 1978. A simple model for estimating the moisture content of living 

vegetation as potential wildfire fuel. In: Fifth conference on fire and forest 

meteorology. Boston, MA: American Meteorological Society: 20–23.

Keane, R.E.; Morgan, P.; Running, S.W. 1996. FIRE-BGC–a mechanistic 

ecological process model for simulating fire succession on coniferous forest 

landscapes of the northern Rocky Mountains. Res. Pap. INT-484. Ogden, UT: 

U.S. Department of Agriculture, Forest Service, Intermountain Forest and Range 

Experiment Station. 122 p.

Keetch, J.J.; Byram, G. 1968. A drought index for forest fire control. Rev. Res. 

Paper SE-38. Asheville, NC: U.S. Department of Agriculture, Forest Service, 

Southeastern Forest Experiment Station. 32 p. 

Kercher, J.R.; Axelrod, M.C. 1984. A process model of fire ecology and 

succession in a mixed-conifer forest. Ecology. 65(6): 1725–1742. [Reference for 

the SILVA model].

Kuhlbusch, T.A.J.; Crutzen, P.J. 1995. Toward a global estimate of black carbon 

in residues of vegetation fires representing a sink of atmospheric CO2 and a 

source of O2. Global Biogeochemical Cycles. 9.4 (1995): 491–501.

Leenhouts, B. 1998. Assessment of biomass burning in the conterminous United 

States. Conservation Ecology (now called Ecology and Society). Vol. 2, Article 1. 

www.ecologyandsociety.org. (17 June 2015). [Click on Archives].

Lenihan, J.M.; Daly, C.; Bachelet, D.; Neilson, R.P. 1998. Simulating broad-scale 

fire severity in a dynamic global vegetation model. Northwest Science. 

72: 91–103.

Lenihan, J.M.; Drapek, R.J.; Bachelet, D.; Neilson, R.P. 2003. Climate changes 

effects on vegetation distribution, carbon, and fire in California. Ecological 

Applications. 13(6): 1667–1681.

Means, J.E.; Hansen, H.A.; Koerper, G.J.; Alaback, P.B.; Klopsch, M.W. 1994. 

Software for computing plant biomass—BIOPAK users guide. Gen. Tech. Rep. 

PNW-GTR-340. Portland, OR: U.S. Department of Agriculture, Forest Service, 

Pacific Northwest Research Station. 180 p. 
55

MCFire Model Technical Description

Means, J.E.; Krankina, O.N.; Jiang, H.; Li, H.Y. 1996. Estimating live fuels for 

shrubs and herbs with BIOPAK. Gen. Tech. Rep. PNW-GTR-372. Portland, OR: 

U.S. Department of Agriculture, Forest Service, Pacific Northwest Research 

Station. 21 p.

Neilson, R.P. 1995. A model for predicting continental-scale vegetation distribution 

and water balance. Ecological Applications. 5: 362–385.

Ottmar, R.D. 1998. Fuel consumption in natural fuels. Internal report. On 

file with: U.S. Department of Agriculture, Forest Service, Pacific Northwest 

Research Station, Seattle Forestry Sciences Laboratory, 4043 Roosevelt Way 

N.E., Seattle, WA 98105.

Ottmar, R.D.; Burns, M.F.; Hall, J.N.; Hanson, A.D. 1993. CONSUME user’s 

guide. Gen. Tech. Rep. PNW-GTR-304. Portland, OR: U.S. Department of 

Agriculture, Forest Service, Pacific Northwest Research Station. 

Palmer, W.C. 1965. Meteorological drought. Res. Pap. 45. Washington, DC: U.S. 

Department of Commerce, Weather Bureau. 58 p.

Parton, W.J.; Schimel, D.S.; Cole, C.V.; Ojima, D.S. 1987. Analysis of factors 

controlling soil organic matter levels in Great Plains grasslands. Soil Science 

Society of America Journal. 51: 1173–1179.

Peterson, D.L. 1985. Crown scorch volume and scorch height: estimates of postfire 

tree condition. Canadian Journal of Forest Research. 15: 596–598.

Peterson, D.L.; Ryan, K.C. 1986. Modeling postfire conifer mortality for longrange planning. Environmental Management. 10(6): 797–808.

Peterson, J.L.; Ottmar, R.D. 1991. Computer applications for prescribed fire and 

air quality management in the Pacific Northwest. In: Andrews, P.L.; Potts, D.F., 

eds. Proceedings of the 11th conference on fire and forest meteorology. Boston, 

MA: American Meteorological Society: 455–459.

Prichard, S.J.; Ottmar, R.D.; Anderson, G.K. 2007. Consume 3.0 user’s guide. 

Seattle, WA: U.S. Department of Agriculture, Forest Service, Pacific Northwest 

Research Station, Pacific Wildland Fire Sciences Laboratory. 234 p. http://www.

fs.fed.us/pnw/fera/research/smoke/consume/consume30_users_guide.pdf. (12 

February 2015).

Rothermel, R. 1972. A mathematical model for fire spread predictions in wildland 

fuels. Res. Pap. INT-RP-115. Ogden, UT: U.S. Department of Agriculture, Forest 

Service, Intermountain Forest and Range Experiment Station. 40 p.
56

GENERAL TECHNICAL REPORT PNW-GTR-926

Ryan, K.C.; Reinhardt, E.D. 1988. Predicting postfire mortality of seven western 

conifers. Canadian Journal of Forest Research. 18: 1291–1297.

Stanek, W.; State, D. 1978. Equations predicting primary productivity (biomass) 

of trees, shrubs and lesser vegetation based on current literature. Victoria, B.C.: 

Environment Canada, Forestry Service, Pacific Forest Research Centre, BC-X, 

183.

Van Wagner, C.E. 1973. Height of crown scorch in forest fires. Canadian Journal 

of Forest Research. 3: 373–378.

Van Wagner, C.E. 1977. Conditions for the start and spread of crown fire. 

Canadian Journal of Forest Research. 7: 23–34.

Van Wagner, C.E. 1987. Development and structure of the Canadian Forest Fire 

Weather Index System. Forestry Tech. Rep. 35. Ottawa, Canada: Canadian 

Forestry Service. 35 p. https://cfs.nrcan.gc.ca/publications?id=19927. (2 March 

2015).

VEMAP Members. 1995. Vegetation/ecosystem modeling and analysis project: 

comparing biogeography and biogeochemistry models in a continental-scale 

study of terrestrial ecosystem responses to climate change and CO2 doubling. 

Global Biogeochemical Cycles. 9(4): 407–437.

WeatherDisc Associates. 1995. World weatherDisc: climate data for planet earth. 

Seattle, WA: WeatherDisc Associates.

Weller, D.E. 1987. A reevaluation of the -3/2 power rule of plant self-thinning. 

Ecological Monographs. 57: 23–43.

Weller, D.E. 1989. The interspecific size-density relationship among crowded plant 

stands and its implications for the -3/2 power rule of self-thinning. The American 

Naturalist. 133: 20–41. 
57

MCFire Model Technical Description

Appendix 1: Key Variables in MCFire Source Code

Key variables in MCFire source code are listed below, along with their dimensions (unless dimensionless), description, and the parts of this report where they 

are addressed. 

Variable Description

ad Exponent in optimum reaction velocity calculation

b_eff Exponent in wind effect multiplier calculation (eq. 65)

bark_thick Stem bark thickness in centimeters (eq. 23)

bbl Branch biomass in pounds or grams of dry matter per stem (eqs. 27, 29)

betop Expression for optimum packing ratio (eq. 59)

betbar Packing ratio (eq. 49)

bi Burning index

blkc[fuelpool] Percentage of black carbon produced from each fuel pool (eq. 90)

blkc_totbio Black carbon produced by fire in grams per square meter

bnd_100 100-hour fuel moisture content boundary condition as a percentage (eq. 42)

bnd_1000[day] 1,000-hour fuel moisture content boundary condition as a percentage (eq. 42)

bnd_bar Average of the 1000-hour fuel moisture boundary conditions for the previous week 

as a percentage

branch_ frac Branch biomass as a fraction of total aboveground biomass (eqs. 28, 32)

bsb Stem bark biomass in grams of dry matter per stem (eq. 31)

bsw Stem wood biomass in grams of dry matter per stem

bt Bark thickness in centimeters

btt Aboveground tree biomass in grams of dry matter per stem (eq. 26)

burn_day Day of fire occurrence (Jan 1 = 0)

burn_day[day] Fire occurrence (Boolean)

burn_mo[month] Fire occurrence (Boolean)

burn_year Fire occurrence (Boolean)

c Parameter used to calculate diameter at breast height

c_1000hr 1,000-hour fuel consumed by the fire in tons of dry matter per acre (eq. 87)

c_100hr 100-hour fuel consumed by the fire in tons of dry matter per acre (eq. 83)

c_10hr 10-hour fuel consumed by the fire in tons of dry matter per acre (eq. 82)

c_1hr 1-hour fuel consumed by the fire in tons of dry matter per acre (eq. 81)

c_lbranch Live branches fuel consumed by the fire in tons of dry matter per acre

c_lgrass Live grass consumed by the fire in tons of dry matter per acre

c_lleaf Tree leaves consumed by the fire in tons of dry matter per acre

c_var Multiplicative factor in the wind-effect multiplier calculation (eq. 66)

cen_outvars[3] Live-grass output from the MC1 biogeochemistry module in grams of carbon per 

square meter

cen_outvars[104] Metabolic litter output from the MC1 biogeochemistry module in grams of carbon 

per square meter

cen_outvars[251] Structural litter output from the MC1 biogeochemistry module in grams of carbon 

per square meter

cen_outvars[262] Standing dead-grass output from MC1 biogeochemistry module in grams of 

carbon per square meter

cen_outvars[419] Live fine-wood output from the MC1 biogeochemistry module in grams of carbon 

per square meter
58

GENERAL TECHNICAL REPORT PNW-GTR-926

Variable Description

cen_outvars[445] Woody-vegetation live-leaf output from the MC1 biogeochemistry module in 

grams of carbon per square meter

cen_outvars[452] Live coarse-wood output from the MC1 biogeochemistry module in grams of 

carbon per square meter 

cen_outvars[482] Fine dead-wood output from the MC1 biogeochemistry module in grams of carbon 

per square meter 

cen_outvars[483] Coarse dead-wood output from the MC1 biogeochemistry module in grams of 

carbon per square meter

chi Intermediate variable in firestart probability calculation (eq. 45)

ck Fraction of crown volume killed (eq. 79)

cl Crown length in meters (eq. 25)

cl_ratio Crown length as a fraction of canopy height (table 7)

consume_dead Dead fuels consumed by fire in grams of carbon per square meter

consume_live Live fuels consumed by fire in grams of carbon per square meter

consume_totbio All fuels consumed by fire in grams of carbon per square meter

consumed 

[fuelpool]

Percentage of each fuelpool consumed by the fire

cterm Intermediate value in black carbon calculation

curr_ fri Current fire return interval in years (eq. 91)

d Parameter used in the calculation of diameter at breast height (eq. 22, table 6)

d_1000hr 1,000-hour dead fuel in grams of dry matter per square meter

d_100hr 100-hour dead fuel in grams of dry matter per square meter

d_10hr 10-hour dead fuel in grams of dry matter per square meter

d_1hr 1-hour dead fuel in grams of dry matter per square meter

d1 Daily amount of 1-hour fuel in tons of dry matter per acre

d10 Daily amount of 10-hour fuel in tons of dry matter per acre

d100 Daily amount of 100-hour fuel in tons of dry matter per acre

d1000 Daily amount of 1,000-hour fuel in tons of dry matter per acre

daylit Length of day in hours (eq. 11, fig. 3, table 3)

dbh Diameter at breast height in centimeters (eq. 22)

dbh_in Diameter at breast height in inches

dbh_max Maximum diameter at breast height defined for deciduous or evergreen trees in 

centimeters (table 6)

death_stem Carbon in stems killed by fire in grams per square meter

death_totbio Carbon in woody vegetation killed by fire in grams per square meter

dedrt Ratio of the surface area-weighted dead fuel moisture content to the moisture of 

extinction for dead fuels 

dedrte Ratio of the mass-weighted dead fuel moisture content to the moisture of 

extinction for dead fuels 

depth[month] Fuel-bed depth in meters, calculated on a monthly basis in accordance with the 

fuel loading algorithm (eq. 16)

depth[day] Daily fuel-bed depth in feet, interpolated between monthly values for estimating 

fire behavior

depth_ratio Ratio of fuel-bed volume to fuel mass in feet per tons of dry matter per acre 

(table 5)

dia_reduc Reduction in diameters of large dead fuels in inches (eqs. 84, 85)

dstnd Standing dead grass in grams of dry matter per square meter

dwod1 Fine dead wood in grams of dry matter and grams of carbon per square meter
59

MCFire Model Technical Description

Variable Description

dwod2, dwod100 Coarse dead wood in grams of carbon per square meter

e_eff Exponent in wind effect multiplier calculation (eq. 67)

em_ch4[day] Methane emissions in grams per square meter

em_co[day] Carbon monoxide emissions in grams per square meter

em_co2[day] Carbon dioxide emissions in grams per square meter

em_nmhc[day] Nonmethane hydrocarbon emissions in grams per square meter

em_ pm[day] Particulate emissions in grams per square meter

em_ pm10[day] Emissions from particulate ≤10 micrometers in grams per square meter

em_ pm2p5[day] Emissions from particulate ≤2.5 micrometers in grams per square meter

emc Equilibrium moisture content as a percentage (eqs. 38 to 40; fig. 6)

emc_bar Weighted 24-hour average equilibrium moisture content as a percentage (eq. 41)

emc_max Minimum equilibrium moisture content as a percentage

emc_min Maximum equilibrium moisture content as a percentage

erc Energy release component in BTUs per square foot

EtaM() Expression for moisture-damping coefficient

etamd Moisture-damping coefficient for dead fuels for spread calculations (eq. 61)

etamde Moisture-damping coefficient for dead fuels for energy release calculation as 

a fraction

etaml Moisture-damping coefficient for live fuels for spread calculations

etamle Moisture-damping coefficient for live fuels for energy release calculation as 

a fraction

etasd Mineral-damping coefficient for dead fuels as a fraction

etasl Mineral-damping coefficient for live fuels as a fraction (eq. 50)

event_erc Energy release component in BTUs per square foot

event_ fli Fireline intensity in BTUs per square foot per second

event_lsh Lethal scorch height in feet (Van Wagner 1973)

event_mc 1,000-hour fuel moisture content as a percentage

event_month Month of fire (1 to 12)

event_ pflamm Probability of a fire starting as a percentage

event_ros Rate of spread in feet per minute

f _dia_reduc Diameter reduction from flaming combustion in inches

f _ portion Fraction of diameter reduction that is caused by flaming combustion

f1000e Weighting factor for 1,000-hour dead fuel class as a fraction

f100e Weighting factor for 100-hour dead fuel class as a fraction

f10e Weighting factor for 10-hour dead fuel class as a fraction

f1e Weighting factor for 1-hour dead fuel class as a fraction

factor Drought factor in Keetch-Byram Drought Index calculations (eq. 12)

fc_1000hr Flaming combustion from 1,000-hour fuel in tons of dry matter per acre (eq. 89)

fc_100hr Flaming combustion from 100-hour fuel in tons of dry matter per acre (eq. 89)

fc_10hr Flaming combustion from 10-hour fuel in tons of dry matter per acre

fc_1hr Flaming combustion from 1-hour fuel in tons of dry matter per acre

fc_lbranch Flaming combustion from live branches in tons of dry matter per acre

fc_lgrass Flaming combustion from live grass in tons of dry matter per acre

fc_lleaf Flaming combustion from live tree leaves in tons of dry matter per acre

fd Depth of the flaming zone in feet (eq. 74)

fdeade Weighting factor for dead fuel as a fraction

fef _ch4 Pounds of methane emitted per ton of fuel combusted (table 11)
60

GENERAL TECHNICAL REPORT PNW-GTR-926

Variable Description

fef _co Pounds of carbon monoxide emitted per ton of fuel combusted (table 11)

fef _co2 Pounds of carbon dioxide emitted per ton of fuel combusted (table 11)

fef _nmhc Pounds of nonmethane hydrocarbons emitted per ton of fuel combusted (table 11)

fef _ pm Pounds of particulates emitted per ton of fuel combusted (table 11)

fef _ pm10 Pounds of particulate ≤10 micrometers emitted per ton of fuel combusted (table 11)

fef _ pm25 Pounds of particulate ≤2.5 micrometers emitted per ton of fuel combusted 

(table 11)

fem_ch4 Flaming emissions of methane in pounds per acre

fem_co Flaming emissions of carbon monoxide in pounds per acre

fem_co2 Flaming emissions of carbon dioxide in pounds per acre

fem_nmhc Flaming emissions of nonmethane hydrocarbons in pounds per acre

fem_ pm Flaming emissions of particulates in pounds per acre

fem_ pm10 Flaming emissions of particulates ≤10 micrometers in pounds per acre

fem_ pm25 Flaming emissions of particulate ≤2.5 micrometers in pounds per acre

fi Fireline intensity in BTUs per foot per second

fii Fireline intensity in kilowatts per meter

fl Flame length in feet

fli_crit Critical fireline intensity in kilowatts per meter (eq. 78)

fuel_depth Fuel-bed depth in meters

gmamx Maximum reaction velocity (eq. 57)

gmaop Expression for optimum reaction velocity (eq. 58)

grass Current moisture content of live grass as a percentage

h Estimated heat of canopy ignition in kilojoules per kilogram (eq. 77)

hd Dead fuel heat of combustion in BTUs per pound (table 9)

hk Lethal scorch height in meters (eq. 79)

hl Live fuel heat of combustion in BTUs per pound (eqs. 56, 72; table 9)

hn1 Heating number of 1-hour fuel (eq. 51)

hn10 Heating number of 10-hour fuel (eq. 51)

hn100 Heating number of 100-hour fuel (eq. 51)

hnherb Heating number of live grass fuel (eq. 51)

hnwood Heating number of live wood fuel (eq. 51)

ht Canopy height in meters

ht_max Maximum canopy height in centimeters (table 6)

htsink Heat sink in BTUs per cubic foot of fuel (eq. 71)

Intensity() Expression for reaction intensity in BTUs per foot per minute

ir Reaction intensity for spread calculations in BTUs per square foot per minute 

(eq. 56)

ire Reaction intensity for energy release calculations in BTUs per square foot per 

minute (eq. 72)

jdate Julian date (January 1 = 1)

k Thinning constant (table 6)

kbdi Keetch-Byram Drought Index for the current day (eq. 13)

killed[] Percent of live biomass pool killed by the fire

la Leaf area in square meters per stem (eq. 21)

lat Site latitude in degrees
61

MCFire Model Technical Description

Variable Description

lbranch Live branches in grams of dry matter per square meter (eq. 33)

Live branches in tons of dry matter per square meter

Live branches in grams of carbon per square meter

lgras Live grass in grams of carbon per square meter

lgrass Live grass in grams of dry matter per square meter

Live grass in tons of dry matter per square meter

littr Litter in grams of dry matter per square meter

Litter in grams of carbon per square meter

livrt Ratio of the surface-area weighted live-fuel moisture content to the moisture of 

extinction for live fuels 

livrte Ratio of the mass-weighted live-fuel moisture content to the moisture of extinction 

for live fuels

lleaf Leaves of woody vegetation in grams of dry matter per square meter

Leaves of woody vegetation in tons of dry matter per square meter

Leaves of woody vegetation in grams of carbon per square meter

lstem Stems of woody vegetation in grams of dry matter per square meter (eq. 34)

ltree Live tree biomass in grams of dry matter per square meter (eq. 19)

lwod1 Live fine wood in grams of dry matter per square meter

Live fine wood in grams of carbon per square meter

lwod100 Live coarse wood in grams of dry matter per square meter

lwod2 Live coarse wood in grams of carbon per square meter

lwood Live wood in grams of dry matter per square meter

m_ pet[month] Monthly potential evapotranspiration in millimeters (table 3)

m_ ppt[month] Monthly precipitation in millimeters (table 3)

m_rh[month] Monthly average relative humidity as a percentage (eq. 1)

m_rhmax[month] Monthly maximum relative humidity a s percentage (eq. 3)

m_rhmin[month] Monthly minimum relative humidity as a percentage (eq. 2)

m_tmax Monthly maximum temperature in °C (table 3)

m_tmin Monthly minimum temperature in °C (table 3)

m_tmp Monthly average temperature in °C (table 3) 

max_mfri Maximum average fire return interval in years (table 1)

mc_1 Moisture content of 1-hour dead fuel class as a fraction (eq. 53)

mc_10 Moisture content of 10-hour dead fuel class as a fraction (eq. 53)

mc_100 Moisture content of 100-hour dead fuel class as a fraction (eq. 53)

mc_1000 Moisture content of 1,000-hour dead fuel class as a fraction (eq. 43)

mc_1000hr Moisture content of 1,000-hour dead fuel class as a percentage (eq. 43)

mc_100hr Moisture content of 100-hour dead fuel class as a percentage (eq. 53)

mc_10hr Moisture content of 10-hour dead fuel class as a percentage (eq. 53)

mc_1hr Moisture content of 1-hour dead fuel class as a percentage (eq. 53)

mc_duff Moisture content of duff as a percentage

mc_grass[month] Monthly moisture content of grass as a percentage 

mc_grass[day] Daily moisture content of grass as a fraction

mc_grass_max Maximum moisture content of grass as a percentage (table 4)

mc_grass_min Minimum moisture content of grass as a percentage (table 4)

mc_thres 1,000-hour fuel moisture content threshold as a percentage (table 4)

mc_tree[month] Monthly moisture content of trees as a percentage

mc_tree[day] Daily moisture content of trees as a percentage
62

GENERAL TECHNICAL REPORT PNW-GTR-926

Variable Description

mc_tree_max Maximum moisture content of trees and shrubs as a percentage (table 4)

mc_tree_min Maximum moisture content of trees and shrubs as a percentage (table 4)

mclfe Weighted dead-fuel moisture content for the live fuel moisture of extinction 

calculation as a fraction (eq. 53)

melt_b Slope of snow melt equation in millimeters of water per °C

min_mfri Minimum average fire return interval in years (table 1)

mlittr Metabolic litter carbon in grams of dry matter per square meter

mxd Moisture of extinction of dead fuels as a percentage (table 9)

Moisture of extinction of dead fuels as a fraction (table 9)

mxf Fraction of the moisture of extinction represented by the actual moisture content

mxl Moisture of extinction of live fuels as a fraction (eq. 54)

no_melt The temperature below which snow does not melt in °C (table 4)

p_ flamm The probability of a fire starting as a percentage (eq. 46)

Padj Keetch-Byram Drought Index adjusted precipitation

Pann Average annual precipitation in inches of water

part Fraction of the cell area burned (eq. 92)

pct_of _max Current moisture content as a percentage of the maximum moisture content 

(eq. 36)

pdsi Current monthly value of the Palmer Drought Severity Index—standard deviation 

(tables 2, 4)

pdsi_max Upper end of the Palmer Drought Severity Index range used to calculate part, 

above—standard deviation

pdsi_min Lower end of the Palmer Drought Severity Index range used to calculate part, 

above—standard deviation

pdsi_thres Palmer Drought Severity Index threshold for fire occurrence—standard deviation 

(table 4)

phislp Slope effect multiplier (eq. 63)

phiwnd Wind effect multiplier (eqs. 69, 70)

ppt[day] Daily precipitation in millimeters of water

ppt_dur Number of hours of rain in the day (eq. 7)

ppt_events Number of days of rain in the month (eqs. 4, 5)

ppt_ per_event Precipitation per rain or snow event in millimeters of water (eq. 6)

ppt_rat[day] Rainfall intensity in inches per hour

pptprd Moisture availability ratio as a fraction

pr_ frac Packing ratio as a fraction of the optimum packing ratio as a fraction (eq. 60)

preburn_dia Large dead wood diameter before fire in inches

prob_mort Probability that the trees will be killed as a percentage (eq. 80)

prob_thres Probability threshold used for decisions about fine-fuel flammability and tree 

mortality as a percentage (table 4)

qign Heat of ignition in joules per gram (eq. 44)

QMD Quadratic average diameter of 1,000-hour dead fuel before fire in inches

rand_seed Seed for random number generator used to pick rain days

rh[day] Daily average relative humidity as a percentage (eq. 1)

rh_corr Value of relative humidity used in the calculation of dead fuel moisture content as 

a percentage

rhmax Daily maximum relative humidity as a percentage

rhmin Daily minimum relative humidity as a percentage

rhobar Weighted fuel density in pounds of fuel per cubic foot
63

MCFire Model Technical Description

Variable Description

rhobed Bulk density of fuel bed in pounds of fuel per cubic foot (eq. 48)

rhod Dead fuel particle density in pounds of fuel per cubic foot

rhol Live fuel particle density in pounds of fuel per cubic foot

ros Rate of spread in feet per minute (eq. 55)

sa1 Surface area of 1-hour dead fuel class in square feet of fuel per square foot 

of ground

sa10 Surface area of 10-hour dead fuel class in square feet of fuel per square foot 

of ground

sa100 Surface area of 100-hour dead fuel class in square feet of fuel per square foot 

of ground

sadead Surface area of dead fuel in square feet of fuel per square foot of ground 

saherb Surface area of live grass fuel in square feet of fuel per square foot of ground

salive Surface area of live fuels in square feet of fuel per square foot of ground

satot Surface area of all fuels in square feet of fuel per square foot of ground

satvp() Expression for saturated vapor pressure in pascals as a function of temperature

satvp_sacred 

[month]

Monthly saturated vapor pressure in pascals

sawood Surface area of live shrub fuel in square feet of fuel per square foot of ground

sd Silica-free mineral fraction of dead fuels

sef _ch4 Emissions of methane from smoldering combustion in pounds per ton (table 11)

sef _co Emissions of carbon monoxide from smoldering combustion in pounds per ton 

(table 11)

sef _co2 Emissions of carbon dioxide from smoldering combustion in pounds per ton 

(table 11)

sef _nmhc Emissions of nonmethane hydrocarbons from smoldering combustion in pounds 

per ton (table 11)

sef _ pm Emissions of particulates from smoldering combustion in pounds per ton (table 11)

sef _ pm10 Emissions of particulates ≤10 micrometers from smoldering combustion in pounds 

per ton (table 11)

sef _ pm25 Emissions of particulate ≤2.5 micrometers from smoldering combustion in pounds 

per ton (table 11)

sem_ch4 Methane produced by smoldering combustion in pounds per acre

sem_co Carbon monoxide produced by smoldering combustion in pounds per acre

sem_co2 Carbon dioxide produced by smoldering combustion in pounds per acre

sem_nmhc Nonmethane hydrocarbons produced by smoldering combustion in pounds 

per acre

sem_ pm Particulate produced by smoldering combustion in pounds per acre

sem_ pm10 Particulate ≤10 micrometers produced by smoldering combustion in pounds 

per acre

sem_ pm25 Particulate ≤2.5 micrometers produced by smoldering combustion in pounds 

per acre

sg1 Surface-to-volume ratio for 1-hour fuels in square meters per cubic meter (table 8)

sg10 Surface-to-volume ratio for 10-hour fuels in square meters per cubic meter 

(table 8)

sg100 Surface-to-volume ratio for 100-hour fuels in square meters per cubic meter 

(table 8)

sg1000 Surface-to-volume ratio for 1,000-hour fuels in square meters per cubic meter 

(table 8)
64

GENERAL TECHNICAL REPORT PNW-GTR-926

Variable Description

sgbrde Average surface-to-volume ratio for dead fuels in square meters per cubic meter

sgbrle Average surface-to-volume ratio for live fuels in square meters per cubic meter

sgbrt Average surface-to-volume ratio for all fuels in square meters per cubic meter, for 

rate of spread calculation

sgbrte Average surface- to-volume ratio for all fuels in square meters per cubic meter, for 

energy release calculation

sgherb Surface-to-volume ratio for live grass fuel in square meters per cubic meter 

(table 8)

sgwood Surface-to-volume ratio for live shrub fuel in square meters per cubic meter 

(table 8)

sh Lethal scorch height in feet (eq. 76)

sl Silica-free mineral fraction of live fuels

slittr Structural litter carbon in grams of dry matter per cubic meter

slp Ground slope as a percentage (table 4)

slpfct Slope effect multiplier coefficient (eq. 63)

snow[day] Daily snowpack in millimeters of water (eq. 10)

snowfall[day] Daily snowfall in millimeters of water (eq. 8)

snowmelt Snow melt in the current day in millimeters of water (eq. 9)

snw0 The temperature above which all precipitation is rain in °C (table 4)

snw1 The temperature below which all precipitation is snow °C (table 4)

specific_area Specific leaf area in square meters per gram of dry matter (table 6)

std 0.0555, the fraction of dead fuels made up of inert, noncombustible materials

stems Number of stems per unit area (eq. 20)

stl 0.0555, the fraction of dead fuels made up of inert, noncombustible materials

stnd_clos Stand closure fraction (eq. 18)

stress_ pct Vegetation water stress as a percentage

tau Residence time of flaming front in minutes (eq. 73)

TCurr Average temperature for the current day in °F

temp_corr Daily temperature used in dead fuel moisture calculation in °F

thick_ratio Ratio of bark thickness to diameter at breast height (table 7)

tmax[day] Daily maximum temperature in °C

Daily maximum temperature in °F

tmin[day] Daily minimum temperature in °C

Daily minimum temperature in °F

tmp[day] Daily average temperature in °C

Daily average temperature in °F

tot_c Total combustion in tons of dry matter per acre

tot_dfuel Total dead fuel in grams of dry matter per square meter (eq. 14)

tot_ fc Total flaming combustion in tons of dry matter per acre

tot_ fuel_bed_bio Total fuel-bed biomass in tons of dry matter per acre (eq. 15)

tot_incr Adjustment in dead fuel mass when daily Keetch-Byram Drought Index is >100, in 

pounds of dry matter per square foot (eq. 47)

tot_sc Total smoldering combustion in tons of dry matter per acre

tree Current moisture content of live trees as a percentage

tree_ht Canopy height in meters (eq. 24)

tree_lai Tree leaf area index used in calculation of stand characteristics as a ratio (eq. 17)

uf Unscorched fraction of the crown length as a fraction

ufact Wind effect multiplier coefficient (eq. 68)
65

MCFire Model Technical Description

Variable Description

v1 Volume of 1-hour dead fuel in cubic feet of fuel per square foot of ground

v10 Volume of 10-hour dead fuel in cubic feet of fuel per square foot of ground

v100 Volume of 100-hour dead fuel in cubic feet of fuel per square foot of ground

vclass VEMAP2 vegetation class (VEMAP Members 1995)

vherb Volume of live grass fuel in cubic feet of fuel per square foot of ground

vol_reduc Reduction in volume of the 1,000-hour dead fuel as a fraction (eq. 86)

vpr_sacred[month] Monthly average vapor pressure in pascals (table 2)

vwood Volume of live wood fuel in cubic feet of fuel per square foot of ground

w10 Daily value of the amount of 10-hour dead fuel in grams of dry matter per 

square meter

Daily value of the amount of 10-hour dead fuel in pounds of dry matter per 

square foot

w100 Daily value of the amount of 100-hour dead fuel in grams of dry matter per 

square meter

Daily value of the amount of 100-hour dead fuel in pounds of dry matter per 

square foot

w1000 Daily value of the amount of 1,000-hour dead fuel in grams of dry matter per 

square meter

Daily value of the amount of 1,000-hour dead fuel in pounds of dry matter per 

square foot

w100n Daily net fuel loading of the 100-hour fuel class in pounds of dry matter per 

square foot

w10n Daily net fuel loading of the 10-hour fuel class in pounds of dry matter per 

square foot

w1n Daily net fuel loading of the 1-hour fuel class in pounds of dry matter per 

square foot

w1p Daily value of the amount of 1-hour dead fuel in grams of dry matter per 

square meter

Daily value of the amount of 1-hour dead fuel in pounds of dry matter per 

square foot

wdeadn Net loading of dead fuels for spread calculation in pounds of dry matter per 

square foot

wdedne Net loading of dead fuels for energy release calculation in pounds of dry matter 

per square foot

wherbn Net fuel loading of live grass fuel in pounds of dry matter per square foot

wherbp Daily value of the amount of live grass in grams of dry matter per square meter

Daily value of the amount of live grass in pounds of dry matter per square foot

wliven Net loading of live fuels for spread calculation in pounds of dry matter per 

square foot

wlivne Net loading of live fuels for energy release calculation in pounds of dry matter per 

square foot

wndfac Wind factor (table 9)

wrat Ratio of dead-to-live fuel heating numbers (eq. 52)

ws Wind speed in meters per second (table 2)

Wind speed in miles per hour (table 2)

wtmcd Surface-area weighted moisture content of dead fuels as a fraction

wtmcde Mass-weighted moisture content of dead fuels as a fraction

wtmcl Surface-area weighted moisture content of live fuels as a fraction
66

GENERAL TECHNICAL REPORT PNW-GTR-926

Variable Description

wtmcle Mass-weighted moisture content of live fuels as a fraction

wtot Total fuel load in pounds of dry matter per square foot

wtotd Total dead fuel load in pounds of dry matter per square foot

wtotl Total live fuel load in pounds of dry matter per square foot

wwood Live shrub wood fuel, currently set at zero in grams of dry matter per square meter

Live shrub wood fuel, currently set at zero in pounds of dry matter per square foot

wwoodn Net load of live shrub wood fuel in pounds of dry matter per square foot

ymc_100 Moisture content of 100-hour dead fuel for the previous day as a percentage

ymc_1000 Moisture content of 1000-hour dead fuel 7 days ago as a percentage

z Distance from the ground to the bottom of the crown in meters

zeta No-wind propagating flux ratio (eq. 62)

Appendix 2: MCFire Source Code Organization

This appendix provides additional information about the MCFire source code organization and structure. MCFire fire model is written in C programming language, 

and compiled with MC1 source code, and run as a submodel within MC1. The 

source code for MCFire is maintained in a version management system (also known 

as revision control system, or RCS). The source code file names and their version 

numbers that comprise the MCFire model at the initial draft of this report are listed 

in table 12. Model development has been and is ongoing, with code updates occurring frequently, causing the version number to evolve. However, the general organization of the code has remained stable.

Organization of MCFire Procedures

MCFire source code consists of nine primary procedures, which in turn call one or 

more secondary procedures (table 12). Secondary procedures can be called by one 

of the primary or secondary procedures. Although a procedure named “assign()” 

appears twice in table 12 and they appear to perform similar work, they are 

intended to be unique and operate distinctly. 

Organization of MCFire Data

Variable declarations are structured to mirror the overall structure of the code. The 

source file mapss_types.h defines a data structure named DataInputs, which is used 

to pass data between the biogeochemistry module and the fire module and among 

the primary procedures of the fire module. Moreover, the conceptual namespaces 

associated with some of the primary procedures contain additional variable declarations. These variables are used to share data between a primary procedure and its 

associated secondary procedures (fig. 20).

The DataInputs structure itself includes six substructures, one containing 

variables required for saving internal MC1 components and restarting MC1, and the 

BEGIN simulation 

READ fire parametersa

FOR each year to simulate

CALL FireData() to estimate daily values of fire weathera

Estimate rainfall intensity

CALL daily_ppt() to estimate daily precipitation amounts

CALL daily_dat() to estimate other daily variables 

CALL snow_cond() to calculate snowpack and snowmelt 

CALL kbdi() to estimate Keetch-Byram Drought Index 

CALL DFuelMC() to estimate daily moisture content and flammability of dead fuelsa

CALL fuel_mc() to estimate dead-fuel moisture 

CALL flammability() to calculate flammability of fine fuels

CALL min_mc_data() to find the month with the minimum 1,000-hour fuel moisture content

FOR each month of the year

CALL LFuelMC() to estimate moisture content of live fuelsa

CALL live_mc() to estimate live-fuel moisture. 

CALL FuelLoad() to estimate live and dead fuel loadinga

CALL vveg2load() to get vclass-dependent parameters 

IF trees are included in fuel load

CALL tree_dim() to estimate diameter at breast height and height 

CALL live_wood() to estimate loads of live branch and stem wood classes 

END IF

IF dead fuels are included in fuel load

CALL dead_wood() estimate loads of dead-fuel classes 

END IF

CALL bed_depth() to calculate fuel bed depth 

CALL FireBehavior() to estimate fire behaviora

FOR each day of the month

CALL prelim() to perform calculations common to other functions

CALL spread() to calculate rate of spread

CALL release() to calculate energy release

CALL intensity() to calculate fireline intensity

CALL crown_fire() to determine if crown fire would occur 

END FOR

CALL FireEffect() to estimate fire effectsa

FOR each day of the month

CALL vveg2emfac() to get emission factors for current vegetation 

CALL crown_kill() to calculate percentage of crown killed

CALL mortality() to determine tree mortality

CALL consump() to calculate carbon consumed by fire 

CALL emissions() to calculate emissions

CALL black_carbon() to calculate carbon conversion to black carbon 

END FOR

CALL FireOccur() to determine whether to simulate fire, and, if so, the day of occurrencea

CALL FireSched() to apply the effects of a firea

IF a fire occurred this month

CALL part_burn() to calculate area burned

Scale emissions to area burned

Scale mortality and consumption fluxes to area burned

CALL ann_effect() to record fire effects

END IF

END FOR each month of the year

END FOR each year to simulate

END simulation 

a = Primary procedure.
67

MCFire Model Technical Description

others containing data associated with particular primary procedures. Substructure 

fire_param is associated with ReadFireParams(). Substructure fire_state contains 

fire model variables required for saving internal MC1 components and restarting 

MC1. Substructure fire_data is associated with FireData(). Substructure fuel_data is 

associated with FuelLoad(), DFuelMC(), and LFuelMC(). Substructure fire_behav 

is associated with FireBehavior(). Substructure fire_eff is associated with FireEffect() and FireSched(). These substructures of DataInputs are not the same as the 

variables declared in the conceptual namespaces of the primary procedures.

Many variables contain amounts of fuel or biomass of various types. Table 13 

lists these variables organized by conceptual types, to aid in reader understanding.

Table 12—Primary procedures, secondary procedures, and source files for the MCFire simulation 

model

Primary procedure Description

Time

step

Secondary 

procedure(s) Source file (version) 

ReadFireParams() Reads parameter file Once None fire_param.h 

(1.2),fir_params.c 

(1.6)

FireData() Estimates daily weather variables 

from monthly climate data

Year init1(), daily_ppt(), 

daily_dat(), snow_

cond(), kbdi()

fire_data.h (1.3),

fire_data.c (1.11)

DFuelMC() Calculates moisture content of dead 

fuels

Year init2(), cnvrt_

units(), fuel_mc(), 

flammability(), min_

mc_month()

dfuel_mc.h (1.4), 

dfuel_mc.c (1.9)

LFuelMC() Calculates moisture content of live 

fuels

Month live_mc() lfuel_mc.h (1.2),

lfuel_mc.c (1.4) 

FuelLoad() Calculates fuel load characteristics Month tree_dim(), live_

wood(), dead_wood(), 

bed_deptth(), 

vveg2load()

fuel_load.h (1.4),

fuel_load.c (1.2)

FireBehavior() Calculates fire behavior, including 

rate of spread and reaction 

intensity

Month init3(), get_jul(), 

get_daily(), assign(), 

prelim(), spread(), 

release(), intensity(), 

crown_fire(), 

vveg2fuel()

fire_behav.h (1.2),

fire_behav.c (1.7)

FireEffect() Calculates fire effects, including 

mortality, consumption, emissions, 

and black carbon production

Month init4(), assign(), crown_

kill(), mortality(), 

consump(), emissions(), 

vveg2emfac(), black_

carbon()

fire_eff.h (1.2),

fire_eff.c (1.6)

FireOccur() Determines occurrence of fire Month None fire_occur.c (1.6)

FireSched() Calculates area burned Fire onset

occurs

part_burn(), ann_

effect(), vveg_mfri()

fire_sched.h (1.2),

fire_sched.c (1.5)
68

GENERAL TECHNICAL REPORT PNW-GTR-926

MC1 Invocation of MCFire

MC1 executes MCFire by calling sets of MCFire procedures. The calls to 

MCFire procedures take place in three locations in the source code, all within the 

mapss_1t() procedure in mapss_1t.c version 1.22 source file. They occur:

• At the beginning of the simulation, when MC1 calls ReadFireParams() to 

read the fire parameters 

Secondary Procedures of the MCFire Source Code 

Secondary procedures are listed below, along with their associated sections in this report. 

Secondary procedures are called by primary procedures or by other secondary procedures.

Procedure Definition File name

Calling 

procedure

Further 

described in

ann_effect() Summarize fire effects fire_sched.c FireSched() Appendix 2

bed_depth() Calculate fuel-bed depth fuel_load.c FuelLoad() Section 3

black_carbon() Calculate fractions of fuels converted to black carbon fire_eff.c FireEffect() Section 7

consump() Calculate amounts of fuel consumed and vegetation killed fire_eff.c FireEffect() Section 7

crown_fire() Decide whether there is a crown fire fire_behav.c FireBehavior() Section 6

crown_kill() Calculate fraction of crown volume killed fire_eff.c FireEffect() Section 7

daily_dat() Construct daily climate variables (except precipitation) 

from monthly climate inputs

fire_data.c FireData() Section 2

daily_ppt() Construct daily precipitation series from monthly 

precipitation amounts

fire_data.c FireData() Section 2

dead_wood() Divide dead fuels into size classes fuel_load.c FuelLoad() Section 3

emissions() Calculate amounts of seven emissions(particulate matter, 

particulates <10 μm, particulates <2.5 μm, carbon 

monoxide carbon dioxide, methane, and nonmethane 

hydrocarbons)

fire_eff.c FireEffect() Section 7

flammability() Calculate probability of fire start dfuel_mc.c DFuelMC() Section 5

fuel_mc() Calculate moisture content of dead fuels dfuel_mc.c DFuelMC() Section 4

intensity() Calculate fireline intensity and related measures fire_behav.c FireBehavior() Section 6

live_mc() Calculate moisture content of trees and grass lfuel_mc.c LFuelMC() Section 4

live_wood() Calculate live wood fuel class sizes fuel_load.c FuelLoad() Section 3

mortality() Decide whether the trees are killed fire_eff.c FireEffect() Section 7

part_burn() Calculate fraction of cell burned fire_sched.c FireSched() Section 7

prelim() Do preliminary calculations such as packing ratio and net 

fuel loading

fire_behav.c FireBehavior() Section 6

release() Calculate reaction velocity and energy release fire_behav.c FireBehavior() Section 6

snow_cond() Determine snow, update snowpack fire_data.c FireData() Section 2

spread() Calculate rate of spread fire_behav.c FireBehavior() Section 6

tree_dim() Calculate stand characteristics fuel_load.c FuelLoad() Section 3

vveg2emfac() Look up emission factors based on vegetation class fire_eff.c FireEffect() Section 7

vveg2load() Look up fuel load factors based on vegetation class fuel_load.c FuelLoad() Section 3
69

MCFire Model Technical Description

• In mapss_1d(), which is called by mapps_1t(), where two MCFire procedures are called—at the beginning of each simulated year, MC1 calls 

FireData() to estimate daily weather and DFuelMC() to calculate moisture 

content of dead fuels 

• Also in the mapss_1d() procedure, where, for each simulated month, MC1 

calls LFuelMC(), FuelLoad(), FireBehavior(), FireEffect(), FireOccur(), and 

FireSched(); these procedures calculate daily fuel conditions, fire behavior, 

fir effects, and fire occurrence (table 12).

FireBehavior() and FireEffect() are called even in months when no fire occurs. 

Although calls to these procedures are not strictly necessary, the procedures support possible future development of the fire occurrence algorithm that would rely on 

potential fire behavior (for example, the rate of spread).

MCFire Data Passed to MC1

When a fire is simulated, FireSched() and ann_effect() procedures pass data 

back to MC1 to characterize the fire event. MCFire calls the part_burn() procedure 

to determine the fraction of the cell that is affected by the event, and ensures that 

fire fluxes are scaled appropriately before transmittal to MC1. The fire event data, 

after scaling and aggregation, are stored in three data structures: fire_behav and 

fire_eff substructures within data_point structure and the cen_state array (table 14). 

The ann_effect() procedure performs postprocessing of the fire simulation results to 

format them for use by the MC1 biogeochemistry module.

Appendix 3: Revised Fire Occurrence Algorithm

In 2005, the fire occurrence algorithm was revised to use different thresholds for 

determining the day on which a fire will occur. The revised logic was introduced in 

revision 1.6 of fire_occur.c file, and remains in place with all subsequent revisions, 

including MC2—MC1 rewritten in C++ to improve computational efficiency. With 

the revised algorithm, fire still occurs in the month with the lowest 1000-hour fuel 

moisture content, but instead of using Palmer Drought Severity Index (Palmer 

1965), the 1000-hour fuel moisture content (Fosberg et al. 1981), and fine-fuel flammability (Cohen and Deeming 1985) to determine whether fire occurs on a given 

day, MCFire uses a fine-fuel moisture code and build-up index from the Canadian 

Forest Fire Weather Index System (Van Wagner 1987). Fire occurs on the first day 

of the month when both the fine-fuel moisture code and build-up index exceed 

threshold values. In addition, only one fire is simulated per year per grid cell. The 

fine-fuel moisture code and build-up index threshold values are parameterized for 

the eight tree types simulated by MC1, within each climate zone delineated by MC1 

(table 15).
70

GENERAL TECHNICAL REPORT PNW-GTR-926

Figure 20—Pseudocode of MCFire showing the general structure of the MCFire algorithm.

BEGIN simulation 

READ fire parametersa

FOR each year to simulate

CALL FireData() to estimate daily values of fire weathera

Estimate rainfall intensity

CALL daily_ppt() to estimate daily precipitation amounts

CALL daily_dat() to estimate other daily variables 

CALL snow_cond() to calculate snowpack and snowmelt 

CALL kbdi() to estimate Keetch-Byram Drought Index 

CALL DFuelMC() to estimate daily moisture content and flammability of dead fuelsa

CALL fuel_mc() to estimate dead-fuel moisture 

CALL flammability() to calculate flammability of fine fuels

CALL min_mc_data() to find the month with the minimum 1,000-hour fuel moisture content

FOR each month of the year

CALL LFuelMC() to estimate moisture content of live fuelsa

CALL live_mc() to estimate live-fuel moisture. 

CALL FuelLoad() to estimate live and dead fuel loadinga

CALL vveg2load() to get vclass-dependent parameters 

IF trees are included in fuel load

CALL tree_dim() to estimate diameter at breast height and height 

CALL live_wood() to estimate loads of live branch and stem wood classes 

END IF

IF dead fuels are included in fuel load

CALL dead_wood() estimate loads of dead-fuel classes 

END IF

CALL bed_depth() to calculate fuel bed depth 

CALL FireBehavior() to estimate fire behaviora

FOR each day of the month

CALL prelim() to perform calculations common to other functions

CALL spread() to calculate rate of spread

CALL release() to calculate energy release

CALL intensity() to calculate fireline intensity

CALL crown_fire() to determine if crown fire would occur 

END FOR

CALL FireEffect() to estimate fire effectsa

FOR each day of the month

CALL vveg2emfac() to get emission factors for current vegetation 

CALL crown_kill() to calculate percentage of crown killed

CALL mortality() to determine tree mortality

CALL consump() to calculate carbon consumed by fire 

CALL emissions() to calculate emissions

CALL black_carbon() to calculate carbon conversion to black carbon 

END FOR

CALL FireOccur() to determine whether to simulate fire, and, if so, the day of occurrencea

CALL FireSched() to apply the effects of a firea

IF a fire occurred this month

CALL part_burn() to calculate area burned

Scale emissions to area burned

Scale mortality and consumption fluxes to area burned

CALL ann_effect() to record fire effects

END IF

END FOR each month of the year

END FOR each year to simulate

END simulation 

a = Primary procedure.
71

MCFire Model Technical Description

Table 13—MCFire variables organized by concept; note that the dimension of some variables are metric and the 

dimension of the other variables are in Imperial units

Conceptual type Variable Description Dimension

Incoming MC1 carbon 

pools (monthly)

aglivc Aboveground live grass Grams of carbon per square meter

rleavc Leaves of woody vegetation Grams of carbon per square meter

fbrchc Fine branches of woody vegetation Grams of carbon per square meter

rlwodc Coarse branches and boles of woody vegetation Grams of carbon per square meter

metabc_1 Metabolic carbon in litter Grams of carbon per square meter

strucc_1 Structural carbon in litter Grams of carbon per square meter

stdedc Standing dead grass Grams of carbon per square meter

wood1c Fine dead wood Grams of carbon per square meter

wood2c Coarse dead wood Grams of carbon per square meter

MCFire carbon pools

 (monthly)

lgras Corresponds to aglivc Grams of dry matter per square meter

lleaf Corresponds to rleavc Grams of dry matter per square meter

lwod1 Corresponds to fbrchc Grams of dry matter per square meter

lwod100 Corresponds to rlwodc Grams of dry matter per square meter

lwood = lwod1 + lwod100; not in fire_sched.c Grams of dry matter per square meter

lbranch = branch_ frac × lwood; not in fire_sched.c Grams of dry matter per square meter

ltree = lleaf + lwod1 + lwod100; not in fire_sched.c Grams of dry matter per square meter

mlittr Corresponds to metabc_1 Grams of dry matter per square meter

slittr Corresponds to strucc_1 Grams of dry matter per square meter

littr = mlittr + slittr Grams of dry matter per square meter

dstnd Corresponds to stdedc Grams of dry matter per square meter

dwod1 Corresponds to wood1c Grams of dry matter per square meter

dwod2, 

dwod100 

Correspond to wood2c Grams of dry matter per square meter

tot_dfuel = littr + dstnd + dwod1 + dwod100 Grams of dry matter per square meter

MCFire fuel pools

 (monthly)

l_1hr, 

lgrass

Correspond to lgras above Grams of dry matter per square meter

d_1hr frac_1hr of tot_dfuel Grams of dry matter per square meter

d_10hr frac_10hr of tot_dfuel Grams of dry matter per square meter

d_100hr frac_100hr of tot_dfuel Grams of dry matter per square meter

d_1000hr frac_1000hr of tot_dfuel Grams of dry matter per square meter

lgrass Monthly, converted from lgrass in grams of dry 

matter per square meter above

Tons of dry matter per acre

lleaf Monthly, converted from lleaf in grams of dry 

matter per square meter above

Tons of dry matter per acre

lbranch Monthly, converted from lbranch in grams of dry 

matter per square meter above

Tons of dry matter per acre

MCFire daily fuel pools

 (daily)

wherbp, 

wherbn

Corresponds to lgras Grams of dry matter per square meter 

wwood, 

wwoodn

0 Grams of dry matter per square meter 

w1p, 

w1n

Corresponds to d_1hr Grams of dry matter per square meter 

w10, 

w10n

Corresponds to d_10hr Grams of dry matter per square meter 

w100,

w100n

Corresponds to d_100hr Grams of dry matter per square meter 

w1000 Corresponds to d_1000hr Grams of dry matter per square meter 

d1 Daily, converted from w1p Tons of dry matter per acre

d10 Daily, converted from w10 Tons of dry matter per acre

d100 Daily, converted from w100 Tons of dry matter per acre

d1000 Daily, converted from w1000 Tons of dry matter per acre
72

GENERAL TECHNICAL REPORT PNW-GTR-926

MCFire calculates fine-fuel moisture daily, closely following Van Wagner 

(1987). The fine-fuel moisture code is a dimensionless value ranging from 0 to 101, 

representing the moisture conditions of the litter layer on a given day. It is calculated as a function of the litter layer’s moisture content (percent) that is computed in 

one of three ways on a given day: under a drying regime, under a wetting regime, 

or under neither regime. To determine which regime is in place, MCFire calculates 

a drying equilibrium and a wetting equilibrium of moisture content, both calculated 

from the relatively humidity and temperature on the day in question. If the drying 

equilibrium for that day is lower than the moisture content of the previous day, 

Table 14—Structures, each with multiple variables, used for passing MCFire data to MC1; note 

that the data structure cen_state is directly used by MC1's biogeochemistry module

Data structure Variable Value

Corresponding variable in MC1 

biogeochemistry module

fire_behav burn_mo[burn_month] true None

burn_yr true None

burn_day[burn_month] burn_day None

event_ros ros None

event_mc mc_1000hr None

event_ pflamm p_flamm None

event_kbdi kbdi None

event_erc erc None

event_ fli fli None

event_lsh lsh None

event_month burn_month None

fire_eff em_co2[burn_day] —a None

em_co[burn_day] —a None

em_ch4[burn_day] —a None

em_nmhc[burn_day] —a None

em_ pm[burn_day] —a None

em_2p5[burn_day] —a None

em_10[burn_day] —a None

consume_totbio —a None

consume_live —a None

consume_dead —a None

blkc_totbio —a None

death_totbio —a None

death_stem —a None

cen_state cen_state[0] consume[1] × pb frac live leaf consumed, REMF(1)

cen_state[1] consume[2] × pb frac live fine branch consumed, REMF(2)

cen_state[2] consume[2] × pb frac live large wood consumed, REMF(3) 

cen_state[3] consume[3] × pb frac dead fine branch consumed, REMF(4)

cen_state[4] consume[5] × pb frac dead large wood consumed, REMF(5)

cen_state[5] consume[0] × pb frac live grass consumed, FLFREM

cen_state[6] consume[3] × pb frac dead standing fuel consumd FDFREM(1)

cen_state[7] consume[3] × pb frac litter consumed, FDFREM(2) 

cen_state[8] turnover[0] × pb live leaf turnover rate from fire, LEAFDR(MO)

cen_state[9] turnover[1] × pb live fine branch turnover rate from fire, WOODDR(3)

cen_state[10] turnover[2] × pb live coarse wood turnover rate from fire, 

WOODDR(4)

cen_state[11] rootd × pb fine roots killed, FD(1)

cen_state[12] rootd × pb coarse roots killed, FD(2)

cen_state[13] true fire signal, DID_BURN a

 Fire effects are scaled by the burned area (pb).
73

MCFire Model Technical Description

moisture content is calculated by applying a drying rate—calculated from relative 

humidity, temperature, and wind speed—to the moisture content of the previous 

day. If the moisture content of the previous day is lower, then a wetting rate—calculated from relatively humidity and wind speed—is applied to the moisture content. 

If the moisture content of the previous day is between the drying equilibrium and a 

wetting equilibrium, then moisture content is assumed to be the same as moisture 

content for the previous day. 

MCFire accounts for the effect of rainfall on moisture content as modeled by 

Van Wagner (1987): it assumes 0.5 mm of rain is intercepted by the canopy, and 

applies the remainder to increase the moisture content of the litter layer. MCFire 

uses the empirical formula from Van Wagner (1987) to calculate the rate at which 

rainfall increases moisture content. As the rainfall amount or the current moisture 

content increases, less rainfall is held by the litter.

MCFire also calculates the build-up index daily, closely following Van Wagner 

(1987). The build-up index is a dimensionless value representing total fuel available 

to a flaming front, ranging from 0 to 281 (fig. 21). The build-up index is a harmonic 

average of the duff moisture code and the drought code, both computed daily. The 

duff moisture code is an index of the moisture content of the duff layer, ranging 

from 0 to 250. It is calculated as a log function of the moisture content (percent). If 

rainfall is ≤1.5 mm on a given day, moisture content is initially the same as the duff 

moisture code for the previous day; on the first day simulated, MCFire assumes 

that the duff moisture code for the previous day is 6. If rainfall >1.5 mm, higher 

moisture content is calculated as a function of the duff moisture code from the 

previous day and that the rainfall amount for the previous day is >1.5 mm. In either 

Table 15—Fine-fuel moisture code and build-up index thresholds, used to by MCFire determine occurrence of fire 

on a given day for each tree type that MC1 simulates and for each climate zone and variable that MC1 defines 

Tree typea

Threshold Climate zone EN EN-DB DB DB-EB EN-EB EB DN DN-EN

Fine-fuel Arctic 94 94 94 94 94 94 94 94

 moisture code Boreal 83.95 92 92 87 91.42 91.42 83.95 83.95

Temperate 89.13744 92 92 87 91.42 91.42 89.13744 89.13744

Subtropical 89.13744 92 92 87 91.42 91.42 89.13744 89.13744

Tropical 89.13744 92 92 87 91.42 91.42 89.13744 89.13744

Build-up index Arctic 147 147 147 147 147 147 147 147

Boreal 38.2 150 150 110 223.11 223.11 38.2 38.2

Temperate 245 150 150 110 223.11 223.11 245 245

Subtropical 245 150 150 110 223.11 223.11 245 245

Tropical 245 150 150 110 223.11 223.11 245 245 a

 Evergreen (E), needleleaf (N), deciduous (D), and broadleaf (B).
74

GENERAL TECHNICAL REPORT PNW-GTR-926

circumstance, the initial moisture content is reduced using a drying rate, calculated 

from temperature, humidity, and day length.

Drought code is an index of very slow drying moisture in the system, ranging 

from 0 to 800. The overall logical structure of drought code calculation is similar 

to that for the duff moisture code. On a given day, if rainfall is ≤2.8 mm, moisture 

content for the day is initially the same as the drought code for the previous day; on 

the first day simulated, MCFire assumes that the drought code for the previous day 

is 15. If rainfall on that day is >2.8 mm, a higher moisture content is calculated as 

a function of the drought code and effective rainfall for the previous day. In either 

circumstance, the initial moisture content is reduced using a drying rate, calculated 

from temperature and day length.
75

MCFire Model Technical Description

Figure 21—Build-up index plotted as a function of duff moisture code, for selected values of drought code; the index, a dimensionless value representing total fuel available to a flaming front ranging from 0 to 281, is a harmonic average of duff moisture code and 

drought code, both computed daily. 

0

50

100

150

200

250

300

0 50 100 150 200 250

Build up index

Duff moisture code

800

700

600

500

400

300

200

100

Drought code
76
77

Pacific Northwest Research Station

Web site http://www.fs.fed.us/pnw/

Telephone (503) 808–2592

Publication requests (503) 808–2138

FAX (503) 808–2130

E-mail pnw_pnwpubs@fs.fed.us

Mailing address Publications Distribution

Pacific Northwest Research Station

P.O. Box 3890

Portland, OR 97208–3890
U.S. Department of Agriculture

Pacific Northwest Research Station

1220 SW 3rd Ave.

P.O. Box 3890

Portland, OR 97208–3890

Official Business

Penalty for Private Use, $300