'bake' leaf parameters using temperature response functions
Usage
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)
Arguments
- leaf_par
A list of leaf parameters inheriting class
leaf_par
. This can be generated using themake_leafpar
function.- enviro_par
A list of environmental parameters inheriting class
enviro_par
. This can be generated using themake_enviropar
function.- bake_par
A list of temperature response parameters inheriting class
bake_par
. This can be generated using themake_bakepar
function.- constants
A list of physical constants inheriting class
constants
. This can be generated using themake_constants
function.- assert_units
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.- par25
Parameter value at 25 °C of class
units
.- E_a
Empirical temperature response value in J/mol of class
units
.- R
Ideal gas constant in J / (mol K) of class
units
. Seemake_constants()
.- T_leaf
Leaf temperature in K of class
units
. Will be converted to °C.- T_ref
Reference temperature in K of class
units
.- unitless
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.- D_s
Empirical temperature response value in J / (mol K) of class
units
.- E_d
Empirical temperature response value in J/mol of class
units
.
Value
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.
Details
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.
References
Buckley TN, Diaz-Espejo A. 2015. Partitioning changes in photosynthetic rate into contributions from different variables. Plant, Cell and Environment 38: 1200-1211.
Examples
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]