FATE
simulationR/PRE_FATE.params_PFGsuccession.R
PRE_FATE.params_PFGsuccession.Rd
This script is designed to create parameter files containing
succession parameters for each PFG (one file for each of them) used in the
core module of FATE
.
PRE_FATE.params_PFGsuccession(
name.simulation,
mat.PFG.succ,
strata.limits = c(0, 20, 50, 150, 400, 1000, 2000, 5000, 10000),
strata.limits_reduce = TRUE,
opt.folder.name = NULL
)
a string
corresponding to the main directory
or simulation name of the FATE
simulation
a data.frame
with at least 5 columns : PFG
, type
, height
, maturity
, longevity
(and optionally, max_abundance
, potential_fecundity
,
immature_size
, is_alien
, flammability
)
(see Details
)
a vector
of integer
containing values
among which height strata limits will be chosen
default TRUE
.
If TRUE
, stratum
height limits are checked to try and bring several PFGs together in a same
stratum
(optional)
a string
corresponding
to the name of the folder that will be created into the
name.simulation/DATA/PFGS/SUCC/
directory to store the results
A .txt
file per PFG into the
name.simulation/DATA/PFGS/SUCC/
directory with the following
parameters :
name of the PFG
PFG life-form (H
: herbaceous C
:
chamaephyte P
: phanerophyte)
PFG maximum height (in cm)
PFG maturity age (in years)
PFG life span (in years)
maximum height stratum that the PFG can reach
maximum abundance of mature individuals that the PFG can reach
PFG immature relative size (integer between 0
and 100
%)
ages at which the PFG goes in the upper stratum
(in years, put a value higher than the PFG life span if it is
not supposed to rise a stratum)
maximum number of years seeds are able to survive (for active and dormant pool)
are the seeds dormant or not (0
: No
1
: Yes)
maximum number of seeds produced by the PFG
is the PFG an alien or not (0
: No 1
:
Yes)
how easily the PFG burns (numeric
)
A SUCC_COMPLETE_TABLE.csv
file summarizing information for all
groups into the name.simulation/DATA/PFGS/
directory.
This file can be used to parameterize the disturbance files (see
PRE_FATE.params_PFGdisturbance
).
If the opt.folder.name
has been used, the files will be into the
folder name.simulation/DATA/PFGS/SUCC/opt.folder.name/
.
The core module of FATE
allows the user to simulate a
primary vegetation succession based on a demography model.
Several parameters, given within mat.PFG.succ
, are required for
each PFG in order to set up this life cycle :
or life-form, based on Raunkier.
It should be either
H
(herbaceous), C
(chamaephyte) or P
(phanerophyte)
for now
the maximum or average height that reach the PFG
the age from which the PFG can reproduce
the maximum or average lifespan of the PFG
the maximum abundance of mature PFG
the maximum number of seeds produced
by the PFG
(otherwise the value is given within the global parameter
file, see PRE_FATE.params_globalParameters
)
the relative size of immature versus mature plants
if the PFG is to be considered as an alien
(1
) or not (0
)
how easily the PFG burns
These values will allow to calculate or define a set of characteristics for all PFG :
= height values that define each stratum.
Two methods to define these limits are available :
from predefined rules (using strata.limits_reduce
= TRUE
, strata.limits
, height
) :
limits should go exponentially and are selected among
strata.limits
PFG are separated according to these strata.limits
and
then grouped making sure to have
$$\text{number of PFG per stratum} \geq \sqrt{\text{total number
of PFG}} - 2$$
to try to homogenize the number of PFG within each stratum.
from user data : (using strata.limits_reduce =
FALSE
)
with the values contained within the strata.limits
column, if provided
and a set of characteristics for each PFG :
= maximum stratum that each PFG can reach
= maximum abundance of mature PFG
= It can be seen as a proxy of maximum carrying capacity for mature
individuals
(and therefore as a broad proxy of the amount
of space a PFG can occupy within a pixel (herbaceous should be more
numerous than phanerophytes).
Two methods to define these abundances are available :
from predefined rules (using type
,
HEIGHT
) :
HEIGHT | <20cm | <50cm | <150cm | >150cm |
H (herbaceous) | 100 | 100 | 50 | 50 |
C (chamaephyte) | 100 | 50 | 50 | 10 |
P (phanerophyte) | 100 | 50 | 10 | 10 |
from user data :
with the values contained within the max_abundance
column, if provided
= relative size of immature versus mature plants
= for example, immature herbaceous take as much space as mature
herbaceous, while immature phanerophytes take less space (and
contribute to shade half less) than mature individuals
Two methods to define these sizes are available :
from predefined rules (using type
, HEIGHT
)
:
HEIGHT | <20cm | <50cm | <10m | >10m |
H (herbaceous) | 100% | 80% | 50% | 50% |
C (chamaephyte) | 100% | 50% | 50% | 50% |
P (phanerophyte) | 50% | 50% | 50% | 10% |
from user data :
with the values contained within the immature_size
column, if provided
= at what age each PFG goes into the upper stratum
It is defined using a logistic growth curve with 2 points to
parameterize it :
at \(age = \text{maturity}/2\), \(height = \text{IMM_SIZE} * \text{height}\)
at \(age = \text{longevity}\), \(height = \text{height}\)
= maximum number of seeds produced by the PFG
Two methods to define this number are available :
from predefined rules : same value for all PFG, given
within the global parameter file
(see
PRE_FATE.params_globalParameters
)
from user data :
with the values contained within the potential_fecundity
column, if provided
= if the PFG is to be considered as an alien (1
) or
not (0
)
= how easily the PFG burns
## Create a skeleton folder with the default name ('FATE_simulation')
PRE_FATE.skeletonDirectory()
## Create PFG succession parameter files -----------------------------------------------------
tab.succ = data.frame(PFG = paste0('PFG', 1:6)
, type = c('C', 'C', 'H', 'H', 'P', 'P')
, height = c(10, 250, 36, 68, 1250, 550)
, maturity = c(5, 5, 3, 3, 8, 9)
, longevity = c(12, 200, 25, 4, 110, 70))
PRE_FATE.params_PFGsuccession(name.simulation = 'FATE_simulation'
, mat.PFG.succ = tab.succ)
## Create PFG succession parameter files (with immature_size) --------------------------------
tab.succ = data.frame(PFG = paste0('PFG', 1:6)
, type = c('C', 'C', 'H', 'H', 'P', 'P')
, height = c(10, 250, 36, 68, 1250, 550)
, maturity = c(5, 5, 3, 3, 8, 9)
, longevity = c(12, 200, 25, 4, 110, 70)
, immature_size = c(100, 80, 100, 100, 10, 50))
PRE_FATE.params_PFGsuccession(name.simulation = 'FATE_simulation'
, mat.PFG.succ = tab.succ)
## -------------------------------------------------------------------------------------------
## Load example data
Champsaur_params = .loadData('Champsaur_params', 'RData')
## Create a skeleton folder
PRE_FATE.skeletonDirectory(name.simulation = 'FATE_Champsaur')
## PFG traits for succession
tab.succ = Champsaur_params$tab.SUCC
str(tab.succ)
## Create PFG succession parameter files -----------------------------------------------------
PRE_FATE.params_PFGsuccession(name.simulation = 'FATE_Champsaur'
, mat.PFG.succ = tab.succ)
## Create PFG succession parameter files (fixing strata limits) ------------------------------
PRE_FATE.params_PFGsuccession(name.simulation = 'FATE_Champsaur'
, mat.PFG.succ = tab.succ
, strata.limits = c(0, 20, 50, 150, 400, 1000, 2000)
, strata.limits_reduce = FALSE)