knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
knitr::opts_chunk$set(comment = NA, message = FALSE, warning = FALSE, width = 100) knitr::opts_chunk$set(fig.align = "center", fig.height = 4, fig.width = 6) #knitr::opts_chunk$set(echo = FALSE) #knitr::opts_chunk$set(cache = TRUE, autodep=TRUE) #$ #knitr::opts_chunk$set(cache = TRUE) #, autodep=TRUE) #$
\newcommand{\defin}{\bf} \renewcommand{\vector}{} \renewcommand{\matrix}{\mathbf} \newcommand{\permil}{{~}^\textrm{o}\mkern-6mu/\mkern-4mu_\textrm{oo}} \newcommand{\circ}{\textrm{o}}
\newcommand{\Normal} {\textrm{Normal}} \newcommand{\Wishart} {\textrm{Wishart}} \newcommand{\IWishart} {\textrm{Inv-Wishart}} \newcommand{\Chisq} {\textrm{scaled-$\chi^2$}} \newcommand{\IChisq} {\textrm{Scaled-inv-$\chi^2$}} \newcommand{\Dirichlet} {\textrm{Dirichlet}} \newcommand{\dBeta} {\textrm{Beta}} \newcommand{\dGamma} {\textrm{Gamma}} \newcommand{\dIGamma} {\textrm{Inv-Gamma}} \newcommand{\Uniform} {\textrm{Uniform}}
\newcommand{\transpose} {\top}
\newcommand{\isogasex}{\texttt{isogasex}}
\newcommand{\data}[1]{\tilde{#1}} \newcommand{\sdatasig}[1]{\sigma_{#1}^2} \newcommand{\vdatasig}[1]{\Sigma_{#1}}
\newcommand{\subctpr}{} \newcommand{\subctp} {} \newcommand{\subct} {} \newcommand{\subc} {} \newcommand{\subt} {}
\newcommand{\sdotab}{\dot{a}{\textrm{b}}} \newcommand{\sdota}{\dot{a}} \newcommand{\sdotaw}{\dot{a}{\textrm{w}}} \newcommand{\sdotal}{\dot{a}{\textrm{l}}} \newcommand{\sdotbs}{\dot{b}{\textrm{s}}} \newcommand{\sdotb}{\dot{b}} \newcommand{\sdotRstd}{\dot{R}\textrm{std 13C}} \newcommand{\sdotkappaHtw}{\dot{\kappa}{\textrm{H}12}} \newcommand{\sdotkappaHth}{\dot{\kappa}{\textrm{H}13}} \newcommand{\sdotkappaLtw}{\dot{\kappa}{\textrm{L}12}} \newcommand{\sdotkappaLth}{\dot{\kappa}{\textrm{L}13}} \newcommand{\vdotkappaHtw}{\vector{\dot{\kappa}}{\textrm{H}}} \newcommand{\vdotkappaLtw}{\vector{\dot{\kappa}}{\textrm{L}}} \newcommand{\sdotfthC}{\dot{f}{\textrm{13C}}}
\newcommand{\sDeltacomp}{\Delta_{\textrm{comp}\subct}} \newcommand{\sDeltaobs}{\Delta_{\textrm{obs}\subct}} \newcommand{\sDeltapred}{\Delta_{\textrm{pred}\subct}}
\newcommand{\spa}{p_{\textrm{a}\subct}} \newcommand{\sps}{p_{\textrm{s}\subct}} \newcommand{\spi}{p_{\textrm{i}\subct}} \newcommand{\spc}{p_{\textrm{c}\subct}} \newcommand{\spatmL}{p_{\textrm{atm}\subctp}} \newcommand{\sallpressures}{\pi_{\subctp}}
\newcommand{\sdatapatmL}{\data{p}{\textrm{atm}\subctpr}} \newcommand{\ssigpatmL}{\sdatasig{p{\textrm{atm}}}}
\newcommand{\sse}{e_{\subt}} \newcommand{\sseprime}{e_{\subt}^{\prime}} \newcommand{\sRd}{R_{\textrm{d}\subt}}
\newcommand{\sdataRd}{\data{R}{\textrm{d}\subctp}} \newcommand{\ssigRd}{\sdatasig{R{\textrm{d}}}} \newcommand{\ssk}{k_{\subt}}
\newcommand{\sdatak}{\data{k}{\subctp}} \newcommand{\ssigk}{\sdatasig{k{\subct}}} \newcommand{\ssf}{f_{\subct}} \newcommand{\ssfprime}{f_{\subct}^{\prime}} \newcommand{\sGammastar}{\Gamma^{\ast}_{\subt}}
\newcommand{\sdataGammastar}{\data{\Gamma}^{\ast}{\subt}} \newcommand{\ssigGammastar}{\sdatasig{\Gamma^{\ast}{}}}
\newcommand{\sxi}{\xi_{\subctp}} \newcommand{\sdeltao}{\delta_{\textrm{o}\subctp}} \newcommand{\sdeltae}{\delta_{\textrm{e}\subctp}}
\newcommand{\sCa}{C_{\textrm{a}\subctp}} \newcommand{\sCo}{C_{\textrm{o}\subctp}} \newcommand{\sCs}{C_{\textrm{s}\subctp}} \newcommand{\sCi}{C_{\textrm{i}\subctp}} \newcommand{\sCe}{C_{\textrm{e}\subctp}}
\newcommand{\skappaHtw}{\kappa_{\textrm{H}12\subctp}} \newcommand{\skappaHth}{\kappa_{\textrm{H}13\subctp}} \newcommand{\skappaLtw}{\kappa_{\textrm{L}12\subctp}} \newcommand{\skappaLth}{\kappa_{\textrm{L}13\subctp}} \newcommand{\vkappaH}{\vector{\kappa}{\textrm{H}\subctp}} \newcommand{\vkappaL}{\vector{\kappa}{\textrm{L}\subctp}}
\newcommand{\skappaRtw}{\kappa_{\textrm{R}12\subc}} \newcommand{\skappaRth}{\kappa_{\textrm{R}13\subc}} \newcommand{\skappaCtw}{\kappa_{\textrm{C}12\subctp}} \newcommand{\skappaCth}{\kappa_{\textrm{C}13\subctp}} \newcommand{\vkappaR}{\vector{\kappa}{\textrm{R}\subc}} \newcommand{\vkappaC}{\vector{\kappa}{\textrm{C}\subctp}}
\newcommand{\skappaRtwp}{\skappaRtw^{\prime}} \newcommand{\skappaRthp}{\skappaRth^{\prime}} \newcommand{\skappaCtwp}{\skappaCtw^{\prime}} \newcommand{\skappaCthp}{\skappaCth^{\prime}} \newcommand{\vkappaRp}{\vkappaR^{\prime}} \newcommand{\vkappaCp}{\vkappaC^{\prime}}
\newcommand{\sgtw}{g_{\textrm{12}\subctp}} \newcommand{\sgth}{g_{\textrm{13}\subctp}} \newcommand{\sotw}{o_{\textrm{12}\subctp}} \newcommand{\soth}{o_{\textrm{13}\subctp}}
\newcommand{\vdatakappaH}{\data{\vector{\kappa}}{\textrm{H}\subctpr}} \newcommand{\vdatakappaL}{\data{\vector{\kappa}}{\textrm{L}\subctpr}} \newcommand{\vdatakappaR}{\data{\vector{\kappa}}{\textrm{R}\subctpr}} \newcommand{\vdatakappaC}{\data{\vector{\kappa}}{\textrm{C}\subctpr}} \newcommand{\sdatakappaHtw}{\data{\kappa}{\textrm{H}12\subctpr}} \newcommand{\sdatakappaHth}{\data{\kappa}{\textrm{H}13\subctpr}} \newcommand{\sdatakappaLtw}{\data{\kappa}{\textrm{L}12\subctpr}} \newcommand{\sdatakappaLth}{\data{\kappa}{\textrm{L}13\subctpr}} \newcommand{\sdatakappaRtw}{\data{\kappa}{\textrm{R}12\subctpr}} \newcommand{\sdatakappaRth}{\data{\kappa}{\textrm{R}13\subctpr}} \newcommand{\sdatakappaCtw}{\data{\kappa}{\textrm{C}12\subctpr}} \newcommand{\sdatakappaCth}{\data{\kappa}{\textrm{C}13\subctpr}} \newcommand{\vsigkappaH}{\vdatasig{\vector{\kappa}{\textrm{H}}}} \newcommand{\vsigkappaL}{\vdatasig{\vector{\kappa}{\textrm{L}}}} \newcommand{\vsigkappaR}{\vdatasig{\vector{\kappa}{\textrm{R}}}} \newcommand{\vsigkappaC}{\vdatasig{\vector{\kappa}{\textrm{C}}}}
\newcommand{\sAL}{A_{\subctp}} \newcommand{\sdataAL}{\data{A}_{\subctpr}} \newcommand{\ssigAL}{\sdatasig{A}}
\newcommand{\sgm}{g_{\textrm{m}\subctp}}
\newcommand{\sE}{E_{\subctp}} \newcommand{\sdataE}{\data{E}_{\subctpr}} \newcommand{\ssigE}{\sdatasig{E}}
\newcommand{\sgsc}{g_{\textrm{sc}}} \newcommand{\sdotgsc}{\dot{g}_{\textrm{sc}}} \renewcommand{\sgsc}{\sdotgsc}
\newcommand{\sgbc}{g_{\textrm{bc}}} \newcommand{\sdotgbc}{\dot{g}_{\textrm{bc}}} \renewcommand{\sgbc}{\sdotgbc}
\newcommand{\sgtc}{g_{\textrm{tc}\subctp}} \newcommand{\sdatagtc}{\data{g}{\textrm{tc}\subctpr}} \newcommand{\ssiggtc}{\sdatasig{g{\textrm{tc}}}}
R is required. Rstudio will make your experience more enjoyable.
R (requires R 2.15.1+)
Rstudio
From the shared dropbox folder ./TDL_R_scripts/
install the current version of isogasex.
The package installation file will appear in a folder named something like
./isogasex_0.1-21_20121017-R2.15.1-template4/
and will include two files, such as
isogasex_0.1-21.tar.gz
isogasex_template4.xls
There doesn't seem to be a way to install local packages within R anymore, so it has to be done from the command prompt. From your shell or command prompt:
Windows, open your command prompt (cmd), change to directory with install file, and install it (you need to get the correct path, filename, and R command name).
cd C:\[your path]\TDL_R_scripts\isogasex_0.1-21_20121017-R2.15.1-template4
"C:\Program Files\R\R-2.15.1\bin\x64\R" CMD INSTALL isogasex_0.1-21.tar.gz
Mac, I can't walk you through this since I don't have access to a Mac right now, but it's similar, probably something like this:
cd ~/[your path]/TDL_R_scripts/isogasex_0.1-21_20121017-R2.15.1-template4
R CMD INSTALL isogasex_0.1-21.tar.gz
Copy the template file to your data directory before you rename and edit it.
These should install automatically with the command above. But if not, these commands will do it:
XXX commands here
Try to avoid using spaces in your directory names (folder names) and file names.
Analyze your TDL and/or Licor data
./Name_WT001
isogasex_template4.xls
into your new dir.xls
file, such as isogasex_template4_Name_WT001.xls
.xls
file and specify the TDL and Licor filenames, and make any other necessary changes to template inputs.Load the library: (see end of doc for the remaining steps all together)
library(isogasex)
Assign the xls filename to a variable
input.fn <- "isogasex_template4_Name_WT001.xls"
Specify your new dir (using forward slashes for all systems is preferred)
Mac, Linux:
path <- "/Users/username/Analysis/Name_WT001"
Windows:
path <- "C:/Dropbox/Analysis/Name_WT001"
Run the analysis
It will create an ./out
directory where output files are created.
?isogasex
Use a block of code like this, set your file name and directory, and copy/paste into R.
library(isogasex) # ?isogasex input.fn <- "isogasex_template4_Name_WT001.xls" path <- "/Users/username/Analysis/Name_WT001" # Mac path <- "C:/Dropbox/Analysis/Name_WT001" # Windows isogasex(input.fn, path)
While each of these values have their own associated uncertainty, we take them to be constant at their (accepted or measured) values for the analysis. Common values are included below, though these may be changed in the template.
Variable | Value | Description -----------------------------|----------------------|--------------------------- true_value_hi_12C | 473.335802876395 | True calibration tank values true_value_hi_13C | 5.18320929165481 | true_value_lo_12C | 243.473784568456 | true_value_lo_13C | 2.66630113136477 | fo_13C | 0.004922 | if only 12 and 13CO2 are measured, fo means fraction of other isotopologues not measured fo_18O | 0.000821 | if 12 and 13CO2, and 12C18O16O are measured (not ususal for Dave's machine) Rstd_13C | 0.0111797 | (Rvpdb) Rstd_18O | 0.0020052 | (Rvsmow) may occaisionally be used with Dave's machine, method not tested yet Gamma_star | 1 | CO2 compensation point in absence of day respiration. I will need to specify experiment specific values for these constants in the equations below f_photo_respiration | 1 | fractionation associated with photorespiration e | 1 | fractionation associated with day respiration Rd | 1 | day respiration k | 1 | carboxylation efficiency, often initial slope of A/Ci, or better A/Cc b_gm | 29 | b_modeling | 27 | b_s | 1.1 | per mil fractionation as CO2 enters solution at 25C bs = 1.1 a | 4.44 | per mil fractionation in still air (stomatal pore and substomata) a = 4.44 a_b | 2.96 | per mil fractionation in boundary layer (slightly mixed), a_b = 2.96 a_l | 0.7 | per mil fractionation during diffusion in water, a_l = 0.7 a_i | a_l + b_s | a_i = a_l + b_s
$$ \begin{aligned} \sdotab & \equiv & 2.96 \permil & \quad\textrm{boundary} \ \sdota & \equiv & 4.44 \permil & \quad\textrm{stomata} \ \sdotaw & \equiv & \sdotal \equiv 0.7 \permil & \quad\textrm{water} \ \sdotbs & \equiv & 1.1 \permil & \quad\textrm{CO2 entering solution at 20$^\circ$ C} \ \sdotb & \equiv & 29 \permil & \quad\textrm{internal conductance via gm} \ \sdotRstd & \equiv & 0.0111797 & \quad\textrm{C ratio of standard} \ \vdotkappaHtw & \equiv & (\sdotkappaHtw, \sdotkappaHth) \equiv (473.3358029, 5.183209292) & \quad\textrm{concentration constants for high tanks} \ \vdotkappaLtw & \equiv & (\sdotkappaLtw, \sdotkappaLth) \equiv (243.4737846, 2.666301131) & \quad\textrm{concentration constants for low tanks} \ \sdotfthC & \equiv & 0.004922 & \quad\textrm{natural fractional abundance of C isotopologues not measured} \ \sgbc & \equiv & 3 & \quad\textrm{conductance at the boundary level, can also be obtained from Licor} \ \end{aligned} $$
The table below lists variables that are required or not. Timing and calculation variables are required. Variables only used for plotting for diagnostics are not strictly required, but the software currently does not handle them if they are missing.
Required | Use | TDL | isogasex var name ---------|--------|----------------|------------------ Yes | Time | TIMESTAMP | TIMESTAMP No | . | RECORD | RECORD Yes | Time | PrevSite | PrevSite No | . | SiteOutput | SiteOutput Yes | Time | StartSeqFlag | StartSeqFlag Yes | Time | SeqActiveFlag | SeqActiveFlag No | . | SiteCount | SiteCount Yes | Calc | ConcA | conc12CO2, chamber_12 Yes | Calc | ConcB | conc13CO2, chamber_13 No | . | ConcC | ConcC No | . | TGAStatus | TGAStatus No | Plot | TGApressure | TGApressure No | Plot | MassFlow1 | MassFlow1 No | Plot | Pressure1 | Pressure1 No | Plot | MassFlow2 | MassFlow2 No | Plot | Pressure2 | Pressure2 No | Plot | PressureProMan | PressureProMan Yes | Calc | tank_hi_12 | interp_tank_hi_12 Yes | Calc | tank_hi_13 | interp_tank_hi_13 Yes | Calc | tank_low_12 | interp_tank_low_12 Yes | Calc | tank_low_13 | interp_tank_low_13 Yes | Calc | reference_12 | interp_reference_12 Yes | Calc | reference_13 | interp_reference_13
Concentrations for high and low calibration tanks (H and L), reference gas entering the chamber (R), and chamber gas exiting the chamber (C).
$$ \begin{aligned} \vdatakappaH & = & (\sdatakappaHtw,\sdatakappaHth)^\transpose & \quad \ \vdatakappaL & = & (\sdatakappaLtw,\sdatakappaLth)^\transpose & \quad \ \vdatakappaR & = & (\sdatakappaRtw,\sdatakappaRth)^\transpose & \quad \ \vdatakappaC & = & (\sdatakappaCtw,\sdatakappaCth)^\transpose & \quad \ \end{aligned} $$
isogasex accepts data from Licor 6400 or 6800. Since the original design of the software was based on the 6400, we have matched the variables from the 6800 that correspond to what is needed for the software based on the 6400 variable names.
The table below lists variables that are required or not. Timing and calculation variables are required. Variables only used for plotting for diagnostics are not strictly required, but the software currently does not handle them if they are missing.
The template can provide constants that override some Licor variables (see below).
* xout
and StmRat
are not used in calculations or plots.
Required | Use | Override | Licor 6400 | Licor 6800 | isogasex var name ---------|--------|----------|---------------|--------------|------------------ No | Time | No | Obs | obs | Obs Yes | Time | No | HHMMSS | hhmmss | HHMMSS Yes | Time | No | FTime | elapsed | FTime Yes | Calc | No | Photo | A | A Yes | Calc | No | Trmmol (mmol) | E (mol)*1000 | E Yes | Plot | No | Tair | Tair | temp_air Yes | Plot | No | Tleaf | Tleaf | temp_leaf No | . | No | TBlk | Tirga | temp_block No | Plot | No | CO2R | CO2_r | Ce No | . | Yes | CO2S | CO2_s | Co Yes | Plot | No | H2OR | H2O_r | xin No | . | No | H2OS | H2O_s | xout No | . | No | RH_R | ? | rh_ref No | . | No | RH_S | RHcham | rh_sam Yes | Calc | Yes | Flow | Flow | uin No | Plot | No | PARi | Qin | par_int No | Plot | No | PARo | Qamb_out | par_ext Yes | Calc | No | Press | Pa | Atm_press No | . | No | CsMch | ? | CsMch No | . | No | HsMch | ? | HsMch No | . | No | StableF | ? | StableF No | . | No | Status | ? | Status Yes | Calc | No | Cond | gtc | gsc No | . | No | Ci | Ci | Ci No | Plot | No | VpdL | VPDleaf | VPD Yes | Calc | Yes | Area | S | La No | . | Yes | StmRat | - | StmRat Yes | Calc | Yes | BLCond | gbw | gbw No | . | No | EBal? | - | - No | . | No | CTleaf | - | - No | . | No | BLC_1 | - | - No | . | No | BLCslope | - | - No | . | No | BLCoffst | - | - No | . | No | f_parin | - | - No | . | No | f_parout | - | - No | . | No | alphaK | - | -
$$ \begin{aligned} \sdatapatmL & \sim & \Normal(\spatmL,\ssigpatmL) & \quad \textrm{atmospheric pressure from Licor} \ \sdataAL & \sim & \Normal(\sAL, \ssigAL) & \quad \textrm{photosynthesis from Licor (can also calculate from TDL)} \ \sdatagtc & \sim & \Normal(\sgtc, \ssiggtc) & \quad \textrm{total conductance of CO_2} \ \sdataE & \sim & \Normal(\sE, \ssigE) & \quad \textrm{transpiration rate (water vapor)} \ \end{aligned} $$
I have a note that $\sdatagtc$ is a function of $\sgbc$, $\sgsc$, $\sdotab$, $\sdotgsc$, and $\sdotgbc$.
If switches are set, then constants set in the parameter file can override Licor values.
Switch | Licor | Constant to replace Licor values ------------------------------------------------------|--------|--------------------------------- val_const_override_Licor_flow_rate | uin | flow_rate val_const_override_Licor_leaf_area | La | leaf_area val_const_override_Licor_boundary_layer_cond_to_water | gbw | boundary_layer_cond_to_water val_const_override_Licor_H2OS | xout | H2OS val_const_override_Licor_StmRat | StmRat | StmRat
f_val_calc_gain()
$$ \begin{aligned} \sgtw & = & (\sdotkappaHtw - \sdotkappaLtw)(\skappaHtw - \skappaLtw)^{-1} & \quad \textrm{} \ \sgth & = & (\sdotkappaHth - \sdotkappaLth)(\skappaHth - \skappaLth)^{-1} & \quad \textrm{} \ \end{aligned} $$
f_val_calc_offset()
$$ \begin{aligned} \sotw & = & \sdotkappaHtw - \sgtw\skappaHtw & \quad \textrm{} \ \soth & = & \sdotkappaHth - \sgth\skappaHth & \quad \textrm{} \ \end{aligned} $$
f_val_calc_corrected()
12Ce: 12C Site 1 reference Ce is the ppm CO2 concentration entering the leaf chamber, equivalent terms: reference, Site 1, CO2R
13Ce: 13C Site 1 reference
$$ \begin{aligned} \skappaRtwp & = & \skappaRtw\sgtw + \sotw & \quad \textrm{Ref} \ \skappaRthp & = & \skappaRth\sgth + \soth & \quad \textrm{Ref} \ \end{aligned} $$
f_val_calc_corrected()
12Co: 12C Site 21 chamber Co is the outgoing ppm CO2 concentration from the leaf chamber: sample, Site 21, CO2S, Ca, also air above the leaf
13Co: 13C Site 21 chamber
$$ \begin{aligned} \skappaCtwp & = & \skappaCtw\sgtw + \sotw & \quad \textrm{Chamber} \ \skappaCthp & = & \skappaCth\sgth + \soth & \quad \textrm{Chamber} \ \end{aligned} $$
f_val_calc_total_mol_fraction_CO2()
Total Ce Total Site 1
Total Co Total Site 21
$$ \begin{aligned} \sCe & = & (\skappaRtwp+\skappaRthp)(1-\sdotfthC)^{-1} & \quad \textrm{entering Reference} \ \sCo & \equiv \sCa = & (\skappaCtwp+\skappaCthp)(1-\sdotfthC)^{-1} & \quad \textrm{outgoing Chamber} \ \end{aligned} $$
Ce-Co Total Site 1 - Total Site 21 I like having this as an output for diagnostics
f_val_calc_xi()
An output for diagnostics.
$$ \begin{aligned} \sxi & = & \sCe(\sCe-\sCo)^{-1} & \quad \textrm{} \ \end{aligned} $$
f_val_calc_TDL_A_photosynthesis()
Total, as well as:
12A, TDL photosynthesis.
13A, TDL photosynthesis.
$$ \begin{aligned} A & = & (flow / 10^6) * (Ce - Co) / (leaf_area / 10^4) \end{aligned} $$
f_val_calc_Delta_from_ratios_in_out()
not in per mil
$$ \begin{aligned} Delta_from_ratios_in_out & = & ((ref_13Ce / ref_12Ce) / (cham_13Co / cham_12Co)) - 1 \end{aligned} $$
f_val_calc_Delta_from_A_ratio()
not in per mil
$$ \begin{aligned} \textrm{Delta_from_A_ratio} & = & ((cham_13Co / cham_12Co) / (TDL_13A / TDL_12A)) - 1 \end{aligned} $$
f_val_calc_delta_proportion()
$$ \begin{aligned} \sdeltae & = & { (\skappaRthp/\skappaRtwp)/\sdotRstd - 1 } 10^3\permil & \quad \textrm{Ref} \ \sdeltao & = & { (\skappaCthp/\skappaCtwp)/\sdotRstd - 1 } 10^3\permil & \quad \textrm{Chamber} \ \end{aligned} $$
An output for diagnostics.
$$ \begin{aligned} \sdeltao - \sdeltae \end{aligned} $$
Dobs observed discrimination. f_val_calc_Delta_obs()
Dobs per mil 1000*Dobs. f_val_calc_Delta_obs_permil()
$$ \begin{aligned} \sDeltaobs & = & \sxi(\sdeltao-\sdeltae){1+\sdeltao-\sxi(\sdeltao-\sdeltae)}^{-1}10^3 & \quad \textrm{}\ \end{aligned} $$
f_val_calc_delta_13C_Assim()
NB: Chris did this differently for d13Cs in his paper see following: I think this could be calculated for modelling using the equivalent of de instead of do, i.e., when the leaf modelled is not in a chamber so the air above a leaf is equivalent to the bulk atmosphere.
$$ \begin{aligned} delta_13C_Assim & = & (chamber_delta_o - Delta_obs) / (Delta_obs + 1) \end{aligned} $$
f_val_calc_p()
$$ \begin{aligned} p & = & (Co - Ce) / Co \end{aligned} $$
f_val_calc_delta_13C_Resp()
$$ \begin{aligned} delta_13C_Resp & = & (chamber_delta_o - reference_delta_e * (1 - p)) / p \end{aligned} $$
$$ \begin{aligned} chamber_Totalgbw & = & gbw \end{aligned} $$
$$ \begin{aligned} chamber_Totalgbc & = & gbw / gbc_1.37 \ chamber_12gbc & = & chamber_Totalgbc \ chamber_13gbc & = & chamber_Totalgbc / (1 + (a_b / 1000)) \ \end{aligned} $$
$$ \begin{aligned} chamber_Totalgsw & = & gsc \end{aligned} $$
$$ \begin{aligned} chamber_Totalgsc & = & chamber_Totalgsw / gsc_1.6 \ chamber_12gsc & = & chamber_Totalgsc \ chamber_13gsc & = & chamber_Totalgsc / (1 + (a_b / 1000)) \ \end{aligned} $$
$$ \begin{aligned} chamber_Totalgtc & = & 1 / ((1 / chamber_Totalgbc) + (1 / chamber_Totalgsc)) \ chamber_12gtc & = & chamber_Totalgtc \ chamber_13gtc & = & 1 / ((1 / chamber_13gbc) + (1 / chamber_13gsc)) \ \end{aligned} $$
f_val_calc_Cs()
This value can be from the TDL or Licor: $\sCo$ and $\sAL$.
Total, 12, and 13 values.
$$ \begin{aligned} Cs & = & (((gbc - (E / 2000)) * Co) - A) / (gbc + (E / 2000)) \ Cs_{12} & = & (((gbc_{12} - (E / 2000)) * Co_{12}) - A_{12}) / (gbc_{12} + (E / 2000)) \ Cs_{13} & = & (((gbc_{13} - (E / 2000)) * Co_{13}) - A_{13}) / (gbc_{13} + (E / 2000)) \ \end{aligned} $$
$$ \begin{aligned} \sCs & = & { (\sgbc - \sE/2000)\sCo - \sAL } ( \sgbc + \sE/2000 )^{-1} & \quad \textrm{}\ \end{aligned} $$
f_val_calc_pp()
Total, 12, and 13 values.
$$ \begin{aligned} pa & = & (Co / 10^6) * (Press * 1000) \ pa_{12} & = & (Co_{12} / 10^6) * (Press * 1000) \ pa_{13} & = & (Co_{13} / 10^6) * (Press * 1000) \ \end{aligned} $$
$$ \begin{aligned} \spa & = & (\sCa 10^{-6})(\spatmL 10^3) & \quad \textrm{atmosphere} \ \end{aligned} $$
f_val_calc_pp()
NB: same formula as pa, but using Cs instead of Co
$$ \begin{aligned} \sps & = & (\sCs 10^{-6})(\spatmL 10^3) & \quad \textrm{surface} \ \end{aligned} $$
f_val_calc_Cs()
NB: same formula as Cs, but using gtc instead of gbc
This value can be from the TDL or Licor: $\sCo$ and $\sAL$.
Total, 12, and 13 values.
$$ \begin{aligned} \sCi & = & { (\sgtc - \sE/2000)\sCo - \sAL } ( \sgtc + \sE/2000 )^{-1} & \quad \textrm{}\ \end{aligned} $$
f_val_calc_pp()
NB: same formula as pa, but using Ci instead of Co
$$ \begin{aligned} \spi & = & (\sCi 10^{-6})(\spatmL 10^3) & \quad \textrm{internal} \ \end{aligned} $$
$$ \begin{aligned} chamber_Totalpi_pa & = & chamber_Totalpi / chamber_Totalpa \end{aligned} $$
I'm not sure where this formula belongs -- it's from an older project
$$ \begin{aligned} \sDeltapred & = & \spa^{-1} { \sdotab(\spa-\sps) + \sdota(\sps-\spi) + \sdotb\spc } & \quad \textrm{}\ \end{aligned} $$
f_val_calc_Delta_i_simple_for_gm()
Total values. b_gm constant.
$$ \begin{aligned} \textrm{Delta_i_simple_for_gm} & = & a_b * ((pa - ps) / pa) + a*((ps - pi) / pa) + b * (pi / pa) \end{aligned} $$
f_val_calc_Delta_i_simple_for_modeling()
Total values. b_modeling constant.
$$ \begin{aligned} \textrm{Delta_i_simple_for_modeling} & = & a + (b - a) * pi / pa \end{aligned} $$
f_val_calc_Delta_i_complex_for_gm()
Total values. b_gm constant.
$$ \begin{aligned} \textrm{Delta_i_complex_for_gm} & = & a_b * ((pa - ps) / pa) + a * ((ps - pi) / pa) + b * (pi / pa) - (f_photo * Gamma_star / pa) - (e * Rd / (k * pa)) \end{aligned} $$
$$ \begin{aligned} \textrm{chamber_Delta_i_simple_for_gm_Delta_obs} & = & \textrm{chamber_Delta_i_simple_for_gm} - \textrm{Delta_obs_permil} \end{aligned} $$
$$ \begin{aligned} \textrm{chamber_Delta_i_complex_for_gm_Delta_obs} & = & \textrm{chamber_Delta_i_complex_for_gm} - \textrm{Delta_obs_permil} \end{aligned} $$
f_val_calc_gm_point_simple()
Total, 12, and 13 values.
$$ \begin{aligned} \sgm & = & (\sdotb - \sdotbs - \sdotaw)\sAL\spa^{-1}(\sDeltapred-\sDeltaobs)^{-1} & \quad \textrm{}\ \end{aligned} $$
$$ \begin{aligned} gm_point_simple & = & (( b - bs - al) * A / pa) / (Di - D_obs) \end{aligned} $$
f_val_calc_gm_point_complex()
$$ \begin{aligned} gm_point_complex & = & ((b - bs - al) * A / pa) / (Di - D_obs - (f_photo * Gamma_star / pa) - ((e * Rd) / (k * pa))) \end{aligned} $$
Sets gm to be either gm_point_simple or gm_point_complex.
f_val_calc_pc_using_gm()
Total, 12, and 13 values.
$$ \begin{aligned} \spc & = & \spi - \sAL \sgm^{-1} & \quad \textrm{(chloroplast) carboxylation site} \ \end{aligned} $$
f_val_calc_pc_using_simple_Delta_for_gm()
Total values. b_gm constant.
$$ \begin{aligned} pc & = & (Delta * pa - a_b * (pa - ps) - a * ps) / (b_gm - a) \end{aligned} $$
f_val_calc_pc_using_simple_Delta_for_modeling()
Total values. b_modeling constant.
$$ \begin{aligned} pc & = & (pa * (Delta - a)) / (b_modeling - a) \end{aligned} $$
f_val_calc_pc_using_complex_Delta_no_decarboxylation()
Total values. b_modeling constant.
$$ \begin{aligned} pc & = & (a_b * (pa - ps) + a * (ps - pi) + pi * (bs + al) - Delta * pa) / (bs + al - b) \end{aligned} $$
f_val_calc_pc_using_complex_Delta_full_model()
Total values. b_modeling constant.
$$ \begin{aligned} pc & = & (a_b * (pa - ps) + a * (ps - pi) + pi * (bs + al) - Delta * pa - (e * Rd / k + f * Gamma_star)) / (bs + al - b) \end{aligned} $$
Select one of the five pc values above to use in calculations.
f_val_calc_pp()
NB: same formula as pa, but using pc instead of Co
CURRENTLY using first pc only -- should it use the selected pc in the parameter file?
$$ \begin{aligned} Cc & = & (pc 10^{-6})(\spatmL 10^3) & \quad \textrm{surface} \ \end{aligned} $$
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.