Disturbance functions
FireDisturbance(
cohortData = copy(sim$cohortData),
cohortDefinitionCols = c("pixelGroup", "age", "speciesCode"),
calibrate = FALSE,
postFireRegenSummary = copy(sim$postFireRegenSummary),
treedFirePixelTableSinceLastDisp = sim$treedFirePixelTableSinceLastDisp,
rstCurrentBurn = sim$rstCurrentBurn,
inactivePixelIndex = sim$inactivePixelIndex,
pixelGroupMap = sim$pixelGroupMap,
currentTime = NULL,
rasterToMatch = sim$rasterToMatch,
species = copy(sim$species),
sufficientLight = copy(sim$sufficientLight),
speciesEcoregion = copy(sim$speciesEcoregion),
initialB = 10,
successionTimestep = 10L,
doAssertion = getOption("LandR.assertions", TRUE),
verbose = getOption("LandR.verbose", TRUE)
)
FireDisturbancePM(
cohortData = copy(sim$cohortData),
cohortDefinitionCols = c("pixelGroup", "age", "speciesCode"),
colsForPixelGroups = LandR::columnsForPixelGroups,
calibrate = FALSE,
LANDISPM = TRUE,
postFireRegenSummary = copy(sim$postFireRegenSummary),
treedFirePixelTableSinceLastDisp = copy(sim$treedFirePixelTableSinceLastDisp),
rstCurrentBurn = sim$rstCurrentBurn,
inactivePixelIndex = sim$inactivePixelIndex,
pixelGroupMap = sim$pixelGroupMap,
currentTime = NULL,
rasterToMatch = sim$rasterToMatch,
fireDamageTable = copy(sim$fireDamageTable),
fireRSORas = sim$fireRSORas,
fireROSRas = sim$fireROSRas,
fireCFBRas = sim$fireCFBRas,
species = copy(sim$species),
sufficientLight = copy(sim$sufficientLight),
speciesEcoregion = copy(sim$speciesEcoregion),
initialB = 10,
minRelativeB = copy(sim$minRelativeB),
successionTimestep = 10L,
doAssertion = getOption("LandR.assertions", TRUE),
verbose = getOption("LandR.verbose", TRUE)
)
PeatlandThermokarst(
thawedPixIDs = copy(sim$thawedPixIDs),
treedThawedPixelTableSinceLastDisp = copy(sim$treedThawedPixelTableSinceLastDisp),
wetlands = sim$wetlands,
cohortData = copy(sim$cohortData),
pixelGroupMap = sim$pixelGroupMap,
rasterToMatch = sim$rasterToMatch,
species = copy(sim$species),
speciesEcoregion = copy(sim$speciesEcoregion),
cohortDefinitionCols = c("pixelGroup", "speciesCode", "age"),
initialB = 10L,
inactivePixelIndex = sim$inactivePixelIndex,
currentTime = NULL,
successionTimestep = 10L
)
A data.table
with columns: pixelGroup
, ecoregionGroup
,
speciesCode
, and optionally age
, B
, mortality
, aNPPAct
, and sumB
.
the columns in cohortData
that define unique cohorts
logical. Determines whether to output postFirePixelCohortData
.
Defaults to FALSE
a data.table summarizing for which species serotiny/resprouting were
activated and in how many pixels, for each year. Only necessary if calibrate = TRUE
.
data.table with 3 columns: pixelIndex
,
pixelGroup
, and burnTime
. Each row represents a forested pixel that was
burned up to and including this year, since last dispersal event, with its
corresponding pixelGroup
and time it occurred Pixel group IDs correspond to
the last year's pixelGroupMap
and not necessarily the pixelGroupMap of
the burnTime
year.
raster layer with burnt pixels in currentTime
.
Usually generated by a fire spread module (or collection of modules) like
fireSense
. Values in the raster should contain 0's for unburnt pixels and
values > 0 for burn pixels. NA's are assumed to be outside of the study area.
an internal object to Biomass_core
that track of
inactive pixels.
A RasterLayer
with pixel values equal to a pixel group
number that corresponds exactly to pixelGroup
column in cohortData
.
numeric. Current simulation time step (as in time(sim)
)
A RasterLayer
objects to use as the template for all subsequent
raster operations (i.e., the one used throughout the simulation).
a data.table
with species traits such as longevity, shade tolerance, etc.
Must have column speciesCode
, with species names/IDs. The following is a
list of default trait columns:
"species" same as "speciesCode" -- species ID name
"speciesCode"
"Area" -- inherited from LANDIS-II default table, the Canadian ecoregion from which traits where derived. Not used during the simulation
"firetolerance" -- modulerelative (to other species) fire tolerance
"growthcurve" and "mortalityshape" -- growth curve shape parameters.
"longevity" -- maximum species age
"postfireregen" -- post-fire regeneration strategy ("serotiny", "resprout" or "none")
"resproutprob" -- probability of resprouting
"resproutage_min" -- minimum age at which species is capable of resprouting
"resproutage_max" -- maximum age at which species is capable of resprouting
"seeddistance_eff" -- effective dispersal distance
"seeddistance_max" -- maximum dispersal distance
"shadetolerance" -- relative (to other species) shade tolerance
"sexualmature" -- age at sexual maturity Known optional parameters added/needed by some modules (the user may add others for their own modules):
"inflationFactor" -- Biomass_speciesParameters
module: inflation factor for maxB
"growthCurveSource" -- Biomass_speciesParameters
module: how "growthcurve" was estimated
"mANPPproportion" -- Biomass_speciesParameters
module: multiplication factor to calculate maxANPP
from maxB
"thermokarsttol" -- Biomass_disturbances
module: proportion of biomass surviving after thermokarst (i.e. permafrost thaw). Applied equally across cohorts.
Parameters inherited from LANDIS-II default table, but not used in LandR at the moment:
"leaflongevity"
"wooddecayrate"
"leafLignin"
"hardsoft" Please see the LANDIS-II Biomass Succession Extension v3.2.1 manual (Scheller and Miranda 2015) for further detail.
a data.frame
(not data.table
!) containing probability
of establishment, given a site's light conditions (X0
-X5
) for each level
of a species shade tolerance (1
-5
).
A data.table
with species
-ecoregion
-specific species trait values.
Ecoregion refers to "ecolocation", a categorical variable grouping sites with similar biophysical
characteristics. The table should have at least the following columns: speciesCode
and
ecoregionGroup
, character representation of species and ecoregion groups respectively,
maxB
the maximum biomass for the species in a given 'ecoregion', maxANPP
the maximum
aboveground net primary productivity and SEP
the species establishment probability.
May contain columns inflationFactor
(used to adjust maxB
) and mANPPproportion
(used to calculate maxANPP
).
the initial biomass of new cohorts. Defaults to 10.
If NULL
or NA
, initial cohort biomass is calculated as in LANDIS-II Biomass Succession
Extension v3.2.1 (Scheller & Miranda, 2015):
initialB = asInteger(pmin(maxANPP, asInteger(pmax(1, maxANPP \* exp(-1.6 \* sumB / maxB_eco)))))
where maxANPP
and maxB_eco
are the maximum ANPP and B parameters of the species
in question within the pixel's ecolocation
, and sumB
is the total stand biomass
excluding cohorts with ages less than successionTimestep
.
The time between successive seed dispersal events. In LANDIS-II, this is called "Succession Timestep".
A logical indicating whether some internal tests should be run to
ensure the function is running correctly.
Default: getOption("LandR.assertions", TRUE)
.
Controls message output. Defaults to getOption("LandR.verbose")
character. cohortData
columns used to find identical pixels in terms of
cohort composition, and group them into pixelGroups
.
logical. Should partial mortality be calculated as in LANDIS-II Dynamic Fire System v3.0.
Must be TRUE
for the time being.
data.table
defining upper age limit of cohorts killed by fire.
See LANDIS-II Dynamic Fire System v3.0 Manual for an example.
raster layer of critical spread rate for crowning (m/min) for each burned pixel. If not provided dummy values are used.
raster layer of equilibrium rate of spread (m/min) for each burned pixel. If not provided dummy values are used.
raster layer of crown fraction burnt for each burned pixel. If not provided dummy values are used.
a data.frame
with the cut points to classify stand shadiness.
integer. Vector of pixel IDs than underwent thermokarst (and were converted to wetlands) in the current year (not the last thermokarst event).
data.table with 3 columns: pixelIndex
,
pixelGroup
, and burnTime
. Each row represents a forested pixel that was
burned up to and including this year, since last dispersal event, with its
corresponding pixelGroup
and time it occurred Pixel group IDs correspond to
the last year's pixelGroupMap
and not necessarily the pixelGroupMap of
the burnTime
year.
binary SpatRaster with current wetland pixels.
a list of objects to be exported to sim:
cohortData
pixelGroupMap
lastFireYear
treedFirePixelTableSinceLastDisp
serotinyResproutSuccessPixels
severityBMap
severityData
postFireRegenSummary (if calibrate == TRUE
and !is.null(postFireRegenSummary)
)
FireDisturbance()
simulates post-fire mortality, serotiny and regeneration sequentially occurring after a fire.
Post-fire mortality is assumed to be 100% (stand-replacement). The serotiny and regeneration
algorithms are based on those in LANDIS-II Biomass Succession extension, v3.2.1, with modifications
Requires the following objects in sim
(passed as sim$*
):
@template FireDisturbance.
For any given burnt pixel, the function begins by killing all cohorts
(i.e. removing them from cohortData
). Then it activates serotiny for
serotinous species that had been present pre-fire, and reprouting for reprouter
species. Whether a species successfully regenerates via serotiny or resprouting
depends on its traits (whether it is serotinous, resprouter, both or none;
species
table), pre-fire cohort age (in cohortData
table), its light/shade
requirements (species
table) and its local maxB
(speciesEcoregion
)
table (see Scheller & Miranda, 2015 and Scheller & Mladenoff, 2004 for details).
Unlike in LANDIS-II Biomass Succession extension, v3.2.1, here we allow serotiny
and resprouting to occur in the same pixel to reflect the competitive advantage
of reprouters. However, for a given species only serotiny (takes precedence)
or resprouting can be activated.
The species
table must contain the columns:
sexualmature
-- age at sexual maturity
postfireregen
-- post-fire regeneration strategy ("serotiny", "resprout" or "none")
shadetolerance
-- shade tolerance value relative to other species.
resproutage_min
, resproutage_max
-- minimum and maximum age at which species can repsrout
resproutprob
-- probability of resporuting success (before light/shade suitability is assessed)
FireDisturbancePM()
simulates partial post-fire mortality, serotiny and regeneration
sequentially after a fire. The level of mortality depends of fire severity,
and, by default, follows the mechanisms in LANDIS-II Dynamic Fire System v3.0.
Serotiny and regeneration algorithms algorithms are based on those in
LANDIS-II Biomass Succession extension, v3.2.1, with modifications (see FireDisturbance()
).
Requires the following objects in sim
(and passed as sim$*
):
@template FireDisturbance
fireDamageTable
fireRSORas
(Critical spread rate for crowning)
fireROSRas
(Equilibrium Head Fire Rate of Spread)
fireCFBRas
(Crown Fraction Burnt)
minRelativeB
Rasters of fire behaviour properties (fireRSORas
, fireROSRas
and fireCFBRas
)
can be calculated using the cffdrs
package.
The species
table must contain the columns:
firetolerance
-- fire tolerance value relative to other species.
longevity
-- maximum species age
sexualmature
-- age at sexual maturity
postfireregen
-- post-fire regeneration strategy ("serotiny", "resprout" or "none")
shadetolerance
-- shade tolerance value relative to other species.
resproutage_min
, resproutage_max
-- minimum and maximum age at which species can repsrout
resproutprob
-- probability of resporuting success (before light/shade suitability is assessed)
PeatlandThermokarst()
simulates tree cohort survival/mortality after
peatland permafrost thermokarst. The level of mortality depends on species
tolerance to thermokarst, determined by the thermokarsttol
trait column
in the species
traits table. At the moment, this level of tolerance is used
as the proportion of a cohort biomass that survives (is kept) when a pixel undergoes
thermokarst. This is similar to the partial disturbance effects used in LANDIS-II Biomass
Harvest v4.0. Requires the following objects in sim
(and passed as sim$*
):
thawedPixIDs
treedThawedPixelTableSinceLastDisp
wetlands
cohortData
pixelGroupMap
rasterToMatch
species
speciesEcoregion
inactivePixelIndex
The species
table must contain the columns:
thermokarsttol
-- proportion of cohort biomass (B) that survives thermokarst
Scheller, R.M. & Miranda, B.R. (2015). LANDIS-II Biomass Succession v3.2 Extension – User Guide.
Scheller, R.M. & Mladenoff, D.J. (2004). A forest growth and biomass module for a landscape simulation model, LANDIS: design, validation, and application. Ecological Modelling, 180, 211–229.
Sturtevant, B.R., Miranda, B.R., Scheller, R.M. & Shinneman, D. (2018). LANDIS-II Dynamic Fire System Extension v3.0 – User Guide.
Scheller, R.M. & Domingo, J.B. (2021). LANDIS-II Biomass Harvest v4.4 Extension – User Guide