FATE
simulationR/PRE_FATE.params_PFGdrought.R
PRE_FATE.params_PFGdrought.Rd
This script is designed to create parameter files containing
response to drought disturbance parameters for each PFG (one file for each
of them) used in the drought disturbance module of FATE
.
PRE_FATE.params_PFGdrought(
name.simulation,
mat.PFG.dist = NULL,
mat.PFG.tol,
mat.PFG.drought,
opt.folder.name = NULL
)
a string
corresponding to the main directory
or simulation name of the FATE
simulation
(optional)
a data.frame
with 5 columns : PFG
, type
, maturity
, longevity
,
age_above_150cm
(see
Details
)
a data.frame
with 3 to 7 columns :
nameDist
,
PFG
,
(responseStage
, breakAge
, resproutAge
),
responseStage
, killedIndiv
, resproutIndiv
(or strategy_tol
)
(see Details
)
a data.frame
with 4 or 6 columns :
PFG
,
threshold_moderate
, threshold_severe
,
counter_recovery
, counter_sens
, counter_cum
(or strategy_drou
)
(optional)
a string
corresponding
to the name of the folder that will be created into the
name.simulation/DATA/PFGS/DROUGHT/
directory to store the results
A .txt
file per PFG into the
name.simulation/DATA/PFGS/DROUGHT/
directory with the following
parameters :
ages at which the PFG changes of response stage (in years)
resprouting age table (in a single row)
This is a vector of no.DIST (=2) * no.responseStages
numbers
corresponding
to the age at which the PFG can be rejuvenated
(younger than the actual one) :
at different response stages (RS
)
for each disturbance (DI
).
These parameters should be given in this order (e.g. with 3 response
stages) : DI1_RS1, DI1_RS2, DI1_RS3, DI2_RS1...
(in
years).
disturbance response table (in a single row)
This is a vector of no.DIST (=2) * no.responseStages * 2
numbers
corresponding
to the proportion of individuals :
that will be killed (Ki
) or resprout
(Re
)
at different response stages (RS
)
for each disturbance (DI
).
These parameters should be given in this order (e.g. with 3 response
stages) : DI1_RS1_Ki, DI1_RS1_Re, DI1_RS2_Ki, DI1_RS2_Re,
DI1_RS3_Ki, DI1_RS3_Re, DI2_RS1_Ki...
(from 0
to 10
, corresponding to 0 to 100%).
proportion of propagules killed by each disturbance
(from 0
to 10
, corresponding to 0 to 100%)
proportion of seeds activated by each disturbance
(from 0
to 10
, corresponding to 0 to 100%)
threshold below which the PFG will experience
moderate drought
(same unit as that of the map given with the
DROUGHT_MASK
flag in
PRE_FATE.params_globalParameters
)
threshold below which the PFG will experience
severe drought
(same unit as that of the map given with the
DROUGHT_MASK
flag in
PRE_FATE.params_globalParameters
)
number of years removed from the PFG counter of cumulated consecutive years of drought events, during non-drought years
number of consecutive years of drought the PFG must
experience before suffering severe effects due to a severe drought
(sensitivity to severe drought)
number of consecutive years of drought the PFG must
experience before any subsequent drought event start having severe effects
(cumulative drought response)
A DROUGHT_COMPLETE_TABLE.csv
file summarizing information for all
groups into the name.simulation/DATA/PFGS/
directory.
If the opt.folder.name
has been used, the files will be into the
folder name.simulation/DATA/PFGS/DROUGHT/opt.folder.name/
.
The drought disturbance module is a specific case of the
disturbance module
. It also allows the user to simulate spatial
perturbation(s) that will impact each PFG in terms of resprouting and
mortality at different response stages, but with specific rules to
determine when the PFG is affected (see
PRE_FATE.params_globalParameters
).
Several parameters, given within mat.PFG.dist
or mat.PFG.tol
,
are required for each PFG in order to set up these responses. The
explanations are the same than those that can be found in
PRE_FATE.params_PFGdisturbance
function. Therefore,
only parameters whose values or descriptions change are detailed
below :
a string
to choose the concerned drought
disturbance : immediate
or delayed
a string
to choose the response to
drought strategy : herbs_cham_1
, herbs_cham_2
,
herbs_cham_3
, trees_1
, trees_2
, trees_3
These values will allow to calculate or define a set of characteristics for each PFG :
= proportion of killed and resprouting individuals
= for each disturbance and for each response stage
Two methods to define these tolerances are available :
from predefined scenarios (using
strategy_tol
) :
the values give the percentage of killed or resprouting individuals
with 1, 2, 3, 4
: response classes
with K
: killed individuals, R
: resprouting
individuals
| ___1___ | ___2___ | ___3___ | ___4___ |
| _K_ _R_ | _K_ _R_ | _K_ _R_ | _K_ _R_ |
________________IMMEDIATE________________
| 10% _0_ | _0_ _0_ | _0_ _0_ | _0_ _0_ |
herbs_cham_1 | 20% _0_ | _0_ _0_ | _0_ _0_ | 10% _0_ |
herbs_cham_2 | 40% _0_ | 10% _0_ | 10% _0_ | 20% _0_ |
herbs_cham_3 | 10% _0_ | _0_ _0_ | _0_ 40% | _0_ 40% |
trees_1 | 20% _0_ | _0_ 10% | _0_ 50% | 10% 50% |
trees_2 | 40% _0_ | 10% 40% | 10% 80% | 20% 80% |
trees_3 _________________DELAYED_________________
| _0_ _0_ | _0_ 10% | _0_ 10% | _0_ 10% |
herbs_cham_1 | _0_ _0_ | _0_ 10% | _0_ 10% | _0_ 10% |
herbs_cham_2 | _0_ _0_ | _0_ 10% | _0_ 10% | _0_ 10% |
herbs_cham_3 | _0_ _0_ | _0_ 10% | _0_ 40% | _0_ 40% |
trees_1 | 10% _0_ | _0_ 40% | _0_ 40% | _0_ 40% |
trees_2 | 20% _0_ | 10% 40% | 10% 50% | 10% 50% |
trees_3
from user data :
with the values contained within the responseStage
,
killedIndiv
and resproutIndiv
columns, if provided
The PFG
column can contain either the life form (H
,
C
or P
) or the PFG name. Both methods can be combined
(but are applied in the order given by the PFG
column).
Supplementary parameters related to drought, given within
mat.PFG.drought
, are required for each PFG :
a value corresponding to the threshold below
which the PFG will experience moderate drought (on the same scale than
threshold_severe
and the map given with the DROUGHT_MASK
flag in PRE_FATE.params_globalParameters
)
a value corresponding to the threshold below
which the PFG will experience severe drought (on the same scale than
threshold_moderate
and the map given with the DROUGHT_MASK
flag in PRE_FATE.params_globalParameters
). It should be
inferior or equal to threshold_moderate
.
an integer
corresponding to the number of
years removed from the PFG counter of cumulated consecutive years of
drought events, during non-drought years
an integer
corresponding to the number of
consecutive years of drought the PFG must experience before suffering
severe effects due to a severe drought (sensitivity to severe
drought)
an integer
corresponding to the number of
consecutive years of drought the PFG must experience before any subsequent
drought event start having severe effects (cumulative drought
response). It should be superior or equal to counter_sens
.
a string
to choose the "counter"
strategy : herbs
, chamaephytes
, trees_shrubs
These values will allow to define a set of characteristics for each PFG :
with the THRESHOLD_MODERATE and THRESHOLD_SEVERE parameters
with the COUNTER_RECOVERY, COUNTER_SENS and COUNTER_CUM parameters
## Create a skeleton folder with the default name ('FATE_simulation')
PRE_FATE.skeletonDirectory()
mat.char = data.frame(PFG = paste0('PFG', 1:6)
, type = c('C', 'C', 'H', 'H', 'P', 'P')
, maturity = c(5, 5, 3, 3, 8, 9)
, longevity = c(12, 200, 25, 4, 110, 70)
, age_above_150cm = c(1000, 100, 1000, 1000, 10, 12))
mat.tol = data.frame(nameDist = 'immediate'
, PFG = paste0('PFG', 1:6)
, strategy_tol = c('herbs_cham_1', 'herbs_cham_2'
, 'herbs_cham_2', 'herbs_cham_3'
, 'trees_1', 'trees_3'))
mat.drought = data.frame(PFG = paste0('PFG', 1:6)
, threshold_moderate = c(0.5, 0.2, 1, 1, 0.8, 0.5)
, threshold_severe = c(0.1, 0.1, 0.8, 0.9, 0.4, 0.2)
, strategy_drou = c('chamaephytes', 'trees_shrubs', 'herbs'
, 'herbs', 'trees_shrubs', 'trees_shrubs'))
## Create PFG response to drought parameter files (with PFG characteristics) -----------------
PRE_FATE.params_PFGdrought(name.simulation = 'FATE_simulation'
, mat.PFG.dist = mat.char
, mat.PFG.tol = mat.tol
, mat.PFG.drought = mat.drought)
## Create PFG response to drought parameter files (with all values) --------------------------
mat.tol = expand.grid(responseStage = 1:3
, PFG = paste0('PFG', 1:6)
, nameDist = 'delayed')
mat.tol$breakAge = c(1, 4, 10
, 1, 4, 10
, 1, 2, 50
, 1, 2, 20
, 2, 6, 95
, 3, 8, 55)
mat.tol$resproutAge = c(0, 0, 4
, 0, 0, 4
, 0, 0, 2
, 0, 0, 2
, 0, 2, 5
, 0, 4, 7)
mat.tol$killedIndiv = c(10, 10, 5
, 10, 10, 5
, 10, 10, 5
, 10, 10, 5
, 10, 7, 4
, 10, 6, 3)
mat.tol$resproutIndiv = c(0, 0, 5
, 0, 0, 5
, 0, 0, 3
, 0, 0, 3
, 0, 1, 4
, 0, 2, 5)
str(mat.tol)
PRE_FATE.params_PFGdrought(name.simulation = 'FATE_simulation'
, mat.PFG.tol = mat.tol
, mat.PFG.drought = mat.drought)