In barrks
, model()
is used to customize a model. Here, the parameters are
described that can be used to customize PHENIPS-Clim. The model
is currently unpublished. This manual will be updated as soon as a
publication is available. Look here to find
out how to apply the model.
The date, when the degree days start to sum up ('MM-DD').
Base temperature to calculate degree days to trigger the onset.
Function with the SpatRasters tmax
(maximum temperature)
and dd_tmax
(degree days of maximum temperature) as parameters.
The function should return TRUE
when the base onset is
triggered. See onset_add_dd
for the actual onset of infestation.
Alternative
way to calculate the diapause (see dd_onset_start_date
, dd_onset_base
and
onset_func
). The first of both onset variants will be used. Set
onset_alt_func = NULL
to disable the alternative onset calculation.
Vector of options to calculate the actual onset of
infestation. The vector should be named after the share of beetles that
already started breeding when the onset is triggered (choose an option via
phenology(..., onset_mode = [option])
when applying the
model). The values specify the degree days that are required starting at the
first positive return value of onset_func
.
Minimum temperature that beetles need to fly.
Degree days that are required for a generation to fully develop
Named numeric vector of shares in the total development
when the oviposition is finished. The vector should be named after the share
of beetles that should be taken into account (choose an option via
phenology(..., oviposition_mode = [option])
when applying the
model).
Share in total development when the juvenile beetle's development ends. Usable if the development above this threshold should account for mating, oviposition etc.
Share in the total development, when a sister brood will be established.
The beetles are considered to be in
white stages (egg, larva, pupa) if their development exceeds dev_mortal_min
and subceeds dev_mortal_max
. During these stages, the beetles could die
due to a mortality event. NULL
means that no lower/upper threshold is
defined.
Temperature for optimal development.
Functions to calculate the bark temperatures (see Baier2007;nobracketsbarrks, equations A.3 to A.5). Each parameter will be passed as SpatRaster:
tmean
: mean air temperature
tmax
: maximum air temperature
rad
: radiation
btmax
: maximum bark temperature
Data frame that specifies the development rates per day depending
on the mean temperature and the temperature amplitude. Column names are the
mean temperatures and row names the temperature amplitudes both with one
decimal place.
base onset (see onset_func
) to trigger the actual onset.
Date when the model ends (no further development will be modeled).
Date before which an initiation of the diapause is impossible ('MM-DD').
Function to calculate the initiation
of the diapause if the model was applied using phenology(..., diapause_mode = 'thermal')
.
The diapause will be initiated the last time when the function returns TRUE
.
When the daylength falls below this threshold, diapause
will be initiated if the model was applied using
phenology(..., diapause_mode = 'photoperiodic')
.
Temperature threshold below which white stages will die.
In barrks
, model()
is used to customize a model. The following code
illustrates which parameters are available for PHENIPS-Clim and specifies their
default values.
model("phenips-clim", # ==== onset ====
dd_onset_start_date = '03-01',
dd_onset_base = 12,
onset_func = \(tmax, dd_tmax) {
0.564071 * tmax + 0.006434 * dd_tmax - 12.37046 > 0
},
dd_onset_alt_start_date = '04-01',
dd_onset_alt_base = 8.3,
onset_alt_func = \(tmax, dd_tmax) dd_tmax >= 140,
onset_add_dd = c('0.1' = 0, '0.5' = 90, '0.9' = 190),
# ==== development ====
tfly = 16.5,
dd_total_dev = 557,
dev_oviposition = c('0.1' = 0.1,
'0.5' = 0.15,
'0.9' = 0.26),
dev_end = 1,
dev_sister_brood = 0.3,
dev_mortal_min = NULL,
dev_mortal_max = 0.6,
topt = 30.4,
func_btmean = function(tmean, rad) {
-0.173 + 0.0008518 * rad + 1.054 * tmean
},
func_btmax = function(tmax, rad) {
1.656 + 0.002955 * rad + 0.534 * tmax + 0.01884 * tmax ^ 2
},
func_btdiff = function(tmax) {
(-310.667 + 9.603 * tmax) / 24
},
# dev_rates too large to show here, type `params('phenips-clim')$dev_rates`
# to get the dev_rates that are used by default
# dev_rates = matrix(...),
model_end_date = '12-31',
# ==== diapause ====
first_diapause_date = '08-12',
diapause_thermal_func = function(daylength, tmax) {
0.8619156 * daylength + 0.5081128 * tmax - 23.63691 > 0
},
daylength_dia = 14.5,
# ==== mortality ====
tlethal = -5
)
model()
, phenology()
, model.phenips_clim.apply
Other model customizations:
model.bso.customize
,
model.chapy.customize
,
model.joensson.customize
,
model.lange.customize
,
model.phenips.customize
,
model.rity.customize