'bake' leaf parameters using temperature response functions
bake(leaf_par, enviro_par, bake_par, constants, assert_units = TRUE)
temp_resp1(par25, E_a, R, T_leaf, T_ref, unitless)
temp_resp2(par25, D_s, E_a, E_d, R, T_leaf, T_ref, unitless)
A list of leaf parameters inheriting class leaf_par
. This can be generated using the make_leafpar
function.
A list of environmental parameters inheriting class enviro_par
. This can be generated using the make_enviropar
function.
A list of temperature response parameters inheriting class bake_par
. This can be generated using the make_bakepar
function.
A list of physical constants inheriting class constants
. This can be generated using the make_constants
function.
Logical. Should parameter units
be checked? The function is faster when FALSE, but input must be in correct units or else results will be incorrect without any warning.
Parameter value at 25 °C of class units
.
Empirical temperature response value in J/mol of class
units
.
Ideal gas constant in J / (mol K) of class units
. See
make_constants()
.
Leaf temperature in K of class units
. Will be converted
to °C.
Reference temperature in K of class units
.
Logical. Should units
be set? The function is faster when FALSE, but input must be in correct units or else results will be incorrect without any warning.
Empirical temperature response value in J / (mol K) of class
units
.
Empirical temperature response value in J/mol of class
units
.
Constructor function for baked
class. This will also inherit class
leaf_par()
and list()
. This function ensures that
temperature is "baked in" to leaf parameter calculations T_leaf
using
temperature response functions detailed below.
Several leaf parameters (leaf_par()
) are temperature sensitive.
Temperature-sensitive parameters are input at a reference temperature of
25 °C. These parameters are provided as par_name25
and then "baked"
using the appropriate temperature response function and parameters in
bake_par()
. The "baked" parameter will have the name without "25"
appended (par_name
). E.g. V_cmax25
becomes V_cmax
.
Temperature response functions following Buckley and Diaz-Espejo (2015)
Temperature response function 1 (temp_response1
):
$$\mathrm{par}(T_\mathrm{leaf}) = \mathrm{par25}~\mathrm{exp}(E_\mathrm{a} / (R T_\mathrm{ref}) (T_\mathrm{leaf} - 25) / (T_\mathrm{leaf} + 273.15))$$
\(T_\mathrm{ref}\) is the reference temperature in K
\(T_\mathrm{leaf}\) is the leaf temperature in °C
Temperature response function 2 (temp_response2
) is the above equation multiplied by:
$$(1 + \mathrm{exp}((D_\mathrm{s} / R - E_\mathrm{d} / (R T_\mathrm{ref})))) / (1 + \mathrm{exp}((D_\mathrm{s} / R) - (E_\mathrm{d} / (R (T_\mathrm{leaf} + 273.15)))))$$
Function 1 increases exponentially with temperature; Function 2 peaks a particular temperature.
Buckley TN, Diaz-Espejo A. 2015. Partitioning changes in photosynthetic rate into contributions from different variables. Plant, Cell and Environment 38: 1200-1211.
bake_par = make_bakepar()
constants = make_constants(use_tealeaves = FALSE)
enviro_par = make_enviropar(use_tealeaves = FALSE)
leaf_par = make_leafpar(
replace = list(T_leaf = set_units(293.15, K)),
use_tealeaves = FALSE
)
baked_leafpar = bake(leaf_par, enviro_par, bake_par, constants)
baked_leafpar$V_cmax25
#> 150 [umol/m^2/s]
baked_leafpar$V_cmax
#> 104.7069 [umol/m^2/s]