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}}}}


Installation

Install R

R is required. Rstudio will make your experience more enjoyable.

  1. R (requires R 2.15.1+)

    1. Windows (http://cran.r-project.org/bin/windows/base/)
    2. Mac (http://cran.r-project.org/bin/macosx/)
  2. Rstudio

    1. Rstudio (http://www.rstudio.org/download/) nicer GUI

Install the isogasex and required packages

Install the isogasex package

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

  1. ./isogasex_0.1-21_20121017-R2.15.1-template4/

and will include two files, such as

  1. the package: isogasex_0.1-21.tar.gz
  2. and the template: 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:

  1. 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).

    1. cd C:\[your path]\TDL_R_scripts\isogasex_0.1-21_20121017-R2.15.1-template4
    2. "C:\Program Files\R\R-2.15.1\bin\x64\R" CMD INSTALL isogasex_0.1-21.tar.gz
  2. 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:

    1. cd ~/[your path]/TDL_R_scripts/isogasex_0.1-21_20121017-R2.15.1-template4
    2. R CMD INSTALL isogasex_0.1-21.tar.gz

Copy the template file to your data directory before you rename and edit it.

Install package dependencies

These should install automatically with the command above. But if not, these commands will do it:

  XXX commands here

Execution

Try to avoid using spaces in your directory names (folder names) and file names.

Analyze your TDL and/or Licor data

  1. Create a new data analysis directory, such as ./Name_WT001
  2. Copy your TDL and Licor files into your new dir
  3. Copy the isogasex_template4.xls into your new dir
  4. Append a meaningful suffix to the .xls file, such as isogasex_template4_Name_WT001.xls
  5. Edit the .xls file and specify the TDL and Licor filenames, and make any other necessary changes to template inputs.
  6. Load the library: (see end of doc for the remaining steps all together)

    1. library(isogasex)
  7. Assign the xls filename to a variable

    1. input.fn <- "isogasex_template4_Name_WT001.xls"
  8. Specify your new dir (using forward slashes for all systems is preferred)

    1. Mac, Linux:

      1. path <- "/Users/username/Analysis/Name_WT001"
    2. Windows:

      1. path <- "C:/Dropbox/Analysis/Name_WT001"
  9. Run the analysis

    1. a. `isogasex(input.fn, path)}
  10. It will create an ./out directory where output files are created.

  11. Documentation is available with ?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)

Gas exchange calculations

Constants

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} $$

Data

TDL

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} $$

Licor

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

Calculations

Concentration

Calibration tank concentrations

Calibration tank gain. f_val_calc_gain()

$$ \begin{aligned} \sgtw & = & (\sdotkappaHtw - \sdotkappaLtw)(\skappaHtw - \skappaLtw)^{-1} & \quad \textrm{} \ \sgth & = & (\sdotkappaHth - \sdotkappaLth)(\skappaHth - \skappaLth)^{-1} & \quad \textrm{} \ \end{aligned} $$

Calibration tank offset. f_val_calc_offset()

$$ \begin{aligned} \sotw & = & \sdotkappaHtw - \sgtw\skappaHtw & \quad \textrm{} \ \soth & = & \sdotkappaHth - \sgth\skappaHth & \quad \textrm{} \ \end{aligned} $$

Corrected reference values. 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} $$

Corrected chamber values. 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} $$

Total reference and chamber values. 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

xi. f_val_calc_xi()

An output for diagnostics.

$$ \begin{aligned} \sxi & = & \sCe(\sCe-\sCo)^{-1} & \quad \textrm{} \ \end{aligned} $$

A Photosynthesis

A, TDL photosynthesis. 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} $$

Delta from ratios in and out?, (Re/Ro)-1, is this really the same? 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} $$

D from A ratio, (Ro/(13A/12A))-1, should be the same as Dobs above. 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} $$

Select TDL or Licor based on switch

Delta

delta reference and chamber values. 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} $$

delta diff

An output for diagnostics.

$$ \begin{aligned} \sdeltao - \sdeltae \end{aligned} $$

Delta discrimination.

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} $$

delta13C Assimilated, isotopic composition of assimilated sugars. 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} $$

p = (Co - Ce) / Co. f_val_calc_p()

$$ \begin{aligned} p & = & (Co - Ce) / Co \end{aligned} $$

delta13C Respired, isotopic composition of respired CO2. f_val_calc_delta_13C_Resp()

$$ \begin{aligned} delta_13C_Resp & = & (chamber_delta_o - reference_delta_e * (1 - p)) / p \end{aligned} $$

g conductance

gbw BLcond boundary layer conductance for water, Blcond is LI 6400 header

$$ \begin{aligned} chamber_Totalgbw & = & gbw \end{aligned} $$

gbc BLcond/1.37 boundary layer conductance for CO2

$$ \begin{aligned} chamber_Totalgbc & = & gbw / gbc_1.37 \ chamber_12gbc & = & chamber_Totalgbc \ chamber_13gbc & = & chamber_Totalgbc / (1 + (a_b / 1000)) \ \end{aligned} $$

gsw cond stomatal conductance for water

$$ \begin{aligned} chamber_Totalgsw & = & gsc \end{aligned} $$

gsc gsw/1.6 stomatal conductance for CO2

$$ \begin{aligned} chamber_Totalgsc & = & chamber_Totalgsw / gsc_1.6 \ chamber_12gsc & = & chamber_Totalgsc \ chamber_13gsc & = & chamber_Totalgsc / (1 + (a_b / 1000)) \ \end{aligned} $$

gtc, total (stomatal and boundary layer) conductance for CO2

$$ \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} $$

Cx and px (concentrations and pressures)

Ca = Co, ppm CO2 concentration above the leaf = concentration leaving the leaf chamber = ambient CO2 concentration

Cs, ppm CO2 concentration at the leaf surface, cs calculated from eq 40 Ball 1987 Ch 20 Stomatal Function, eds Zeiger, Farquhar, Cowan. 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} $$

pa, partial pressure of CO2 above the leaf, Press is the atmospheric pressure value from the LI6400. 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} $$

ps, partial pressure of CO2 at the leaf surface, Press is the atmospheric pressure value from the LI6400. 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} $$

Ci, ppm CO2 concentration in the sub-stomatal cavities, ci calculated from eq 35 Ball 1987 Ch 20 Stomatal Function, eds Zeiger, Farquhar, Cowan. 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} $$

pi, partial pressure of CO2 in the substomatal cavities, Press is the atmospheric pressure value from the LI6400. 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} $$

pi/pa total pi/pa or total Ci/Ca ratio of substomatal CO2 partial pressure to CO2 partial pressure above leaf = Ci/Ca ratio of mol fractions

$$ \begin{aligned} chamber_Totalpi_pa & = & chamber_Totalpi / chamber_Totalpa \end{aligned} $$

Delta_i predictions

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} $$

Delta_i simple for gm, predicted discrimination including boundary layer effects but not decarboxylation effects. 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} $$

Delta_i simple for modeling a + (b-a) pi/pa predicted discrimination including boundary layer effects but using b adjustments to approximate effects of gm and decarboxylations. 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} $$

Delta_i complex for gm CHECK DERIVATION predicted discrimination including boundary layer effects AND decarboxylation effects. 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} $$

Delta_i simple for gm-Dobs (Di simple for gm)-(Dobs per mil)

$$ \begin{aligned} \textrm{chamber_Delta_i_simple_for_gm_Delta_obs} & = & \textrm{chamber_Delta_i_simple_for_gm} - \textrm{Delta_obs_permil} \end{aligned} $$

Delta_i complex for gm-Dobs (Di complex for gm)-(Dobs per mil)

$$ \begin{aligned} \textrm{chamber_Delta_i_complex_for_gm_Delta_obs} & = & \textrm{chamber_Delta_i_complex_for_gm} - \textrm{Delta_obs_permil} \end{aligned} $$

gm mesophyll conductance

gm point simple, internal leaf (mesophyll) conductance calculated for every D value ignoring decarboxylation effects. 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} $$

gm point complex, internal leaf (mesophyll) conductance calculated for every D value estimating decarboxylation effects. 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} $$

select one of the calculated gm values to use

Sets gm to be either gm_point_simple or gm_point_complex.

pc

pc using gm, total partial pressure of CO2 at the site of carboxylation, Press is the atmospheric pressure value from the LI6400. 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} $$

pc using simple D for gm, includes boundary layer. 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} $$

pc using simple D for modeling. 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} $$

pc using complex D, no decarboxylation [ab(pa-ps)+a(ps-pi)+pi(bs+al)-Dpa]/(bs+al-b) is this different from two up? They give different values but both may not be derived properly. 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} $$

pc using complex D, full model [ab(pa-ps)+a(ps-pi)+pi(bs+al)-(eRd/k+fG*)-Dpa]/(bs+al-b) includes boundary layer and decarboxylation effects. 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 calculated pc values to use

Select one of the five pc values above to use in calculations.

Cc (pc10^6)/(Press1000) ppm CO2 concentration at the site of carboxylation, generally meaning inside the chloroplast and ignoring PEPC in cytosol. 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} $$



erikerhardt/isogasex documentation built on July 16, 2019, 5:25 a.m.