drivers: A nested data frame with one row for each site and columns named according to the arguments of function run_pmodel_f_bysite, namely sitename, params_siml, site_info and forcing.
par: A named list of free (calibratable) model parameters.
kphio: The quantum yield efficiency at optimal temperature φ0, in mol mol−1. When temperature dependence is used, it corresponds to the multiplicative parameter c (see Details).
kphio_par_a: The shape parameter a of the temperature-dependency of quantum yield efficiency (see Details). To disable the temperature dependence, set kphio_par_a = 0.
kphio_par_b: The optimal temperature parameter b of the temperature dependent quantum yield efficiency (see Details), in oC.
soilm_thetastar: The threshold parameter θ∗ in the soil moisture stress function (see Details), given in mm. To turn off the soil moisture stress, set soilm_thetastar = 0.
soilm_betao: The intercept parameter β0 in the soil moisture stress function (see Details). This is the parameter calibrated in Stocker et al. 2020 GMD.
beta_unitcostratio: The unit cost of carboxylation, corresponding to β=b/a′ in Eq. 3 of Stocker et al. 2020 GMD.
rd_to_vcmax: Ratio of Rdark (dark respiration) to Vcmax25.
tau_acclim: Acclimation time scale of photosynthesis, in days.
kc_jmax: Parameter for Jmax cost ratio (corresponding to c∗ in Stocker et al. 2020 GMD).
makecheck: A logical specifying whether checks are performed to verify forcings. Defaults to TRUE.
parallel: A logical specifying whether simulations are to be parallelised (sending data from a certain number of sites to each core). Defaults to FALSE.
ncores: An integer specifying the number of cores used for parallel computing (by default ncores = 2).
Returns
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.
Details
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:
φ0(T)=c(1+a(T−b)2) if 0<c(1+a(T−b)2)<1,
φ0(T)=0 if c(1+a(T−b)2)≤0, and
φ0(T)=1 if c(1+a(T−b)2)≥1.
The ORG setup can be reproduced by setting kphio_par_a = 0
and calibrating the kphio parameter only. The BRC setup (which calibrates cL=4aLbL 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 cL as follows:
a=−0.0004919819
b=32.35294
c=0.6910823cL
The soil moisture stress is implemented as
c("beta(theta)=fracbeta0−1theta∗2\n", "(theta−theta∗)2+1") if 0≤θ≤θ∗ and
β(θ)=1 if θ>θ∗.
In Stocker et al. 2020 GMD, the threshold plant-available soil water is set as θ∗
= 0.6 * whc where whc is the site's water holding capacity. Also, the β reduction at low soil moisture (β0=β(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.
Examples
# Define model parameter values from previous workparams_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 driversoutput <- rsofun::runread_pmodel_f( drivers = rsofun::p_model_drivers, par = params_modl)output_vcmax25 <- rsofun::runread_pmodel_f( drivers = rsofun::p_model_drivers_vcmax25, par = params_modl)