View source: R/runread_pmodel_f.R
runread_pmodel_f | R Documentation |
Runs the P-model and loads output in once.
runread_pmodel_f(drivers, par, makecheck = TRUE, parallel = FALSE, ncores = 1)
drivers |
A nested data frame with one row for each site and columns
named according to the arguments of function |
par |
A named list of free (calibratable) model parameters.
|
makecheck |
A logical specifying whether checks are performed to verify
forcings. Defaults to |
parallel |
A logical specifying whether simulations are to be
parallelised (sending data from a certain number of sites to each core).
Defaults to |
ncores |
An integer specifying the number of cores used for parallel
computing (by default |
Depending on the input model parameters, it's possible to run the different P-model setups presented in Stocker et al. 2020 GMD. The P-model version implemented in this package allows more flexibility than the one presented in the paper, with the following functions:
The temperature dependence of the quantum yield efficiency is given by:
\varphi_0 (T) = c (1 + a (T - b)^2 )
if 0 < c (1 + a (T - b)^2 ) < 1
,
\varphi_0 (T) = 0
if c (1 + a (T - b)^2 ) \leq 0
, and
\varphi_0 (T) = 1
if c (1 + a (T - b)^2 ) \geq 1
.
The ORG setup can be reproduced by setting kphio_par_a = 0
and calibrating the kphio
parameter only.
The BRC setup (which calibrates c_L = \frac{a_L b_L}{4}
in Eq. 18) is more difficult to reproduce,
since the temperature-dependency has been reformulated and a custom cost
function would be necessary for calibration. The new parameters
are related to c_L
as follows:
a = -0.0004919819
b = 32.35294
c = 0.6910823 c_L
The soil moisture stress is implemented as
\beta(\theta) = \frac{\beta_0 - 1}{{\theta^{*}}^2}
(\theta - \theta^{*})^2 + 1
if
0 \leq \theta \leq \theta^{*}
and
\beta(\theta) = 1
if \theta > \theta^{*}
.
In Stocker et al. 2020 GMD, the threshold plant-available soil water is set as
\theta^{*}
= 0.6 * whc
where whc
is the site's water holding capacity. Also,
the \beta
reduction at low soil moisture (\beta_0 = \beta(0)
) was parameterized
as a linear function of mean aridity (Eq. 20 in Stocker et al. 2020 GMD) but is
considered a constant model parameter in this package.
Hence, the FULL calibration setup cannot be
exactly replicated.
A data frame (tibble) with one row for each site, site information
stored in the nested column site_info
and outputs stored in the nested
column data
. See run_pmodel_f_bysite
for a detailed
description of the outputs.
# Define model parameter values from previous work
params_modl <- list(
kphio = 0.04998, # setup ORG in Stocker et al. 2020 GMD
kphio_par_a = 0.0, # disable temperature-dependence of kphio
kphio_par_b = 1.0,
soilm_thetastar = 0.6 * 240, # old setup with soil moisture stress
soilm_betao = 0.0,
beta_unitcostratio = 146.0,
rd_to_vcmax = 0.014, # from Atkin et al. 2015 for C3 herbaceous
tau_acclim = 30.0,
kc_jmax = 0.41
)
# Run the model for these parameters and the example drivers
output <- rsofun::runread_pmodel_f(
drivers = rsofun::p_model_drivers,
par = params_modl)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.