Calculate temperature-dependent values using Gaussian equations
calculate_peaked_gaussian.Rd
Calculate leaf-temperature-dependent values of various parameters using Gaussian equations. This function can accomodate alternative names for the leaf temperature column. It also checks the units of the leaf temperature column and will produce an error of the units are not correct.
Usage
calculate_peaked_gaussian(
exdf_obj,
peaked_gaussian_parameters,
tleaf_column_name = 'TleafCnd'
)
Arguments
- exdf_obj
An
exdf
object representing data from a Licor gas exchange measurement system.- peaked_gaussian_parameters
A list of named lists. Each list element should describe the optimal temperature in
degrees C
(t_opt
), the "width" indegrees C
(sigma
), and the units (units
) for a variable that follows a peaked Gaussian temperature dependence. The name of each list element should be the corresponding name of the variable.- tleaf_column_name
The name of the column in
exdf_obj
that contains the leaf temperature in units ofdegrees C
.
Details
A Gaussian equation is sometimes used to model the temperature dependence of a biochemical rate parameter. Typically this is expressed by
(1) rate = optimal_rate * exp(-(T - T_opt)^2 / sigma^2)
where optimal_rate
is the highest rate which occurs at the optimal
temperature T_opt
, T
is the current temperature, and
sigma
represents the "width" of the peak. More technically, it can be
described as the difference in temperature away from the optimal value at
which the rate falls to 37 percent (1/e
) of its maximum.
The calculate_peaked_gaussian
function only calculates the temperature
response part of equation (1):
(2) exp(-(T - T_opt)^2 / sigma^2)
Thus, it returns dimensionless scaling factors that are normalized to the optimal rate.
In calculate_peaked_gaussian
, the optimal temperature (t_opt
),
width (sigma
), and units (units
) for a variable must be specified
as elements of a list, which itself is a named element of
peaked_gaussian_parameters
. For example, if a variable called
Jmax
has t_opt = 43
, sigma = 26, and units of
micromol mol^(-1)
, the peaked_gaussian_parameters
argument could
be specified as follows:
list(Jmax_norm = list(t_opt = 43, sigma = 26, units = 'normalized to Jmax at its optimal temperature'))
.
It is rare to directly specify these parameters directly; instead, it is more
typical to use one of the pre-set values such as
c4_peaked_gaussian_von_caemmerer
.
Value
An exdf
object based on exdf_obj
that includes one new column
for each element of peaked_gaussian_parameters
, where the
temperature-dependent values of these new columns are determined using the
temperature values specified by the tleaf_column_name
column. The
category of each of these new columns is calculate_peaked_gaussian
to
indicate that they were created using this function.
Examples
# Read an example Licor file included in the PhotoGEA package
licor_file <- read_gasex_file(
PhotoGEA_example_file_path('ball_berry_1.xlsx')
)
licor_file <- calculate_peaked_gaussian(licor_file, c4_peaked_gaussian_von_caemmerer)
licor_file$units$Jmax_norm # View the units of the new `Jmax_norm` column
#> [1] "normalized to Jmax at its optimal temperature"
licor_file$categories$Jmax_norm # View the category of the new `Jmax_norm` column
#> [1] "calculate_peaked_gaussian"
licor_file[,'Jmax_norm'] # View the values of the new `Jmax_norm` column
#> [1] 0.8088529 0.7877075 0.7725850 0.7672886 0.7672643 0.7642028 0.7567095
#> [8] 0.8508149 0.8302269 0.8305354 0.8238703 0.8305546 0.8302903 0.8312231
#> [15] 0.8710333 0.8564725 0.8476327 0.8463848 0.8455012 0.8324916 0.8421953
#> [22] 0.8798907 0.8620890 0.8490935 0.8431072 0.8454905 0.8323599 0.8315117