.. _rst_Dynamic Global Vegetation Model:
Dynamic Global Vegetation
===================================
What has changed
^^^^^^^^^^^^^^^^^^^^
- Deprecation of the dynamic global vegetation model (DGVM): The CLM5.0 model contains the legacy 'CNDV' code, which runs the CLM biogeochemistry model in combination with the LPJ-derived dynamics vegetation model introduced in CLM3. While this capacity has not technically been removed from the model, the DGVM has not been tested in the development of CLM5 and is no longer scientifically supported.
- Introduction of FATES: The Functionally Assembled Terrestrial Ecosystem Simulator (FATES) is the actively developed DGVM for the CLM5.
.. _rst_FATES:
Technical Documentation for FATES
===================================
FATES is the "Functionally Assembled Terrestrial Ecosystem Simulator". It is an external module which can run within a given "Host Land Model" (HLM). Currently (November 2017) implementations are supported in both the Community Land Model(CLM) and in the land model of the E3SM Dept. of Energy Earth System Model.
FATES was derived from the CLM Ecosystem Demography model (CLM(ED)), which was documented in:
Fisher, R. A., Muszala, S., Verteinstein, M., Lawrence, P., Xu, C., McDowell, N. G., Knox, R. G., Koven, C., Holm, J., Rogers, B. M., Spessa, A., Lawrence, D., and Bonan, G.: Taking off the training wheels: the properties of a dynamic vegetation model without climate envelopes, CLM4.5(ED), Geosci. Model Dev., 8, 3593-3619, https://doi.org/10.5194/gmd-8-3593-2015, 2015.
and this technical note was first published as an appendix to that paper.
https://pdfs.semanticscholar.org/396c/b9f172cb681421ed78325a2237bfb428eece.pdf
Introduction
^^^^^^^^^^^^^^^^^^^
The Ecosystem Demography ('ED'), concept within FATES is derived from the work of :ref:`Moorcroft et al. (2001)`
and is a cohort model of vegetation competition and co-existence, allowing a representation of the biosphere which accounts for the division of the land surface into successional stages, and for competition for light between height structured cohorts of representative trees of various plant functional types.
The implementation of the Ecosystem Demography
concept within FATES links the surface flux and canopy physiology concepts in the CLM/E3SM
with numerous additional developments necessary to accommodate the new
model also documented here. These include a version of the SPITFIRE
(Spread and InTensity of Fire) model of :ref:`Thonicke et al. (2010)`, and an adoption of the concept of
`Perfect Plasticity Approximation` approach of
:ref:`Purves et al. 2008`, :ref:`Lichstein et al. 2011` and :ref:`Weng et al. 2014`, in accounting
for the spatial arrangement of crowns. Novel algorithms accounting for
the fragmentation of coarse woody debris into chemical litter streams,
for the physiological optimisation of canopy thickness, for the
accumulation of seeds in the seed bank, for multi-layer multi-PFT
radiation transfer, for drought-deciduous and cold-deciduous phenology,
for carbon storage allocation, and for tree mortality under carbon
stress, are also included and presented here.
Numerous other implementations of the
Ecosystem Demography concept exist (See :ref:`Fisher et al. (2018)` for a review of these) Therefore, to avoid confusion between the
concept of 'Ecosystem Demography' and the implementation of this concept
in different models, the CLM(ED) implementation described by :ref:`Fisher et al. (2015)` will hereafter be called 'FATES' (the Functionally Assembled Terrestrial Ecosystem Simulator).
The representation of ecosystem heterogeneity in FATES
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The terrestrial surface of the Earth is heterogeneous for many reasons, driven
by variations in climate, edaphic history, ecological variability,
geological forcing and human interventions. Land surface models
represent this variability first by introducing a grid structure to the
land surface, allowing different atmospheric forcings to operate in each
grid cell, and subsequently by representing 'sub-grid' variability in
the surface properties. In the CLM, the land surface is divided into
numerous 'landunits' corresponding to the underlying condition of the
surface (e.g. soils, ice, lakes, bare ground) and then 'columns'
referring to elements of the surface that share below ground resources
(water & nutrients). Within the soil landunit, for example, there are
separate columns for crops, and for natural vegetation, as these are
assumed to use separate resource pools. The FATES model at present
only operates on the naturally vegetated column. The soil column is
sub-divided into numerous tiles, that correspond to statistical
fractions of the potentially vegetated land area. In the CLM 4.5 (and
all previous versions of the model), sub-grid tiling operates on the
basis of plant functional types (PFTs). That is, each piece of land is
assumed to be occupied by only one plant functional type, with multiple
PFT-specific tiles sharing a common soil water and nutrient pool. This
PFT-based tiling structure is the standard method used by most land
surface models deployed in climate prediction.
The introduction of the Ecosystem Demography concept introduces
significant alterations to the representation of the land surface in the
CLM. In FATES, the tiling structure represents the disturbance
history of the ecosystem. Thus, some fraction of the land surface is
characterized as 'recently disturbed', some fraction has escaped
disturbance for a long time, and other areas will have intermediate
disturbances. Thus the ED concept essentially discretizes the trajectory
of succession from disturbed ground to 'mature' ecosystems. Within
FATES, each "disturbance history class" is referred to as a ‘patch’.
The word "patch" has many possible interpretations, so it is important
to note that: **there is no spatial location associated with the concept
of a 'patch' . It refers to a fraction of the potential vegetated area
consisting of all parts of the ecosystem with similar disturbance
history.**
The 'patch' organizational structure in CLM thus replaces the previous
'PFT' structure in the organization heirarchy. The original hierarchical
land surface organizational structure of CLM as described in
:ref:`Oleson et al. 2013` may be depicted as:
.. math::
\mathbf{gridcell} \left\{
\begin{array}{cc}
\mathbf{landunit} & \\
\mathbf{landunit} &\left\{
\begin{array}{ll}
\mathbf{column}&\\
\mathbf{column}&\left\{
\begin{array}{ll}
\mathbf{pft}&\\
\mathbf{pft}&\\
\mathbf{pft}&\\
\end{array}\right.\\
\mathbf{column}&\\
\end{array}\right.\\
\mathbf{landunit} & \\
\end{array}\right.
and the new structure is altered to the following:
.. math::
\mathbf{gridcell} \left\{
\begin{array}{cc}
\mathbf{landunit} & \\
\mathbf{landunit} &\left\{
\begin{array}{ll}
\mathbf{column}&\\
\mathbf{column}&\left\{
\begin{array}{ll}
\mathbf{patch}&\\
\mathbf{patch}&\\
\mathbf{patch}&\\
\end{array}\right.\\
\mathbf{column}&\\
\end{array}\right.\\
\mathbf{landunit} & \\
\end{array}\right.
Thus, each gridcell becomes a matrix of 'patches' that are
conceptualized by their 'age since disturbance' in years. This is the
equivalent of grouping together all those areas of a gridcell that are
'canopy gaps', into a single entity, and all those areas that are
'mature forest' into a single entity.
Cohortized representation of tree populations
---------------------------------------------
Each common-disturbance-history patch is a notional ecosystem that might
in reality contain numerous individual plants which vary in their
physiological attributes, in height and in spatial position. One way of
addressing this heterogeneity is to simulate a forest of specific
individuals, and to monitor their behavior through time. This is the
approach taken by "gap" and individual-based models
(:ref:`Smith et al. 2001`, :ref:`Sato et al. 2007`, :ref:`Uriarte et al. 2009`, :ref:`Fyllas et al. 2014 `). The
depiction of individuals typically implies that the outcome of the model
is stochastic. This is because we lack the necessary detailed knowledge
to simulate the individual plant's fates. Thus gap models imply both
stochastic locations and mortality of plants. Thus, (with a genuinely
random seed) each model outcome is different, and an ensemble of model
runs is required to generate an average representative solution. Because
the random death of large individual trees can cause significant
deviations from the mean trajectory for a small plot (a typical
simulated plot size is 30m x 30 m) the number of runs required to
minimize these deviations is large and computationally expensive. For
this reason, models that resolve individual trees typically use a
physiological timestep of one day or longer (e.g. :ref:`Smith et al. 2001`, :ref:`Xiaidong et al. 2005 `, :ref:`Sato et al. 2007`
The approach introduced by the Ecosystem Demography model
:ref:`Moorcroft et al. 2001` is to group the hypothetical population
of plants into "cohorts". In the notional ecosystem, after the
land-surface is divided into common-disturbance-history patches, the
population in each patch is divided first into plant functional types
(the standard approach to representing plant diversity in large scale
vegetation models), and then each plant type is represented as numerous
height classes. Importantly, **for each PFT/height class bin, we model
*one* representative individual plant, which tracks the average
properties of this `cohort` of individual plants.** Thus, each
common-disturbance-history patch is typically occupied by a set of
cohorts of different plant functional types, and different height
classes within those plant functional types. Each cohort is associated
with a number of identical trees, :math:`n_{coh}` (where :math:`{coh}`
denotes the identification or index number for a given cohort)..
The complete hierarchy of elements in FATES is therefore now
described as follows:
.. math::
\mathbf{gridcell}\left\{
\begin{array}{cc}
\mathbf{landunit} & \\
\mathbf{landunit} &\left\{
\begin{array}{ll}
\mathbf{column}&\\
\mathbf{column}&\left\{
\begin{array}{ll}
\mathbf{patch}&\\
\mathbf{patch}&\left\{
\begin{array}{ll}
\mathbf{cohort}&\\
\mathbf{cohort}&\\
\mathbf{cohort}&\\
\end{array}\right.\\
\mathbf{patch}&\\
\end{array}\right.\\
\mathbf{column}&\\
\end{array}\right.\\
\mathbf{landunit} & \\
\end{array}\right.
Discretization of cohorts and patches
-------------------------------------
Newly disturbed land and newly recruited seedlings can in theory be
generated at each new model timestep as the result of germination and
disturbance processes. If the new patches and cohorts established at
*every* timestep were tracked by the model structure, the computational
load would of course be extremely high (and thus equivalent to an
individual-based approach). A signature feature of the ED model is the
system by which `functionally equivalent` patches and cohorts are fused
into single model entities to save memory and computational time.
This functionality requires that criteria are established for the
meaning of `functional equivalence`, which are by necessity slightly
subjective, as they represent ways of abstracting reality into a more
tractable mathematical representation. As an example of this, for
height-structured cohorts, we calculate the relativized differences in
height (:math:`h_{coh}`, m) between two cohorts of the same pft,
:math:`p` and :math:`q` as
.. math:: d_{hite,p,q} = \frac{\mathrm{abs}.(h_{p-}h_{q})}{\frac{1}{2}(h_{p}+h_{q})}
If :math:`d_{hite,p,q}` is smaller than some threshold :math:`t_{ch}`,
and they are of the same plant functional type, the two cohorts are
considered equivalent and merged to form a third cohort :math:`r`, with
the properties of cohort :math:`p` and :math:`q` averaged such that they
conserve mass. The model parameter :math:`t_{ch}` can be adjusted to
adjust the trade-off between simulation accuracy and computational load.
There is no theoretical optimal value for this threshold but it may be
altered to have finer or coarser model resolutions as needed.
Similarly, for common-disturbance-history patches, we again assign
a threshold criteria, which is then compared to the difference between
patches :math:`m` and :math:`n`, and if the difference is less than some
threshold value (:math:`t_{p}`) then patches are merged together,
otherwise they are kept separate. However, in contrast with
height-structured cohorts, where the meaning of the difference criteria
is relatively clear, how the landscape should be divided into
common-disturbance-history units is less clear. Several alternative
criteria are possible, including Leaf Area Index, total biomass and
total stem basal area.
In this implementation of FATES we assess the amount of
above-ground biomass in each PFT/plant diameter bin. Biomass is first
grouped into fixed diameter bins for each PFT (:math:`ft`) and a
significant difference in any bin will cause patches to remain
separated. This means that if two patches have similar total biomass,
but differ in the distribution of that biomass between diameter classes
or plant types, they remain as separate entities. Thus
.. math:: B_{profile,m,dc,ft} = \sum_{d_{c,min}}^{d_{c,max}} (B_{ag,coh}n_{coh})
:math:`B_{profile,m,dc,ft}` is the binned above-ground biomass profile
for patch :math:`m`,\ :math:`d_{c}` is the diameter class.
:math:`d_{c,min}` and :math:`d_{c,max}` are the lower and upper
boundaries for the :math:`d_{c}` diameter class. :math:`B_{ag,coh}` and
:math:`n_{coh}` depict the biomass (KgC m\ :math:`^{-2}`) and the number
of individuals of each cohort respectively. A difference matrix between
patches :math:`m` and :math:`n` is thus calculated as
.. math:: d_{biomass,mn,dc,ft} = \frac{\rm{abs}\it(B_{profile,m,hc,ft}-B_{profile,n,hc,ft})}{\frac{1}{2}(B_{profile,m,hc,ft}+B_{profile,n,hc,ft})}
If all the values of :math:`d_{biomass,mn,hc,ft}` are smaller than the
threshold, :math:`t_{p}`, then the patches :math:`m` and :math:`n` are
fused together to form a new patch :math:`o`.
To increase computational efficiency and to simplify the coding
structure of the model, the maximum number of patches is capped at
:math:`P_{no,max}`. To force the fusion of patches down to this number,
the simulation begins with a relatively sensitive discretization of
patches (:math:`t_{p}` = 0.2) but if the patch number exceeds the
maximum, the fusion routine is repeated iteratively until the two most
similar patches reach their fusion threshold. This approach maintains an
even discretization along the biomass gradient, in contrast to, for
example, simply fusing the oldest or youngest patches together.
The area of the new patch (:math:`A_{patch,o}`, m\ :math:`^{2}`)
is the sum of the area of the two existing patches,
.. math:: A_{patch,o} = A_{patch,n} + A_{patch,m}
and the cohorts ‘belonging’ to patches :math:`m` and :math:`n` now
co-occupy patch :math:`o`. The state properties of :math:`m` and
:math:`n` (litter, seed pools, etc. ) are also averaged in accordance
with mass conservation .
Linked Lists: the general code structure of FATES
---------------------------------------------------
The number of patches in each natural vegetation column and the
number of cohorts in any given patch are variable through time because
they are re-calculated for each daily timestep of the model. The more
complex an ecosystem, the larger the number of patches and cohorts. For
a slowly growing ecosystem, where maximum cohort size achieved between
disturbance intervals is low, the number of cohorts is also low. For
fast-growing ecosystems where many plant types are viable and maximum
heights are large, more cohorts are required to represent the ecosystem
with adequate complexity.
In terms of variable structure, the creation of an array whose size
could accommodate every possible cohort would mean defining the maximum
potential number of cohorts for every potential patch, which would
result in very large amounts of wasted allocated memory, on account of
the heterogeneity in the number of cohorts between complex and simple
ecosystems (n.b. this does still happen for some variables at restart
timesteps). To resolve this, the cohort structure in FATES model
does not use an array system for internal calculations. Instead it uses
a system of *linked lists* where each cohort structure is linked to the
cohorts larger than and smaller than itself using a system of pointers.
The shortest cohort in each patch has a ‘shorter’ pointer that points to
the *null* value, and the tallest cohort has a ‘taller’ pointer that
points to the null value.
Instead of iterating along a vector indexed by :math:`coh`, the code
structures typically begin at the tallest cohort in a given patch, and
iterate until a null pointer is encountered.
Using this structure, it is therefore possible to have an unbounded upper limit on cohort number, and also to easily alter the ordering of cohorts if, for example, a cohort of one functional type begins to grow faster than a competitor of another functional type, and the cohort list can easily be re-ordered by altering the pointer structure. Each cohort has `pointers` indicating to which patch and gridcell it belongs. The patch system is analogous to the cohort system, except that patches are ordered in terms of their relative age, with pointers to older and younger patches where cp\ :math:`_1` is the oldest:
Indices used in FATES
-----------------------
Some of the indices used in FATES are similar to those used in the
standard CLM4.5 model; column (:math:`c`), land unit(\ :math:`l`), grid
cell(\ :math:`g`) and soil layer (:math:`j`). On account of the
additional complexity of the new representation of plant function,
several additional indices are introduced that describe the
discritization of plant type, fuel type, litter type, plant height,
canopy identity, leaf vertical structure and fuel moisture
characteristics. To provide a reference with which to interpret the
equations that follow, they are listed here.
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Table of subscripts used in this document }
+------------------+-----------------------+
| Parameter Symbol | Parameter Name |
+==================+=======================+
| *ft* | Plant Functional Type |
+------------------+-----------------------+
| *fc* | Fuel Class |
+------------------+-----------------------+
| *lsc* | Litter Size Class |
+------------------+-----------------------+
| *coh* | Cohort Index |
+------------------+-----------------------+
| *patch* | Patch Index |
+------------------+-----------------------+
| *Cl* | Canopy Layer |
+------------------+-----------------------+
| *z* | Leaf Layer |
+------------------+-----------------------+
| *mc* | Moisture Class |
+------------------+-----------------------+
.. raw:: latex
\bigskip
Cohort State Variables
----------------------
The unit of allometry in the ED model is the cohort. Each cohort
represents a group of plants with similar functional types and heights
that occupy portions of column with similar disturbance histories. The
state variables of each cohort therefore consist of several pieces of
information that fully describe the growth status of the plant and its
position in the ecosystem structure, and from which the model can be
restarted. The state variables of a cohort are as follows:
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{State Variables of `cohort' sructure}
+-----------------+-----------------+-----------------+-----------------+
| Quantity | Variable name | Units | Notes |
+=================+=================+=================+=================+
| Plant | :math:`{\it{ft} | integer | |
| Functional Type | _{coh}}` | | |
+-----------------+-----------------+-----------------+-----------------+
| Number of | :math:`n_{coh}` | n per | |
| Individuals | | 10000m\ :math:` | |
| | | ^{-2}` | |
+-----------------+-----------------+-----------------+-----------------+
| Height | :math:`h_{coh}` | m | |
+-----------------+-----------------+-----------------+-----------------+
| Diameter | :math:`\it{dbh_ | cm | |
| | {coh}}` | | |
+-----------------+-----------------+-----------------+-----------------+
| Structural | :math:`{b_{stru | KgC | Stem wood |
| Biomass | c,coh}}` | plant\ :math:`^ | (above and |
| | | {-1}` | below ground) |
+-----------------+-----------------+-----------------+-----------------+
| Alive Biomass | :math:`{b_{aliv | KgC | Leaf, fine root |
| | e,coh}}` | plant\ :math:`^ | and sapwood |
| | | {-1}` | |
+-----------------+-----------------+-----------------+-----------------+
| Stored Biomass | :math:`{b_{stor | KgC | Labile carbon |
| | e,coh}}` | plant\ :math:`^ | reserve |
| | | {-1}` | |
+-----------------+-----------------+-----------------+-----------------+
| Leaf memory | :math:`{l_{memo | KgC | Leaf mass when |
| | ry,coh}}` | plant\ :math:`^ | leaves are |
| | | {-1}` | dropped |
+-----------------+-----------------+-----------------+-----------------+
| Canopy Layer | :math:`{C_{l,co | integer | 1 = top layer |
| | h}}` | | |
+-----------------+-----------------+-----------------+-----------------+
| Phenological | :math:`{S_{phen | integer | 1=leaves off. |
| Status | ,coh}}` | | 2=leaves on |
+-----------------+-----------------+-----------------+-----------------+
| Canopy trimming | :math:`C_{trim, | fraction | 1.0=max leaf |
| | coh}` | | area |
+-----------------+-----------------+-----------------+-----------------+
| Patch Index | :math:`{p_{coh} | integer | To which patch |
| | }` | | does this |
| | | | cohort belong? |
+-----------------+-----------------+-----------------+-----------------+
Patch State Variables
---------------------
A patch, as discuss earlier, is a fraction of the landscape which
contains ecosystems with similar structure and disturbance history. A
patch has no spatial location. The state variables, which are
‘ecosystem’ rather than ‘tree’ scale properties, from which the model
can be restarted, are as follows
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{State variables of `patch' structure}
+-------------+-------------+-------------+-------------+-------------+
| Quantity | Variable | Units | Indexed By | |
| | name | | | |
+=============+=============+=============+=============+=============+
| Area | :math:`\it{ | m\ :math:`^ | - | |
| | A_{patch}}` | {2}` | | |
+-------------+-------------+-------------+-------------+-------------+
| Age | :math:`age_ | years | - | |
| | {patch}` | | | |
+-------------+-------------+-------------+-------------+-------------+
| Seed | :math:`seed_| KgC | :math:`ft` | |
| | {patch}` | m\ :math:`^ | | |
| | | {-2}` | | |
+-------------+-------------+-------------+-------------+-------------+
| Leaf Litter | :math:`l_{l | KgC | :math:`ft` | |
| | itter,patch | m\ :math:`^ | | |
| | }` | {-2}` | | |
+-------------+-------------+-------------+-------------+-------------+
| Root Litter | :math:`r_{l | KgC | :math:`ft` | |
| | itter,patch | m\ :math:`^ | | |
| | }` | {-2}` | | |
+-------------+-------------+-------------+-------------+-------------+
| AG Coarse | :math:` | KgC | Size Class | |
| Woody | {CWD}_{A | m\ :math:`^ | (lsc) | |
| Debris | G,patch}` | {-2}` | | |
+-------------+-------------+-------------+-------------+-------------+
| BG Coarse | :math:` | KgC | Size Class | |
| Woody | {CWD}_{B | m\ :math:`^ | (lsc) | |
| Debris | G,patch}` | {-2}` | | |
+-------------+-------------+-------------+-------------+-------------+
| Canopy | :math:`S_{c | - | Canopy | |
| Spread | ,patch}` | | Layer | |
+-------------+-------------+-------------+-------------+-------------+
| Column | :math:`{l_{ | integer | - | |
| Index | patch}}` | | | |
+-------------+-------------+-------------+-------------+-------------+
Model Structure
---------------
Code concerned with the Ecosystem Demography model interfaces with the
CLM model in four ways: i) During initialization, ii) During the
calculation of surface processes (albedo, radiation absorption, canopy
fluxes) each model time step (typically half-hourly), iii) During the
main invokation of the ED model code at the end of each day. Daily
cohort-level NPP is used to grow plants and alter the cohort structures,
disturbance processes (fire and mortality) operate to alter the patch
structures, and all fragmenting carbon pool dynamics are calculated. iv)
during restart reading and writing. The net assimilation (NPP) fluxes
attributed to each cohort are accumulated throughout each daily cycle
and passed into the ED code as the major driver of vegetation dynamics.
Initialization of vegetation from bare ground
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If the model is restarted from a bare ground state (as opposed to a
pre-existing vegetation state), the state variables above are
initialized as follows. First, the number of plants per PFT is allocated
according to the initial seeding density (:math:`S_{init}`, individuals
per m\ :math:`^{2}`) and the area of the patch :math:`A_{patch}`, which
in the first timestep is the same as the area of the notional ecosystem
:math:`A_{tot}`. The model has no meaningful spatial dimension, but we
assign a notional area such that the values of ‘:math:`n_{coh}`’ can be
attributed. The default value of :math:`A_{tot}` is one hectare (10,000
m\ :math:`^{2}`), but the model will behave identically irrepective of
the value of this parameter.
.. math:: n_{coh,0} = S_{init}A_{patch}
Each cohort is initialized at the minimum canopy height
:math:`h_{min,ft}`, which is specified as a parameter for each plant
functional type and denotes the smallest size of plant which is tracked
by the model. Smaller plants are not considered, and their emergence
from the recruitment processes is unresolved and therefore implicitly
parameterized in the seedling establishment model.. The diameter of each
cohort is then specified using the log-linear allometry between stem
diameter and canopy height
.. math:: \mathit{dbh}_{coh} = 10^{\frac{\log_{10}(h_{coh}) - c_{allom}}{m_{allom}} }
where the slope of the log-log relationship, :math:`m_{allom}` is 0.64
and the intercept :math:`c_{allom}` is 0.37. The structural biomass
associated with a plant of this diameter and height is given (as a
function of wood density, :math:`\rho`, g cm\ :math:`^{-3}`)
.. math:: b_{struc,coh} =c_{str}h_{coh}^{e_{str,hite}} dbh_{coh}^{e_{str,dbh}} \rho_{ft}^{e_{str,dens}}
taken from the original ED1.0 allometry
:ref:`Moorcroft et al. 2001` (values of the allometric constants in
Table `[table:allom] <#table:allom>`__. The maximum amount of leaf
biomass associated with this diameter of tree is calculated according to
the following allometry
.. math:: b_{max,leaf,coh} =c_{leaf}\it{dbh}_{coh}^{e_{leaf,dbh}} \rho_{ft}^{e_{leaf,dens}}
from this quantity, we calculate the active/fine root biomass
:math:`b_{root,coh}` as
.. math:: b_{root,coh} = b_{max,leaf,coh}\cdot f_{frla}
where :math:`f_{frla}` is the fraction of fine root biomass to leaf
biomass, assigned per PFT
.. raw:: latex
\captionof{table}{Parameters needed for model initialization.}
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | Default Value |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`h_{min}` | Minimum plant | m | 1.5 |
| | height | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`S_{init}`| Initial | Individuals | |
| | Planting | m\ :math:`^{-2}`| |
| | density | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`A_{tot}` | Model area | m\ :math:`^{2}` | 10,000 |
+-----------------+-----------------+-----------------+-----------------+
[table:init]
Allocation of biomass
^^^^^^^^^^^^^^^^^^^^^
Total live biomass :math:`b_{alive}` is the state variable of the model
that describes the sum of the three live biomass pools leaf
:math:`b_{leaf}`, root :math:`b_{root}` and sapwood :math:`b_{sw}` (all
in kGC individual\ :math:`^{-1}`). The quantities are constrained by the
following
.. math:: b_{alive} = b_{leaf} + b_{root} + b_{sw}
Sapwood volume is a function of tree height and leaf biomass
.. math:: b_{sw} = b_{leaf}\cdot h_{coh}\cdot f_{swh}
where :math:`f_{swh}` is the ratio of sapwood mass (kgC) to leaf mass
per unit tree height (m). Also, root mass is a function of leaf mass
.. math:: b_{root} = b_{leaf}\cdot f_{swh}
Thus
.. math:: b_{alive} = b_{leaf} + b_{leaf}\cdot f_{frla} + b_{leaf}\cdot h_{coh}\cdot f_{swh}
Rearranging gives the fraction of biomass in the leaf pool
:math:`f_{leaf}` as
.. math:: f_{leaf} = \frac{1}{1+h_{coh}\cdot f_{swh}+f_{frla} }
Thus, we can determine the leaf fraction from the height at the tissue
ratios, and the phenological status of the cohort :math:`S_{phen,coh}`.
.. math:: b_{leaf} = b_{alive} \cdot l _{frac}
To divide the live biomass pool at restart, or whenever it is
recalculated, into its consituent parts, we first
.. math::
b_{leaf} = \left\{ \begin{array}{ll}
b_{alive} \cdot l _{frac}&\textrm{for } S_{phen,coh} = 1\\
&\\
0&\textrm{for } S_{phen,coh} = 0\\
\end{array} \right.
Because sometimes the leaves are dropped, using leaf biomass as a
predictor of root and sapwood would produce zero live biomass in the
winter. To account for this, we add the LAI memory variable
:math:`l_{memory}` to the live biomass pool to account for the need to
maintain root biomass when leaf biomass is zero. Thus, to calculated the
root biomass, we use
.. math:: b_{root} = (b_{alive}+l_{memory})\cdot l_{frac} \cdot f_{frla}
To calculated the sapwood biomass, we use
.. math:: b_{sw} = (b_{alive}+l_{memory})\cdot l_{frac} \cdot f_{swh} \cdot h_{coh}
.. raw:: latex
\captionof{table}{Allometric Constants}
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | Default Value |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`c_{allom | Allometry | | 0.37 |
| }` | intercept | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`m_{allom | Allometry slope | | 0.64 |
| }` | | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`c_{str}` | Structural | | 0.06896 |
| | biomass | | |
| | multiplier | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`e_{str,d | Structural | | 1.94 |
| bh}` | Biomass dbh | | |
| | exponent | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`e_{str,h | Structural | | 0.572 |
| ite}` | Biomass height | | |
| | exponent | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`e_{str,d | Structural | | 0.931 |
| ens}` | Biomass density | | |
| | exponent | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`c_{leaf}`| Leaf biomass | | 0.0419 |
| | multiplier | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`e_{leaf, | Leaf biomass | | 1.56 |
| dbh}` | dbh exponent | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`e_{leaf, | Leaf biomass | | 0.55 |
| dens}` | density | | |
| | exponent | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{swh}` | Ratio of | m\ :math:`^{-1}`| |
| | sapwood mass to | | |
| | height | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{frla}`| Ratio of fine | - | 1.0 |
| | root mass to | | |
| | leaf mass | | |
+-----------------+-----------------+-----------------+-----------------+
[table:allom]
Canopy Structure and the Perfect Plasticity Approximation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
During initialization and every subsequent daily ED timestep, the canopy
structure model is called to determine how the leaf area of the
different cohorts is arranged relative to the incoming radiation, which
will then be used to drive the radiation and photosynthesis
calculations. This task requires that some assumptions are made about 1)
the shape and depth of the canopy within which the plant leaves are
arranged and 2) how the leaves of different cohorts are arranged
relative to each other. This set of assumptions are critical to model
performance in ED-like cohort based models, since they determine how
light resources are partitioned between competing plants of varying
heights, which has a very significant impact on how vegetation
distribution emerges from competition
:ref:`Fisher et al. 2010`.
The standard ED1.0 model makes a simple 'flat disk' assumption, that the
leaf area of each cohort is spread in an homogenous layer at one exact
height across entire the ground area represented by each patch. FATES has diverged from this representation due to (at least) two problematic emergent properties that we identified as generating unrealistic behaviours espetially for large-area patches.
1. Over-estimation of light competition . The vertical stacking of
cohorts which have all their leaf area at the same nominal height means
that when one cohort is only very slightly taller than it’s competitor,
it is completely shaded by it. This means that any small advantage in
terms of height growth translates into a large advantage in terms of
light competition, even at the seedling stage. This property of the
model artificially exaggerates the process of light competition. In
reality, trees do not compete for light until their canopies begin to
overlap and canopy closure is approached.
2. Unrealistic over-crowding. The 'flat-disk' assumption has no
consideration of the spatial extent of tree crowns. Therefore it has no
control on the packing density of plants in the model. Given a mismatch
between production and mortality, entirely unrealistic tree densities
are thus possible for some combinations of recruitment, growth and
mortality rates.
To account for the filling of space in three dimensions using the
one-dimensional representation of the canopy employed by CLM, we
implement a new scheme derived from that of
:ref:`Purves et al. 2008`. Their argument follows the development
of an individual-based variant of the SORTIE model, called SHELL, which
allows the location of individual plant crowns to be highly flexible in
space. Ultimately, the solutions of this model possess an emergent
property whereby the crowns of the plants simply fill all of the
available space in the canopy before forming a distinct understorey.
Purves et al. developed a model that uses this feature, called the
‘perfect plasticity approximation’, which assumes the plants are able to
perfectly fill all of the available canopy space. That is, at canopy
closure, all of the available horizontal space is filled, with
negligible gaps, owing to lateral tree growth and the ability of tree
canopies to grow into the available gaps (this is of course, an
over-simplified but potential useful ecosystem property). The ‘perfect
plasticity approximation’ (PPA) implies that the community of trees is
subdivided into discrete canopy layers, and by extension, each cohort
represented by FATES model is assigned a canopy layer status flag,
:math:`C_L`. In this version, we set the maximum number of canopy layers
at 2 for simplicity, although is possible to have a larger number of
layers in theory. :math:`C_{L,coh}` = 1 means that all the trees of
cohort :math:`coh` are in the upper canopy (overstory), and
:math:`C_{L,coh}` = 2 means that all the trees of cohort :math:`coh` are
in the understorey.
In this model, all the trees in the canopy experience full light on
their uppermost leaf layer, and all trees in the understorey experience
the same light (full sunlight attenuated by the average LAI of the upper
canopy) on their uppermost leaves, as described in the radiation
transfer section (more nuanced versions of this approach may be
investigated in future model versions). The canopy is assumed to be
cylindrical, the lower layers of which experience self-shading by the
upper layers.
To determine whether a second canopy layer is required, the model needs
to know the spatial extent of tree crowns. Crown area,
:math:`A_{crown}`, m\ :math:`^{2}`, is defined as
.. math:: A_{crown,coh} = \pi (dbh_{coh} S_{c,patch,Cl})^{1.56}
where :math:`A_{crown}` is the crown area of a single tree canopy
(m:math:`^{-2}`) and :math:`S_{c,patch,Cl}` is the ‘canopy spread’
parameter (m cm^-1) of this canopy layer, which is assigned as a
function of canopy space filling, discussed below. In contrast to
:ref:`Purves et al. 2008` , we use an exponent, identical to that
for leaf biomass, of 1.56, not 2.0, such that tree leaf area index does
not change as a function of diameter.
To determine whether the canopy is closed, we calculate the total canopy
area as:
.. math:: A_{canopy} = \sum_{coh=1}^{nc,patch}{A_{crown,coh}.n_{coh}}
where :math:`nc_{patch}` is the number of cohorts in a given patch. If
the area of all crowns :math:`A_{canopy}` (m:math:`^{-2}`) is larger
than the total ground area of a patch (:math:`A_{patch}`), then some
fraction of each cohort is demoted to the understorey.
Under these circumstances, the `extra` crown area :math:`A_{loss}`
(i.e., :math:`A_{canopy}` - :math:`A_p`) is moved into the understorey.
For each cohort already in the canopy, we determine a fraction of trees
that are moved from the canopy (:math:`L_c`) to the understorey.
:math:`L_c` is calculated as :ref:`Fisher et al. 2010`
.. math:: L_{c}= \frac{A_{loss,patch} w_{coh}}{\sum_{coh=1}^{nc,patch}{w_{coh}}} ,
where :math:`w_{coh}` is a weighting of each cohort determined by basal
diameter :math:`dbh` (cm) and the competitive exclusion coefficient
:math:`C_{e}`
.. math:: w_{coh}=dbh_{coh}C_{e}.
The higher the value of :math:`C_e` the greater the impact of tree
diameter on the probability of a given tree obtaining a position in the
canopy layer. That is, for high :math:`C_e` values, competition is
highly deterministic. The smaller the value of :math:`C_e`, the greater
the influence of random factors on the competitive exclusion process,
and the higher the probability that slower growing trees will get into
the canopy. Appropriate values of :math:`C_e` are poorly constrained but
alter the outcome of competitive processes.
The process by which trees are moved between canopy layers is complex
because 1) the crown area predicted for a cohort to lose may be larger
than the total crown area of the cohort, which requires iterative
solutions, and 2) on some occasions (e.g. after fire), the canopy may
open up and require ‘promotion’ of cohorts from the understorey, and 3)
canopy area may change due to the variations of canopy spread values (
:math:`S_{c,patch,Cl}`, see the section below for details) when
fractions of cohorts are demoted or promoted. Further details can be
found in the code references in the footnote.
Horizontal Canopy Spread
-------------------------
:ref:`Purves et al. 2008` estimated the ratio between canopy and
stem diameter :math:`c_{p}` as 0.1 m cm\ :math:`^{-1}` for canopy trees
in North American forests, but this estimate was made on trees in closed
canopies, whose shape is subject to space competition from other
individuals. Sapling trees have no constraints in their horizontal
spatial structure, and as such, are more likely to display their leaves
to full sunlight. Also, prior to canopy closure, light interception by
leaves on the sides of the canopy is also higher than it would be in a
closed canopy forest. If the ‘canopy spread’ parameter is constant for
all trees, then we simulate high levels of self-shading for plants in
unclosed canopies, which is arguably unrealistic and can lower the
productivity of trees in areas of unclosed canopy (e.g. low productivity
areas of boreal or semi-arid regions where LAI and canopy cover might
naturally be low). We here interpret the degree of canopy spread,
:math:`S_{c}` as a function of how much tree crowns interfere with each
other in space, or the total canopy area :math:`A_{canopy}`. However
:math:`A_{canopy}` itself is a function of :math:`S_{c}`, leading to a
circularity. :math:`S_{c}` is thus solved iteratively through time.
Each daily model step, :math:`A_{canopy}` and the fraction of the
gridcell occupied by tree canopies in each canopy layer
(:math:`A_{f,Cl}` = :math:`A_{canopy,Cl}`/:math:`A_{patch}`) is
calculated based on :math:`S_{c}` from the previous timestep. If
:math:`A_{f}` is greater than a threshold value :math:`A_{t}`,
:math:`S_{c}` is increased by a small increment :math:`i`. The threshold
:math:`A_{t}` is, hypothetically, the canopy fraction at which light
competition begins to impact on tree growth. This is less than 1.0 owing
to the non-perfect spatial spacing of tree canopies. If :math:`A_{f,Cl}`
is greater than :math:`A_{t}`, then :math:`S_{c}` is reduced by an
increment :math:`i`, to reduce the spatial extent of the canopy, thus.
.. math::
S_{c,patch,Cl,t+1} = \left\{ \begin{array}{ll}
S_{c,patch,Cl,t} + i& \textrm{for $A_{f,Cl} < A_{t}$}\\
&\\
S_{c,patch,Cl,t} - i& \textrm{for $A_{f,Cl} > A_{t}$}\\
\end{array} \right.
The values of :math:`S_{c}` are bounded to upper and lower limits. The
lower limit corresponds to the observed canopy spread parameter for
canopy trees :math:`S_{c,min}` and the upper limit corresponds to the
largest canopy extent :math:`S_{c,max}`
.. math::
S_{c,patch,Cl} = \left\{ \begin{array}{ll}
S_{c,min}& \textrm{for } S_{c,patch,Cl}< S_{c,\rm{min}}\\
&\\
S_{c,max}& \textrm{for } S_{c,patch,Cl} > S_{c,\rm{max}}\\
\end{array} \right.
This iterative scheme requires two additional parameters (:math:`i` and
:math:`A_{t}`). :math:`i` affects the speed with which canopy spread
(and hence leaf are index) increase as canopy closure is neared.
However, the model is relatively insensitive to the choice of either
:math:`i` or :math:`A_{t}`.
Definition of Leaf and Stem Area Profile
----------------------------------------
Within each patch, the model defines and tracks cohorts of multiple
plant functional types that exist either in the canopy or understorey.
Light on the top leaf surface of each cohort in the canopy is the same,
and the rate of decay through the canopy is also the same for each PFT.
Therefore, we accumulate all the cohorts of a given PFT together for the
sake of the radiation and photosynthesis calculations (to avoid separate
calculations for every cohort).
Therefore, the leaf area index for each patch is defined as a
three-dimensional array :math:`\mathit{lai}_{Cl,ft,z}` where :math:`C_l`
is the canopy layer, :math:`ft` is the functional type and :math:`z` is
the leaf layer within each canopy. This three-dimensional structure is
the basis of the radiation and photosynthetic models. In addition to a
leaf area profile matrix, we also define, for each patch, the area which
is covered by leaves at each layer as :math:`\mathit{carea}_{Cl,ft,z}`.
Each plant cohort is already defined as a member of a single canopy
layer and functional type. This means that to generate the
:math:`x_{Cl,ft,z}` matrix, it only remains to divide the leaf area of
each cohort into leaf layers. First, we determine how many leaf layers
are occupied by a single cohort, by calculating the ‘tree LAI’ as the
total leaf area of each cohort divided by its crown area (both in
m\ :math:`^{2}`)
.. math:: \mathit{tree}_{lai,coh} = \frac{b_{leaf,coh}\cdot\mathrm{sla}_{ft}}{A_{crown,coh}}
where :math:`\mathrm{sla}_{ft}` is the specific leaf area in
m\ :math:`^{2}` KgC\ :math:`^{-1}` and :math:`b_{leaf}` is in kGC per
plant.
Stem area index (SAI) is ratio of the total area of all woody stems on a
plant to the area of ground covered by the plant. During winter in
deciduous areas, the extra absorption by woody stems can have a
significant impact on the surface energy budget. However, in previous
`big leaf` versions of the CLM, computing the circumstances under which
stem area was visible in the absence of leaves was difficult and the
algorithm was largely heuristic as a result. Given the multi-layer
canopy introduced for FATES, we can determine the leaves in the higher
canopy layers will likely shade stem area in the lower layers when
leaves are on, and therefore stem area index can be calculated as a
function of woody biomass directly.
Literature on stem area index is particularly poor, as it’s estimation
is complex and not particularly amenable to the use of, for example,
assumptions of random distribution in space that are typically used to
calculate leaf area from light interception.
:ref:`Kucharik et al. 1998` estimated that SAI visible from an
LAI2000 sensor was around 0.5 m^2 m^-2. Low et al. 2001
estimate that the wood area index for Ponderosa Pine forest is
0.27-0.33. The existing CLM(CN) algorithm sets the minimum SAI at 0.25
to match MODIS observations, but then allows SAI to rise as a function
of the LAI lost, meaning than in some places, predicted SAI can reach
value of 8 or more. Clearly, greater scientific input on this quantity
is badly needed. Here we determine that SAI is a linear function of
woody biomass, to at very least provide a mechanistic link between the
existence of wood and radiation absorbed by it. The non-linearity
between how much woody area exists and how much radiation is absorbed is
provided by the radiation absorption algorithm. Specifically, the SAI of
an individual cohort (:math:`\mathrm{tree}_{sai,coh}`, m\ :math:`^{2}`
m\ :math:`^{-2}`) is calculated as follows,
.. math:: \mathrm{tree}_{sai,coh} = k_{sai}\cdot b_{struc,coh} ,
where :math:`k_{sai}` is the coefficient linking structural biomass to
SAI. The number of occupied leaf layers for cohort :math:`coh`
(:math:`n_{z,coh}`) is then equal to the rounded up integer value of the
tree SAI (:math:`{tree}_{sai,coh}`) and LAI (:math:`{tree}_{lai,coh}`)
divided by the layer thickness (i.e., the resolution of the canopy layer
model, in units of vegetation index (:math:`lai`\ +\ :math:`sai`) with a
default value of 1.0, :math:`\delta _{vai}` ),
.. math:: n_{z,coh} = {\frac{\mathrm{tree}_{lai,coh}+\mathrm{tree}_{sai,coh}}{\delta_{vai}}}.
The fraction of each layer that is leaf (as opposed to stem) can then be
calculated as
.. math:: f_{leaf,coh} = \frac{\mathrm{tree}_{lai,coh}}{\mathrm{tree}_{sai,coh}+\mathrm{tree}_{lai,coh}}.
Finally, the leaf area in each leaf layer pertaining to this cohort is
thus
.. math::
\mathit{lai}_{z,coh} = \left\{ \begin{array}{ll}
\delta_{vai} \cdot f_{leaf,coh} \frac{A_{canopy,coh}}{A_{canopy,patch}}& \textrm{for $i=1,..., i=n_{z,coh}-1$}\\
&\\
\delta_{vai} \cdot f_{leaf,coh} \frac{A_{canopy,coh}}{A_{canopy,patch}}\cdot r_{vai}& \textrm{for $i=n_{z,coh}$}\\
\end{array} \right.
and the stem area index is
.. math::
\mathit{sai}_{z,coh} = \left\{ \begin{array}{ll}
\delta_{vai} \cdot (1-f_{leaf,coh})\frac{A_{canopy,coh}}{A_{canopy,patch}}& \textrm{for $i=1,..., i=n_{z,coh}-1$}\\
&\\
\delta_{vai} \cdot (1-f_{leaf,coh}) \frac{A_{canopy,coh}}{A_{canopy,patch}}\cdot r_{vai}& \textrm{for $i=n_{z,coh}$}\\
\end{array} \right.
where :math:`r_{vai}` is the remainder of the canopy that is below the
last full leaf layer
.. math:: r_{vai} =(\mathrm{tree}_{lai,coh} + \mathrm{tree}_{sai,coh}) - (\delta _{vai} \cdot (n_{z,coh} -1)).
:math:`A_{canopy,patch}` is the total canopy area occupied by plants in
a given patch (m:math:`^{2}`) and is calculated as follows,
.. math:: A_{canopy,patch} = \textrm{min}\left( \sum_{coh=1}^{coh = ncoh}A_{canopy,coh}, A_{patch} \right).
The canopy is conceived as a cylinder, although this assumption could be
altered given sufficient evidence that canopy shape was an important
determinant of competitive outcomes, and the area of ground covered by
each leaf layer is the same through the cohort canopy. With the
calculated SAI and LAI, we are able to calculate the complete canopy
profile. Specifically, the relative canopy area for the cohort
:math:`{coh}` is calculated as
.. math:: \mathit{area}_{1:nz,coh} = \frac{A_{crown,coh}}{A_{canopy,patch}}.
The total occupied canopy area for each canopy layer (:math:`Cl`), plant
functional type (:math:`ft`) and leaf layer (:math:`z`) bin is thus
.. math::
\mathit{c}_{area,Cl,ft,z} = \sum_{coh=1}^{coh=ncoh} area_{1:nz,coh}
where :math:`ft_{coh}=ft` and :math:`Cl_{coh} = Cl.`
All of these quantities are summed across cohorts to give the complete
leaf and stem area profiles,
.. math::
\mathit{lai} _{Cl,ft,z} = \sum_{coh=1}^{coh=ncoh} \mathit{lai}_{z,coh}
.. math::
\mathit{sai}_{Cl,ft,z} = \sum_{coh=1}^{coh=ncoh} \mathit{sai}_{z,coh}
Burial of leaf area by snow
---------------------------
The calculations above all pertain to the total leaf and stem area
indices which charecterize the vegetation structure. In addition, the
model must know when the vegetation is covered by snow, and by how much,
so that the albedo and energy balance calculations can be adjusted
accordingly. Therefore, we calculated a ‘total’ and ‘exposed’
:math:`lai` and :math:`sai` profile using a representation of the bottom
and top canopy heights, and the depth of the average snow pack. For each
leaf layer :math:`z` of each cohort, we calculate an ‘exposed fraction
:math:`f_{exp,z}` via consideration of the top and bottom heights of
that layer :math:`h_{top,z}` and :math:`h_{bot,z}` (m),
.. math::
\begin{array}{ll}
h_{top,z} = h_{coh} - h_{coh}\cdot f_{crown,ft}\cdot\frac{z}{n_{z,coh}}& \\
&\\
h_{bot,z} = h_{coh} - h_{coh}\cdot f_{crown,ft}\cdot\frac{z+1}{n_{z,coh}}&\\
\end{array}
where :math:`f_{crown,ft}` is the plant functional type (:math:`ft`)
specific fraction of the cohort height that is occupied by the crown.
Specifically, the ‘exposed fraction :math:`f_{exp,z}` is calculated as
follows,
.. math::
f_{exp,z}\left\{ \begin{array}{ll}
= 1.0 & h_{bot,z}> d_{snow}\\
&\\
= \frac{d_{snow} -h_{bot,z}}{h_{top,z}-h_{bot,z}} & h_{top,z}> d_{snow}, h_{bot,z}< d_{snow}\\
&\\
= 0.0 & h_{top,z}< d_{snow}\\
\end{array} \right.
The resulting exposed (:math:`elai, esai`) and total
(:math:`tlai, tsai`) leaf and stem area indicies are calculated as
.. math::
\begin{array}{ll}
\mathit{elai} _{Cl,ft,z} &= \mathit{lai} _{Cl,ft,z} \cdot f_{exp,z}\\
\mathit{esai} _{Cl,ft,z} &= \mathit{sai} _{Cl,ft,z} \cdot f_{exp,z}\\
\mathit{tlai} _{Cl,ft,z} &= \mathit{lai} _{Cl,ft,z}\\
\mathit{tsai} _{Cl,ft,z} &= \mathit{sai} _{Cl,ft,z} \
\end{array} ,
and are used in the radiation interception and photosynthesis algorithms
described later.
+-------------+-------------+-------------+-------------+-------------+
| Parameter | Parameter | Units | Notes | Indexed by |
| Symbol | Name | | | |
+=============+=============+=============+=============+=============+
| :math:` | Thickness | m\ :math:`^ | | |
| \delta_ | of single | {-2}`\ m\ : | | |
| {vai}` | canopy | math:`^{-2}`| | |
| | layer | | | |
+-------------+-------------+-------------+-------------+-------------+
| :math:`C_e` | Competitive | none | | |
| | Exclusion | | | |
| | Parameter | | | |
+-------------+-------------+-------------+-------------+-------------+
| :math:`c_{p | Minimum | m\ :math:`^ | | |
| ,min}` | canopy | {2}` | | |
| | spread | cm\ :math:` | | |
| | | ^{-1}` | | |
+-------------+-------------+-------------+-------------+-------------+
| :math:`c_{p | Competitive | m\ :math:`^ | | |
| ,max}` | Exclusion | {2}` | | |
| | Parameter | cm\ :math:` | | |
| | | ^{-1}` | | |
+-------------+-------------+-------------+-------------+-------------+
| :math:`i` | Incremental | m\ :math:`^ | | |
| | change in | {2}` | | |
| | :math:`c_p` | cm\ :math:` | | |
| | | ^{-1}` | | |
| | | y\ :math:`^ | | |
| | | {-1}` | | |
+-------------+-------------+-------------+-------------+-------------+
| :math:`A_t` | Threshold | none | | |
| | canopy | | | |
| | closure | | | |
+-------------+-------------+-------------+-------------+-------------+
| :math:`f_{c | Crown | none | | :math:`ft` |
| rown,ft}` | fraction | | | |
+-------------+-------------+-------------+-------------+-------------+
| :math:`k_{s | Stem area | m^2 KgC^-1 | | |
| ai}` | per unit | | | |
| | woody | | | |
| | biomass | | | |
+-------------+-------------+-------------+-------------+-------------+
Radiation Transfer
^^^^^^^^^^^^^^^^^^^
Fundamental Radiation Transfer Theory
-------------------------------------
The first interaction of the land surface with the properties of
vegetation concerns the partitioning of energy into that which is
absorbed by vegetation, reflected back into the atmosphere, and absorbed
by the ground surface. Older versions of the CLM have utilized a
"two-stream" approximation
:ref:`Sellers 1985`, :ref:`Sellers et al. 1986` that provided an
empirical solution for the radiation partitioning of a multi-layer
canopy for two streams, of diffuse and direct light. However,
implementation of the Ecosystem Demography model requires a) the
adoption of an explicit multiple layer canopy b) the implementation of a
multiple plant type canopy and c) the distinction of canopy and
under-storey layers, in-between which the radiation streams are fully
mixed. The radiation mixing between canopy layers is necessary as the
position of different plants in the under-storey is not defined
spatially or relative to the canopy trees above. In this new scheme, we
thus implemented a one-dimensional scheme that traces the absorption,
transmittance and reflectance of each canopy layer and the soil,
iterating the upwards and downwards passes of radiation through the
canopy until a pre-defined accuracy tolerance is reached. This approach
is based on the work of :ref:`Norman 1979`.
Here we describe the basic theory of the radiation transfer model for
the case of a single homogenous canopy, and in the next section we
discuss how this is applied to the multi layer multi PFT canopy in the
FATES implementation. The code considers the fractions of a single
unit of incoming direct and a single unit of incoming diffuse light,
that are absorbed at each layer of the canopy for a given solar angle
(:math:`\alpha_{s}`, radians). Direct radiation is extinguished through
the canopy according to the coefficient :math:`k_{dir}` that is
calculated from the incoming solar angle and the dimensionless leaf
angle distribution parameter (:math:`\chi`) as
.. math:: k_{dir} = g_{dir} / \sin(\alpha_s)\\
where
.. math:: g_{dir} = \phi_1 + \phi_2 \cdot \sin(\alpha_s)\\
and
.. math::
\begin{array} {l}
\phi_1 = 0.5 - 0.633\chi_{l} - 0.33\chi_l ^2\\
\phi_2 =0.877 (1 - 2\phi_1)\\
\end{array}
The leaf angle distribution is a descriptor of how leaf surfaces are
arranged in space. Values approaching 1.0 indicate that (on average) the
majority of leaves are horizontally arranged with respect to the ground.
Values approaching -1.0 indicate that leaves are mostly vertically
arranged, and a value of 0.0 denotes a canopy where leaf angle is random
(a ‘spherical’ distribution).
According to Beer’s Law, the fraction of light that is transferred
through a single layer of vegetation (leaves or stems) of thickness
:math:`\delta_{vai}`, without being intercepted by any surface, is
.. math:: \mathit{tr}_{dir} = e^{-k_{dir} \delta_{vai}}
and the incident direct radiation transmitted to each layer of the
canopy (:math:`dir_{tr,z}`) is thus calculated from the cumulative leaf
area ( :math:`L_{above}` ) shading each layer (:math:`z`):
.. math:: \mathit{dir}_{tr,z} = e^{-k_{dir} L_{above,z}}
The fraction of the leaves :math:`f_{sun}` that are exposed to direct
light is also calculated from the decay coefficient :math:`k_{dir}`.
.. math::
\begin{array}{l}
f_{sun,z} = e^{-k_{dir} L_{above,z}}\\
\rm{and}
\\ f_{shade,z} = 1-f_{sun,z}
\end{array}
where :math:`f_{shade,z}` is the fraction of leaves that are shaded
from direct radiation and only receive diffuse light.
Diffuse radiation, by definition, enters the canopy from a spectrum of
potential incident directions, therefore the un-intercepted transfer
(:math:`tr_{dif}`) through a leaf layer of thickness :math:`\delta_l` is
calculated as the mean of the transfer rate from each of 9 different
incident light directions (:math:`\alpha_{s}`) between 0 and 180 degrees
to the horizontal.
.. math:: \mathit{tr}_{dif} = \frac{1}{9} \sum\limits_{\alpha_s=5\pi/180}^{\alpha_s=85\pi/180} e^{-k_{dir,l} \delta_{vai}} \\ \\
.. math:: tr_{dif}= \frac{1}{9} \pi \sum_{\alpha s=0}^{ \pi / 2} \frac{e^{-gdir} \alpha_s}{\delta_{vai} \cdot \rm{sin}(\alpha_s) \rm{sin}(\alpha_s) \rm{cos}(\alpha_s)}
The fraction (1-:math:`tr_{dif}`) of the diffuse radiation is
intercepted by leaves as it passes through each leaf layer. Of this,
some fraction is reflected by the leaf surfaces and some is transmitted
through. The fractions of diffuse radiation reflected from
(:math:`\mathit{refl}_{dif}`) and transmitted though
(:math:`\mathit{tran}_{dif}`) each layer of leaves are thus,
respectively
.. math::
\begin{array}{l}
\mathit{refl_{dif}} = (1 - tr_{dif}) \rho_{l,ft}\\
\mathit{tran}_{dif} = (1 - tr_{dif}) \tau_{l,ft} + tr_{dif}
\end{array}
where :math:`\rho_{l,ft}` and :math:`\tau_{l,ft}` are the fractions of
incident light reflected and transmitted by individual leaf surfaces.
Once we know the fractions of light that are transmitted and reflected
by each leaf layer, we begin the process of distributing light through
the canopy. Starting with the first leaf layer (:math:`z`\ =1), where
the incident downwards diffuse radiation (:math:`\mathit{dif}_{down}`)
is 1.0, we work downwards for :math:`n_z` layers, calculating the
radiation in the next layer down (:math:`z+1`) as:
.. math:: \mathit{dif}_{down,z+1} = \frac{\mathit{dif}_{down,z} \mathit{tran}_{dif} } {1 - \mathit{r}_{z+1} \mathit{refl}_{dif}}
Here, :math:`\mathit{dif}_{down,z} \mathit{tran}_{dif}` calculates the
fraction of incoming energy transmitted downwards onto layer
:math:`z+1`. This flux is then increased by the additional radiation
:math:`r_z` that is reflected upwards from further down in the canopy to
layer :math:`z`, and then is reflected back downwards according to the
reflected fraction :math:`\mathit{refl_{dif}}`. The more radiation in
:math:`\mathit{r}_{z+1} \mathit{refl}_{dif}`, the smaller the
denominator and the larger the downwards flux. :math:`r` is also
calculated sequentially, starting this time at the soil surface layer
(where :math:`z = n_z+1`)
.. math:: r_{nz+1} = alb_s
where :math:`alb_s` is the soil albedo characteristic. The upwards
reflected fraction :math:`r_z` for each leaf layer, moving upwards, is
then :ref:`Norman 1979`
.. math:: r_z = \frac{r_{z+1} \times \mathit{tran}_{dif} ^{2} }{ (1 - r_{z+1} \mathit{refl_{dif}}) + \mathit{refl_{dif}}}.
The corresponding upwards diffuse radiation flux is therefore the
fraction of downwards radiation that is incident on a particular layer,
multiplied by the fraction that is reflected from all the lower layers:
.. math:: \mathit{dif}_{up,z} = r_z \mathit{dif}_{down,z+1}
Now we have initial conditions for the upwards and downwards diffuse
fluxes, these must be modified to account for the fact that, on
interception with leaves, direct radiation is transformed into diffuse
radiation. In addition, the initial solutions to the upwards and
downwards radiation only allow a single ‘bounce’ of radiation through
the canopy, so some radiation which might be intercepted by leaves
higher up is potentially lost. Therefore, the solution to this model is
iterative. The iterative solution has upwards and a downwards components
that calculate the upwards and downwards fluxes of total radiation at
each leaf layer (:math:`rad_{dn, z}` and :math:`rad_{up, z}`) . The
downwards component begins at the top canopy layer (:math:`z=1`). Here
we define the incoming solar diffuse and direct radiation
(:math:`\it{solar}_{dir}` and :math:`\it{solar}_{dir}` respectively).
.. math::
\begin{array}{l}
\mathit{dif}_{dn,1} = \it{solar}_{dif} \\
\mathit{rad}_{dn, z+1} = \mathit{dif}_{dn,z} \cdot \mathit{tran}_{dif} +\mathit{dif}_{up,z+1} \cdot \mathit{refl}_{dif} + \mathit{solar}_{dir} \cdot dir_{tr,z} (1- tr_{dir}) \tau_l.
\end{array}
The first term of the right-hand side deals with the diffuse radiation
transmitted downwards, the second with the diffuse radiation travelling
upwards, and the third with the direct radiation incoming at each layer
(:math:`dir_{tr,z}`) that is intercepted by leaves
(:math:`1- tr_{dir}`) and then transmitted through through the leaf
matrix as diffuse radiation (:math:`\tau_l`). At the bottom of the
canopy, the light reflected off the soil surface is calculated as
.. math:: rad _{up, nz} = \rm{\it{dif}}_{down,z} \cdot salb_{dif} +\it{solar}_{dir} \cdot dir_{tr,z} salb_{dir}.
The upwards propagation of the reflected radiation is then
.. math:: rad_{up, z} = \mathit{dif}_{up,z+1} \cdot \mathit{tran}_{dif} +\mathit{dif}_{dn,z} \cdot \mathit{refl}_{dif} + \it{solar}_{dir} \cdot dir_{tr,z} (1- tr_{dir}) \rho_l.
Here the first two terms deal with the diffuse downwards and upwards
fluxes, as before, and the third deals direct beam light that is
intercepted by leaves and reflected upwards. These upwards and downwards
fluxes are computed for multiple iterations, and at each iteration,
:math:`rad_{up, z}` and :math:`rad_{down, z}` are compared to their
values in the previous iteration. The iteration scheme stops once the
differences between iterations for all layers is below a predefined
tolerance factor, (set here at :math:`10^{-4}`). Subsequently, the
fractions of absorbed direct (:math:`abs_{dir,z}`) and diffuse
(:math:`abs_{dif,z}`) radiation for each leaf layer then
.. math:: abs_{dir,z} = \it{solar}_{dir} \cdot dir_{tr,z} \cdot (1- tr_{dir}) \cdot (1 - \rho_l-\tau_l)
.. math:: abs_{dif,z} = (\mathit{dif}_{dn,z} + \mathit{dif}_{up,z+1} ) \cdot (1 - tr_{dif}) \cdot (1 - \rho_l-\tau_l).
and, the radiation energy absorbed by the soil for the diffuse and
direct streams is is calculated as
.. math:: \it{abs}_{soil} = \mathit{dif}_{down,nz+1} \cdot (1 - salb_{dif}) +\it{solar}_{dir} \cdot dir_{tr,nz+1} \cdot (1- salb_{dir}).
Canopy level albedo is denoted as the upwards flux from the top leaf
layer
.. math:: \it{alb}_{canopy}= \frac{\mathit{dif}_{up,z+1} }{ \it{solar}_{dir} + \it{solar}_{dif}}
and the division of absorbed energy into sunlit and shaded leaf
fractions, (required by the photosynthesis calculations), is
.. math:: abs_{sha,z} = abs_{dif,z} \cdot f_{sha}
.. math:: abs_{sun,z} = abs_{dif,z} \cdot f_{sun}+ abs_{dir,z}
Resolution of radiation transfer theory within the FATES canopy structure
-------------------------------------------------------------------------
The radiation transfer theory above, was described with reference to a
single canopy of one plant functional type, for the sake of clarity of
explanation. The FATES model, however, calculates radiative and
photosynthetic fluxes for a more complex hierarchical structure within
each patch/time-since-disturbance class, as described in the leaf area
profile section. Firstly, we denote two or more canopy layers (denoted
:math:`C_l`). The concept of a ‘canopy layer’ refers to the idea that
plants are organized into discrete over and under-stories, as predicted
by the Perfect Plasticity Approximation
(:ref:`Purves et al. 2008`, :ref:`Fisher et al. 2010`). Within each canopy layer
there potentially exist multiple cohorts of different plant functional
types and heights. Within each canopy layer, :math:`C_l`, and functional
type, :math:`ft`, the model resolves numerous leaf layers :math:`z`,
and, for some processes, notably photosynthesis, each leaf layer is
split into a fraction of sun and shade leaves, :math:`f_{sun}` and
:math:`f_{sha}`, respectively.
The radiation scheme described in Section is solved explicitly for this
structure, for both the visible and near-infrared wavebands, according
to the following assumptions.
- A *canopy layer* (:math:`C_{L}`) refers to either the over or understorey
- A *leaf layer* (:math:`z`) refers to the discretization of the LAI
within the canopy of a given plant functional type.
- All PFTs in the same canopy layer have the same solar radiation
incident on the top layer of the canopy
- Light is transmitted through the canopy of each plant functional type independently
- Between canopy layers, the light streams from different plant
functional types are mixed, such that the (undefined) spatial
location of plants in lower canopy layers does not impact the amount
of light received.
- Where understorey layers fill less area than the overstorey layers,
radiation is directly transferred to the soil surface.
- All these calculations pertain to a single patch, so we omit the
`patch` subscript for simplicity in the following discussion.
Within this framework, the majority of the terms in the radiative
transfer scheme are calculated with indices of :math:`C_L`,
:math:`\it{ft}` and :math:`z`. In the following text, we revisit the
simplified version of the radiation model described above, and explain
how it is modified to account for the more complex canopy structure used
by FATES.
Firstly, the light penetration functions, :math:`k_{dir}` and
:math:`g_{dir}` are described as functions of :math:`\it{ft}`, because
the leaf angle distribution, :math:`\chi_l`, is a pft-specific
parameter. Thus, the diffuse irradiance transfer rate, :math:`tr_{dif}`
is also :math:`\it{ft}` specific because :math:`g_{dir}`, on which it
depends, is a function of :math:`\chi_l`.
The amount of direct light reaching each leaf layer is a function of the
leaves existing above the layer in question. If a leaf layer ‘:math:`z`’
is in the top canopy layer (the over-storey), it is only shaded by
leaves of the same PFT so :math:`k_{dir}` is unchanged from equation. If
there is more than one canopy layer (:math:`C_{l,max}>1`), then the
amount of direct light reaching the top leaf surfaces of the
second/lower layer is the weighted average of the light attenuated by
all the parallel tree canopies in the canopy layer above, thus.
.. math:: dir_{tr,Cl,:,1} =\sum_{ft=1}^{npft}{(dir_{tr,Cl,ft,z_{max}} \cdot c_{area,Cl-1,ft,z_{max}})}
where :math:`\it{pft}_{wt}` is the areal fraction of each canopy layer
occupied by each functional type and :math:`z_{max}` is the index of the
bottom canopy layer of each pft in each canopy layer (the subscripts
:math:`C_l` and :math:`ft` are implied but omitted from all
:math:`z_{max}` references to avoid additional complications)
Similarly, the sunlit fraction for a leaf layer ‘:math:`z`’ in the
second canopy layer (where :math:`C_l > 1`) is
.. math:: f_{sun,Cl,ft,z} = W_{sun,Cl} \cdot e^{k_{dir,ft,laic,z}}
where :math:`W_{sun,Cl}` is the weighted average sunlit fraction in the
bottom layer of a given canopy layer.
.. math:: W_{sun,Cl} = \sum_{ft=1}^{npft}{(f_{sun,Cl-1,ft,zmax} \cdot c_{area,Cl-1,ft,zmax})}
Following through the sequence of equations for the simple single pft
and canopy layer approach above, the :math:`\mathit{refl}_{dif}` and
:math:`\mathit{tran}_{dif}` fluxes are also indexed by :math:`C_l`,
:math:`\it{ft}`, and :math:`z`. The diffuse radiation reflectance ratio
:math:`r_z` is also calculated in a manner that homogenizes fluxes
between canopy layers. For the canopy layer nearest the soil
(:math:`C_l` = :math:`C_{l,max}`). For the top canopy layer
(:math:`C_l`\ =1), a weighted average reflectance from the lower layers
is used as the baseline, in lieu of the soil albedo. Thus:
.. math:: r_{z,Cl,:,1} = \sum_{ft=1}^{npft}{(r_{z,Cl-1,ft,1} \it{pft}_{wt,Cl-1,ft,1})}
For the iterative flux resolution, the upwards and downwards fluxes are
also averaged between canopy layers, thus where :math:`C_l>1`
.. math:: rad_{dn, Cl,ft,1} = \sum_{ft=1}^{npft}{(rad_{dn, Cl-1,ft,zmax} \cdot \it{pft}_{wt,Cl-1,ft,zmax})}
and where :math:`C_l` =1, and :math:`C_{l,max}>1`
.. math:: rad_{up,Cl,ft,zmax} = \sum_{ft=1}^{npft}{(rad_{up, Cl+1,ft,1} \cdot \it{pft}_{wt,Cl+1,ft,1})}
The remaining terms in the radiation calculations are all also indexed
by :math:`C_l`, :math:`ft` and :math:`z` so that the fraction of
absorbed radiation outputs are termed :math:`abs_{dir,Cl,ft,z}` and
:math:`abs_{dif,Cl,ft,z}`. The sunlit and shaded absorption rates are
therefore
.. math:: abs_{sha,Cl,ft,z} = abs_{dif,Cl,ft,z}\cdot f_{sha,Cl,ft,z}
and
.. math:: abs_{sun,Cl,ft,z} = abs_{dif,Cl,ft,z} \cdot f_{sun,Cl,ft,z}+ abs_{dir,Cl,ft,z}
The albedo of the mixed pft canopy is calculated as the weighted average
of the upwards radiation from the top leaf layer of each pft where
:math:`C_l`\ =1:
.. math:: \it{alb}_{canopy}= \sum_{ft=1}^{npft}{\frac{\mathit{dif}_{up,1,ft,1} \it{pft}_{wt,1,ft,1}} {\it{solar}_{dir} + \it{solar}_{dif}}}
The radiation absorbed by the soil after passing through through
under-storey vegetation is:
.. math:: \it{abs}_{soil}= \sum_{ft=1}^{npft}{ \it{pft}_{wt,1,ft,1}( \mathit{dif}_{down,nz+1} (1 - salb_{dif}) +\it{solar}_{dir} dir_{tr,nz+1} (1- salb_{dir}))}
to which is added the diffuse flux coming directly from the upper
canopy and hitting no understorey vegetation.
.. math:: \it{abs}_{soil}= \it{abs}_{soil}+dif_{dn,2,1} (1- \sum_{ft=1}^{npft}{\it{pft}_{wt,1,ft,1}}) (1 - salb_{dif})
and the direct flux coming directly from the upper canopy and hitting
no understorey vegetation.
.. math:: \it{abs}_{soil}= \it{abs}_{soil}+\it{solar}_{dir} dir_{tr,2,1}(1- \sum_{ft=1}^{npft}{\it{pft}_{wt,1,ft,1}}) (1 - salb_{dir})
These changes to the radiation code are designed to be structurally
flexible, and the scheme may be collapsed down to only include on canopy
layer, functional type and pft for testing if necessary.
.. raw:: latex
\captionof{table}{Parameters needed for radiation transfer model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`\chi` | Leaf angle | none | *ft* |
| | distribution | | |
| | parameter | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\rho_l` | Fraction of | none | *ft* |
| | light reflected | | |
| | by leaf surface | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\tau_l` | Fraction of | none | *ft* |
| | light | | |
| | transmitted by | | |
| | leaf surface | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`alb_s` | Fraction of | none | direct vs |
| | light reflected | | diffuse |
| | by soil | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Photosynthesis
^^^^^^^^^^^^^^^^^^^^
Fundamental photosynthetic physiology theory
--------------------------------------------
In this section we describe the physiological basis of the
photosynthesis model before describing its application to the FATES
canopy structure. This description in this section is largely repeated
from the Oleson et al. CLM4.5 technical note but included here for
comparison with its implementation in FATES. Photosynthesis in C3
plants is based on the model of :ref:`Farquhar 1980` as
modified by :ref:`Collatz et al. (1991)`. Photosynthetic assimilation
in C4 plants is based on the model of :ref:`Collatz et al. (1991)`.
In both models, leaf photosynthesis, :math:`\textrm{gpp}`
(:math:`\mu`\ mol CO\ :math:`_2` m\ :math:`^{-2}` s\ :math:`^{-1}`) is
calculated as the minimum of three potentially limiting fluxes,
described below:
.. math:: \textrm{gpp} = \rm{min}(w_{j}, w_{c},w_{p}).
The RuBP carboxylase (Rubisco) limited rate of carboxylation
:math:`w_{c}` (:math:`\mu`\ mol CO\ :math:`_{2}` m\ :math:`^{-2}`
s\ :math:`^{-1}`) is determined as
.. math::
w_{c}= \left\{ \begin{array}{ll}
\frac{V_{c,max}(c_{i} - \Gamma_*)}{ci+K_{c}(1+o_{i}/K_{o})} & \textrm{for $C_{3}$ plants}\\
&\\
V_{c,max}& \textrm{for $C_{4}$ plants}\\
\end{array} \right.
c_{i}-\Gamma_*\ge 0
where :math:`c_{i}` is the internal leaf CO\ :math:`_{2}` partial
pressure (Pa) and :math:`o_i (0.209P_{atm}`) is the O\ :math:`_{2}`
partial pressure (Pa). :math:`K_{c}` and :math:`K_{o}` are the
Michaelis-Menten constants (Pa) for CO\ :math:`_{2}` and
O\ :math:`_{2}`. These vary with vegetation temperature :math:`T_v`
(:math:`^{o}`\ C) according to an Arrhenious function described in
:ref:`Oleson et al. 2013`. :math:`V_{c,max}` is the leaf layer
photosynthetic capacity (:math:`\mu` mol CO\ :math:`_2` m\ :math:`^{-2}`
s\ :math:`^{-1}`).
The maximum rate of carboxylation allowed by the capacity to regenerate
RuBP (i.e., the light-limited rate) :math:`w_{j}` (:math:`\mu`\ mol
CO\ :math:`_2` m\ :math:`^{-2}` s\ :math:`^{-1}`) is
.. math::
w_j= \left\{ \begin{array}{ll}
\frac{J(c_i - \Gamma_*)}{4ci+8\Gamma_*} & \textrm{for C$_3$ plants}\\
&\\
4.6\phi\alpha & \textrm{for C$_4$ plants}\\
\end{array} \right.
c_i-\Gamma_*\ge 0
To find :math:`J`, the electron transport rate (:math:`\mu` mol
CO\ :math:`_2` m\ :math:`^{-2}` s\ :math:`^{-1}`), we solve the
following quadratic term and take its smaller root,
.. math:: \Theta_{psII}J^{2}-(I_{psII} +J_{max})J+I_{psII}J_{max} =0
where :math:`J_{max}` is the maximum potential rate of electron
transport (:math:`\mu`\ mol m\ :math:`_{-2}` s\ :math:`^{-1}`),
:math:`I_{PSII}` is the is the light utilized in electron transport by
photosystem II (:math:`\mu`\ mol m\ :math:`_{-2}` s\ :math:`^{-1}`) and
:math:`\Theta_{PSII}` is is curvature parameter. :math:`I_{PSII}` is
determined as
.. math:: I_{PSII} =0.5 \Phi_{PSII}(4.6\phi)
where :math:`\phi` is the absorbed photosynthetically active radiation
(Wm:math:`^{-2}`) for either sunlit or shaded leaves (:math:`abs_{sun}`
and :math:`abs_{sha}`). :math:`\phi` is converted to photosynthetic
photon flux assuming 4.6 :math:`\mu`\ mol photons per joule. Parameter
values are :math:`\Phi_{PSII}` = 0.7 for C3 and :math:`\Phi_{PSII}` =
0.85 for C4 plants.
The export limited rate of carboxylation for C3 plants and the PEP
carboxylase limited rate of carboxylation for C4 plants :math:`w_e`
(also in :math:`\mu`\ mol CO\ :math:`_2` m\ :math:`^{-2}`
s\ :math:`^{-1}`) is
.. math::
w_e= \left\{ \begin{array}{ll}
3 T_{p,0} & \textrm{for $C_3$ plants}\\
&\\
k_{p} \frac{c_i}{P_{atm}}& \textrm{for $C_4$ plants}.\\
\end{array} \right.
:math:`T_{p}` is the triose-phosphate limited rate of photosynthesis,
which is equal to :math:`0.167 V_{c,max0}`. :math:`k_{p}` is the initial
slope of C4 CO\ :math:`_{2}` response curve. The Michaelis-Menten
constants :math:`K_{c}` and :math:`K_{o}` are modeled as follows,
.. math:: K_{c} = K_{c,25}(a_{kc})^{\frac{T_v-25}{10}},
.. math:: K_{o} = K_{o,25}(a_{ko})^{\frac{T_v-25}{10}},
where :math:`K_{c,25}` = 30.0 and :math:`K_{o,25}` = 30000.0 are values
(Pa) at 25 :math:`^{o}`\ C, and :math:`a_{kc}` = 2.1 and :math:`a_{ko}`
=1.2 are the relative changes in :math:`K_{c,25}` and :math:`K_{o,25}`
respectively, for a 10\ :math:`^{o}`\ C change in temperature. The
CO\ :math:`_{2}` compensation point :math:`\Gamma_{*}` (Pa) is
.. math:: \Gamma_* = \frac{1}{2} \frac{K_c}{K_o}0.21o_i
where the term 0.21 represents the ratio of maximum rates of oxygenation
to carboxylation, which is virtually constant with temperature
:ref:`Farquhar, 1980`.
Resolution of the photosynthesis theory within the FATES canopy structure.
--------------------------------------------------------------------------
The photosynthesis scheme is modified from the CLM4.5 model to give
estimates of photosynthesis, respiration and stomatal conductance for a
three dimenstional matrix indexed by canopy level (:math:`C_l`), plant
functional type (:math:`ft`) and leaf layer (:math:`z`). We conduct the
photosynthesis calculations at each layer for both sunlit and shaded
leaves. Thus, the model also generates estimates of :math:`w_{c},w_{j}`
and :math:`w_{e}` indexed in the same three dimensional matrix. In this
implementation, some properties (stomatal conductance parameters,
top-of-canopy photosynthetic capacity) vary with plant functional type,
and some vary with both functional type and canopy depth (absorbed
photosynthetically active radiation, nitrogen-based variation in
photosynthetic properties). The remaining drivers of photosynthesis
(:math:`P_{atm}`, :math:`K_c`, :math:`o_i`, :math:`K_o`, temperature,
atmospheric CO\ :math:`_2`) remain the same throughout the canopy. The
rate of gross photosynthesis (:math:`gpp_{Cl,ft,z}`)is the smoothed
minimum of the three potentially limiting processes (carboxylation,
electron transport, export limitation), but calculated independently for
each leaf layer:
.. math:: \textrm{gpp}_{Cl,ft,z} = \rm{min}(w_{c,Cl,ft,z},w_{j,Cl,ft,z},w_{e,Cl,ft,z}).
For :math:`w_{c,Cl,ft,z},`, we use
.. math::
w_{c,Cl,ft,z}= \left\{ \begin{array}{ll}
\frac{V_{c,max,Cl,ft,z}(c_{i,Cl,ft,z}- \Gamma_*)}{c_{i,Cl,ft,z}+K_c(1+o_i/K_o)} & \textrm{for $C_3$ plants}\\
&\\
V_{c,max,Cl,ft,z}& \textrm{for $C_4$ plants}\\
\end{array} \right.
c_{i,Cl,ft,z}-\Gamma_*\ge 0
where :math:`V_{c,max}` now varies with PFT, canopy depth and layer
(see below). Internal leaf :math:`CO_{2}` (:math:`c_{i,Cl,ft,z})` is
tracked seperately for each leaf layer. For the light limited rate
:math:`w_j`, we use
.. math::
w_j= \left\{ \begin{array}{ll}
\frac{J(c_i - \Gamma_*)4.6\phi\alpha}{4ci+8\Gamma_*} & \textrm{for C$_3$ plants}\\
&\\
4.6\phi\alpha & \textrm{for C$_4$ plants}\\
\end{array} \right.
where :math:`J` is calculated as above but based on the absorbed
photosynthetically active radiation( :math:`\phi_{Cl,ft,z}`) for either
sunlit or shaded leaves in Wm\ :math:`^{-2}`. Specifically,
.. math::
\phi_{Cl,ft,z}= \left\{ \begin{array}{ll}
abs_{sun,Cl,ft,z}& \textrm{for sunlit leaves}\\
&\\
abs_{sha,Cl,ft,z}& \textrm{for shaded leaves}\\
\end{array} \right.
The export limited rate of carboxylation for C3 plants and the PEP
carboxylase limited rate of carboxylation for C4 plants :math:`w_c`
(also in :math:`\mu`\ mol CO\ :math:`_2` m\ :math:`^{-2}`
s\ :math:`^{-1}`) is calculated in a similar fashion,
.. math::
w_{e,Cl,ft,z}= \left\{ \begin{array}{ll}
0.5V_{c,max,Cl,ft,z} & \textrm{for $C_3$ plants}\\
&\\
4000 V_{c,max,Cl,ft,z} \frac{c_{i,Cl,ft,z}}{P_{atm}}& \textrm{for $C_4$ plants}.\\
\end{array} \right.
Variation in plant physiology with canopy depth
-----------------------------------------------
Both :math:`V_{c,max}` and :math:`J_{max}` vary with vertical depth in
the canopy on account of the well-documented reduction in canopy
nitrogen through the leaf profile, see :ref:`Bonan et al. 2012` for
details). Thus, both :math:`V_{c,max}` and :math:`J_{max}` are indexed
by by :math:`C_l`, :math:`ft` and :math:`z` according to the nitrogen
decay coefficient :math:`K_n` and the amount of vegetation area shading
each leaf layer :math:`V_{above}`,
.. math::
\begin{array}{ll}
V_{c,max,Cl,ft,z} & = V_{c,max0,ft} e^{-K_{n,ft}V_{above,Cl,ft,z}},\\
J_{max,Cl,ft,z} & = J_{max0,ft} e^{-K_{n,ft}V_{above,Cl,ft,z}},\\
\end{array}
where :math:`V_{c,max,0}` and :math:`J_{max,0}` are the top-of-canopy
photosynthetic rates. :math:`V_{above}` is the sum of exposed leaf area
index (:math:`\textrm{elai}_{Cl,ft,z}`) and the exposed stem area index
(:math:`\textrm{esai}_{Cl,ft,z}`)( m\ :math:`^{2}` m\ :math:`^{-2}` ).
Namely,
.. math:: V_{Cl,ft,z} = \textrm{elai}_{Cl,ft,z} + \textrm{esai}_{Cl,ft,z}.
The vegetation index shading a particular leaf layer in the top canopy
layer is equal to
.. math::
\begin{array}{ll}
V_{above,Cl,ft,z}= \sum_{1}^{z} V_{Cl,ft,z} & \textrm{for $Cl= 1$. }
\end{array}
For lower canopy layers, the weighted average vegetation index of the
canopy layer above (:math:`V_{canopy}`) is added to this within-canopy
shading. Thus,
.. math::
\begin{array}{ll}
V_{above,Cl,ft,z}= \sum_{1}^{z} V_{Cl,ft,z} + V_{canopy,Cl-1} & \textrm{for $Cl >1$, }\\
\end{array}
where :math:`V_{canopy}` is calculated as
.. math:: V_{canopy,Cl} = \sum_{ft=1}^{\emph{npft}} {\sum_{z=1}^{nz(ft)} (V_{Cl,ft,z} \cdot \it{pft}_{wt,Cl,ft,1}).}
:math:`K_{n}` is the coefficient of nitrogen decay with canopy depth.
The value of this parameter is taken from the work of
:ref:`Lloyd et al. 2010` who determined, from 204 vertical profiles
of leaf traits, that the decay rate of N through canopies of tropical
rainforests was a function of the :math:`V_{cmax}` at the top of the
canopy. They obtain the following term to predict :math:`K_{n}`,
.. math:: K_{n,ft} = e^{0.00963 V_{c,max0,ft} - 2.43},
where :math:`V_{cmax}` is again in :math:`\mu`\ mol CO\ :math:`_2`
m\ :math:`^{-2}` s\ :math:`^{-1}`.
Water Stress on gas exchange
----------------------------
The top of canopy leaf photosynthetic capacity, :math:`V_{c,max0}`, is
also adjusted for the availability of water to plants as
.. math:: V_{c,max0,25} = V_{c,max0,25} \beta_{sw},
where the adjusting factor :math:`\beta_{sw}` ranges from one when the
soil is wet to zero when the soil is dry. It depends on the soil water
potential of each soil layer, the root distribution of the plant
functional type, and a plant-dependent response to soil water stress,
.. math:: \beta_{sw} = \sum_{j=1}^{nj}w_{j}r_{j},
where :math:`w_{j}` is a plant wilting factor for layer :math:`j` and
:math:`r_{j}` is the fraction of roots in layer :math:`j`.The plant
wilting factor :math:`w_{j}` is
.. math::
w_{j}= \left\{ \begin{array}{ll}
\frac{\psi_c-\psi_{j}}{\psi_c - \psi_o} (\frac{\theta_{sat,j} - \theta_{ice,j}}{\theta_{sat,j}})& \textrm{for $T_i >$-2C}\\
&\\
0 & \textrm{for $T_{j} \ge$-2C}\\
\end{array} \right.
where :math:`\psi_{i}` is the soil water matric potential (mm) and
:math:`\psi_{c}` and :math:`\psi_{o}` are the soil water potential (mm)
when stomata are fully closed or fully open, respectively. The term in
brackets scales :math:`w_{i}` the ratio of the effective porosity (after
accounting for the ice fraction) relative to the total porosity.
:math:`w_{i}` = 0 when the temperature of the soil layer (:math:`T_{i}`
) is below some threshold (-2:math:`^{o}`\ C) or when there is no liquid
water in the soil layer (:math:`\theta_{liq,i} \le 0`). For more details
on the calculation of soil matric potential, see the CLM4.5 technical
note.
Variation of water stress and water uptake within tiles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The remaining drivers of the photosynthesis model remain constant
(atmospheric CO\ :math:`_2` and O\ :math:`^2` and canopy temperature)
throughout the canopy, except for the water stress index
:math:`\beta_{sw}`. :math:`\beta_{sw}` must be indexed by :math:`ft`,
because plants of differing functional types have the capacity to have
varying root depth, and thus access different soil moisture profile and
experience differing stress functions. Thus, the water stress function
applied to gas exchange calculation is now calculated as
.. math:: \beta_{sw,ft} = \sum_{j=1}^{nj}w_{j,ft} r_{j,ft},
where :math:`w_{j}` is the water stress at each soil layer :math:`j`
and :math:`r_{j,ft}` is the root fraction of each PFT’s root mass in
layer :math:`j`. Note that this alteration of the :math:`\beta_{sw}`
parameter also necessitates recalculation of the vertical water
extraction profiles. In the original model, the fraction of extraction
from each layer (:math:`r_{e,j,patch}`) is the product of a single root
distribution, because each patch only has one plant functional type. In
FATES, we need to calculate a new weighted patch effective rooting
depth profile :math:`r_{e,j,patch}` as the weighted average of the
functional-type level stress functions and their relative contributions
to canopy conductance. Thus for each layer :math:`j`, the extraction
fraction is summed over all PFTs as
.. math:: r_{e,j,patch} = \sum_{ft=1}^{ft=npft} \frac{w_{j,ft}}{\sum_{j=1}^{=nj} w_{j,ft} }\frac{G_{s,ft}}{G_{s,canopy}},
where :math:`nj` is the number of soil layers, :math:`G_{s,canopy}`\ is
the total canopy (see section 9 for details) and :math:`G_{s,ft}` is the
canopy conductance for plant functional type :math:`ft`,
.. math:: G_{s,ft}= \sum_{1}w_{ncoh,ft} {gs_{can,coh} n_{coh} }.
Aggregation of assimilated carbon into cohorts
----------------------------------------------
The derivation of photosynthetic rates per leaf layer, as above, give us
the estimated rate of assimilation for a unit area of leaf at a given
point in the canopy in :math:`\mu`\ mol CO\ :math:`_2` m\ :math:`^{-2}`
s\ :math:`_{-1}`. To allow the integration of these rates into fluxes
per individual tree, or cohort of trees (gCO:math:`_2`
tree\ :math:`^{-1}` s\ :math:`^{-1}`), they must be multiplied by the
amount of leaf area placed in each layer by each cohort. Each cohort is
described by a single functional type, :math:`ft` and canopy layer
:math:`C_l` flag, so the problem is constrained to integrating these
fluxes through the vertical profile (:math:`z`).
We fist make a weighted average of photosynthesis rates from sun
(:math:`\textrm{gpp}_{sun}`, :math:`\mu`\ mol CO\ :math:`_2`
m\ :math:`^{-2}` s\ :math:`^{-1}`) and shade leaves (
:math:`\textrm{gpp}_{shade}`, :math:`\mu`\ mol CO\ :math:`_2`
m\ :math:`^{-2}` s\ :math:`^{-1}`) as
.. math:: \textrm{gpp}_{Cl,ft,z} =\textrm{gpp}_{sun,Cl,ft,z} f_{sun,Cl,ft,z}+ \textrm{gpp}_{sha,Cl,ft,z}(1-f_{sun,Cl,ft,z}).
The assimilation per leaf layer is then accumulated across all the leaf
layers in a given cohort (*coh*) to give the cohort-specific gross
primary productivity (:math:`\mathit{GPP}_{coh}`),
.. math:: \textit{GPP}_{coh} = 12\times 10^{-9}\sum_{z=1}^{nz(coh)}gpp_{Cl,ft,z} A_{crown,coh} \textrm{elai}_{Cl,ft,z}
The :math:`\textrm{elai}_{l,Cl,ft,z}` is the exposed leaf area which is
present in each leaf layer in m\ :math:`^{2}` m\ :math:`^{-2}`. (For all
the leaf layers that are completely occupied by a cohort, this is the
same as the leaf fraction of :math:`\delta_{vai}`). The fluxes are
converted from :math:`\mu`\ mol into mol and then multiplied by 12 (the
molecular weight of carbon) to give units for GPP\ :math:`_{coh}` of KgC
cohort\ :math:`^{-1}` s\ :math:`^{-1}`. These are integrated for each
timestep to give KgC cohort\ :math:`^{-1}` day\ :math:`^{-1}`
.. raw:: latex
\captionof{table}{Parameters needed for photosynthesis model.}
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`V_{c,max | Maximum | :math:`\mu` mol | *ft* |
| 0}` | carboxylation | CO :math:`_2` | |
| | capacity | m :math:`^{-2}` | |
| | | s :math:`^{-1}` | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`r_b` | Base Rate of | gC | |
| | Respiration | gN\ :math:`^{-1 | |
| | | } s^{-1}`) | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`q_{10}` | Temp. Response | | |
| | of stem and | | |
| | root | | |
| | respiration | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`R_{cn,le | CN ratio of | gC/gN | *ft* |
| af,ft}` | leaf matter | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`R_{cn,ro | CN ratio of | gC/gN | *ft* |
| ot,ft}` | root matter | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{gr}` | Growth | none | |
| | Respiration | | |
| | Fraction | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\psi_c` | Water content | Pa | *ft* |
| | when stomata | | |
| | close | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\psi_o` | Water content | Pa | *ft* |
| | above which | | |
| | stomata are | | |
| | open | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Plant respiration
^^^^^^^^^^^^^^^^^^
Plant respiration per individual :math:`R_{plant,coh}` (KgC individual
:math:`^{-1}` s\ :math:`^{-1}`) is the sum of two terms, growth and
maintenance respiration :math:`R_{g,coh}` and :math:`R_{m,coh}`
.. math:: R_{plant} = R_{g,coh}+ R_{m,coh}
Maintenance respiration is the sum of the respiration terms from four
different plant tissues, leaf, :math:`R_{m,leaf,coh}`, fine root
:math:`R_{m,froot,coh}`, coarse root :math:`R_{m,croot,coh}`\ and stem
:math:`R_{m,stem,coh}`, all also in (KgC individual :math:`^{-1}`
s\ :math:`^{-1}`) .
.. math:: R_{m,coh} = R_{m,leaf,coh}+ R_{m,froot,coh}+R_{m,croot,coh}+R_{m,stem,coh}
To calculate canopy leaf respiration, which varies through we canopy, we
first determine the top-of-canopy leaf respiration rate
(:math:`r_{m,leaf,ft,0}`, gC s\ :math:`^{-1}` m\ :math:`^{-2}`) is
calculated from a base rate of respiration per unit leaf nitrogen
derived from :ref:`Ryan et al. 1991`. The base rate for leaf
respiration (:math:`r_{b}`) is 2.525 gC/gN s\ :math:`^{-1}`,
.. math:: r_{m,leaf,ft,0} = r_{b} N_{a,ft}(1.5^{(25-20)/10})
where :math:`r_b` is the base rate of metabolism (2.525 x
10\ :math:`^6` gC/gN s\ :math:`^{-1}`. This base rate is adjusted
assuming a Q\ :math:`_{10}` of 1.5 to scale from the baseline of 20C to
the CLM default base rate temperature of 25C. For use in the
calculations of net photosynthesis and stomatal conductance, leaf
respiration is converted from gC s\ :math:`^{-1}` m\ :math:`^{-2}`, into
:math:`\mu`\ mol CO\ :math:`_2` m\ :math:`^{-2}` s\ :math:`^{-1}`
(:math:`/12\cdot 10^{-6}`).
This top-of-canopy flux is scaled to account for variation in
:math:`N_a` through the vertical canopy, in the same manner as the
:math:`V_{c,max}` values are scaled using :math:`V_{above}`.
.. math:: r_{leaf,Cl,ft,z} = r_{m,leaf,ft,0} e^{-K_{n,ft}V_{above,Cl,ft,z}}\beta_{ft}f(t)
Leaf respiration is also adjusted such that it is reduced by drought
stress, :math:`\beta_{ft}`, and canopy temperature, :math:`f(t_{veg})`.
For details of the temperature functions affecting leaf respiration see
the CLM4 technical note, Section 8, Equations 8.13 and 8.14. The
adjusted leaf level fluxes are scaled to individual-level (gC individual
:math:`^{-1}` s\ :math:`^{-1}`) in the same fashion as the
:math:`\rm{GPP}_{coh}` calculations
.. math:: \rm{R}_{m,leaf,coh} = 12\times 10^{-9}\sum_{z=1}^{nz(coh)}r_{leaf,Cl,ft,z} A_{crown} \textrm{elai}_{Cl,ft,z}
The stem and the coarse-root respiration terms are derived using the
same base rate of respiration per unit of tissue Nitrogen.
.. math:: R_{m,croot,coh} = 10^{-3}r_b t_c \beta_{ft} N_{\rm{livecroot,coh}}
.. math:: R_{m,stem,coh} = 10^{-3}r_b t_c \beta_{ft} N_{\rm{stem,coh}}
Here, :math:`t_c` is a temperature relationship based on a
:math:`q_{10}` value of 1.5, where :math:`t_v` is the vegetation
temperature. We use a base rate of 20 here as, again, this is the
baseline temperature used by :ref:`Ryan et al. 1991`. The
10\ :math:`^{-3}` converts from gC invididual\ :math:`^{-1}`
s\ :math:`^{-1}` to KgC invididual\ :math:`^{-1}` s\ :math:`^{-1}`
.. math:: t_c=q_{10}^{(t_{v} - 20)/10}
The tissue N contents for live sapwood are derived from the leaf CN
ratios, and for fine roots from the root CN ratio as:
.. math:: N_{\rm{stem,coh}} = \frac{B_{\rm{sapwood,coh}}}{ R_{cn,leaf,ft}}
and
.. math:: N_{\rm{livecroot,coh}} = \frac{ B_{\rm{root,coh}}w_{frac,ft}}{R_{cn,root,ft}}
where :math:`B_{\rm{sapwood,coh}}` and :math:`B_{\rm{root,coh}}` are
the biomass pools of sapwood and live root biomass respectively (KgC
individual) and :math:`w_{frac,ft}` is the fraction of coarse root
tissue in the root pool (0.5 for woody plants, 0.0 for grasses and
crops). We assume here that stem CN ratio is the same as the leaf C:N
ratio, for simplicity. The final maintenance respiration term is derived
from the fine root respiration, which accounts for gradients of
temperature in the soil profile and thus calculated for each soil layer
:math:`j` as follows:
.. math:: R_{m,froot,j } = \frac{(1 - w_{frac,ft})B_{\rm{root,coh}}b_r\beta_{ft}}{10^3R_{cn,leaf,ft}} \sum_{j=1}^{nj}t_{c,soi,j} r_{i,ft,j}
:math:`t_{c,soi}` is a function of soil temperature in layer :math:`j`
that has the same form as that for stem respiration, but uses vertically
resolved soil temperature instead of canopy temperature. In the CLM4.5,
only coarse and not fine root respriation varies as a function of soil
depth, and we maintain this assumption here, although it may be altered
in later versions. The growth respiration, :math:`R_{g,coh}` is a fixed
fraction :math:`f_{gr}` of the carbon remaining after maintenance
respiration has occurred.
.. math:: R_{g,coh}=\textrm{max}(0,GPP_{g,coh} - \it R\rm_{m,coh})f_{gr}
.. raw:: latex
\captionof{table}{Parameters needed for plant respiration model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`-K_{n,ft | Rate of | none | - |
| }` | reduction of N | | |
| | through the | | |
| | canopy | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`r_b` | Base Rate of | gC | |
| | Respiration | gN\ :math:`^{-1 | |
| | | } s^{-1}`) | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`q_{10}` | Temp. Response | | |
| | of stem and | | |
| | root | | |
| | respiration | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`R_{cn,le | CN ratio of | gC/gN | *ft* |
| af,ft}` | leaf matter | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`R_{cn,ro | CN ratio of | gC/gN | *ft* |
| ot,ft}` | root matter | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{gr}` | Growth | none | |
| | Respiration | | |
| | Fraction | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Stomatal Conductance
^^^^^^^^^^^^^^^^^^^^
Fundamental stomatal conductance theory
---------------------------------------
Stomatal conductance is unchanged in concept from the CLM4.5 approach.
Leaf stomatal resistance is calculated from the Ball-Berry conductance
model as described by :ref:`Collatz et al. (1991)` and implemented in
a global climate model by :ref:`Sellers et al. 1996`. The model
relates stomatal conductance (i.e., the inverse of resistance) to net
leaf photosynthesis, scaled by the relative humidity at the leaf surface
and the CO\ :math:`_2` concentration at the leaf surface. The primary
difference between the CLM implementation and that used by
:ref:`Collatz et al. (1991)` and :ref:`Sellers et al. (1996)` is
that they used net photosynthesis (i.e., leaf photosynthesis minus leaf
respiration) instead of gross photosynthesis. As implemented here,
stomatal conductance equals the minimum conductance (:math:`b`) when
gross photosynthesis (:math:`A`) is zero. Leaf stomatal resistance is
.. math:: \frac{1}{r_{s}} = m_{ft} \frac{A}{c_s}\frac{e_s}{e_i}P_{atm}+b_{ft} \beta_{sw}
where :math:`r_{s}` is leaf stomatal resistance (s m\ :math:`^2`
:math:`\mu`\ mol\ :math:`^{-1}`), :math:`b_{ft}` is a plant functional
type dependent parameter equivalent to :math:`g_{0}` in the Ball-Berry
model literature. This parameter is also scaled by the water stress
index :math:`\beta_{sw}`. Similarly, :math:`m_{ft}` is the slope of the
relationship between the assimilation, :math:`c_s` and humidty dependant
term and the stomatal conductance, and so is equivalent to the
:math:`g_{1}` term in the stomatal literature. :math:`A` is leaf
photosynthesis (:math:`\mu`\ mol CO\ :math:`_2` m\ :math:`^{-2}`
s\ :math:`^{-1}`), :math:`c_s` is the CO\ :math:`_2` partial pressure at
the leaf surface (Pa), :math:`e_s` is the vapor pressure at the leaf
surface (Pa), :math:`e_i` is the saturation vapor pressure (Pa) inside
the leaf at the vegetation temperature conductance (:math:`\mu`\ mol
m\ :math:`^{-2}` s\ :math:`^{-1}`) when :math:`A` = 0 . Typical values
are :math:`m_{ft}` = 9 for C\ :math:`_3` plants and :math:`m_{ft}` = 4
for C\ :math:`_4` plants (
:ref:`Collatz et al. 1991`, :ref:`Collatz, 1992`, :ref:`Sellers et al 1996`).
:ref:`Sellers et al. 1996` used :math:`b` = 10000 for C\ :math:`_3`
plants and :math:`b` = 40000 for C\ :math:`_4` plants. Here, :math:`b`
was chosen to give a maximum stomatal resistance of 20000 s
m\ :math:`^{-1}`. These terms are nevertheless plant strategy dependent,
and have been found to vary widely with plant type
:ref:`Medlyn et al. 2011`.
Resistance is converted from units of s m\ :math:`^2 \mu`
mol\ :math:`^{-1}` to s m\ :math:`^{-1}` as: 1 s m\ :math:`^{-1}` =
:math:`1\times 10^{-9}`\ R\ :math:`_{\rm{gas}} \theta_{\rm{atm}}P_{\rm{atm}}`
(:math:`\mu`\ mol\ :math:`^{-1}` m\ :math:`^{2}` s), where
R\ :math:`_{gas}` is the universal gas constant (J K\ :math:`^{-1}`
kmol\ :math:`^{-1}`) and :math:`\theta_{atm}` is the atmospheric
potential temperature (K).
Resolution of stomatal conductance theory in the FATES canopy structure
-----------------------------------------------------------------------
The stomatal conductance is calculated, as with photosynthesis, for each
canopy, PFT and leaf layer. The CLM code requires a single canopy
conductance estimate to be generated from the multi-layer multi-PFT
array. In previous iterations of the CLM, sun and shade-leaf specific
values have been reported and then averaged by their respective leaf
areas. In this version, the total canopy condutance
:math:`G_{s,canopy}`, is calculated as the sum of the cohort-level
conductance values.
.. math:: G_{s,canopy} = \sum{ \frac{gs_{can,coh} n_{coh} }{A_{patch}}}
Cohort conductance is the sum of the inverse of the leaf resistances at
each canopy layer (:math:`r_{s,z}` ) multipled by the area of each
cohort.
.. math:: gs_{can,coh} =\sum_{z=1}^{z=nv,coh}{\frac{ A_{crown,coh}}{r_{s,cl,ft,z}+r_{b}}}
.. raw:: latex
\captionof{table}{Parameters needed for stomatal conductance model. }
+------------------+--------------------------+-------+------------+
| Parameter Symbol | Parameter Name | Units | indexed by |
+==================+==========================+=======+============+
| :math:`b_{ft}` | Slope of Ball-Berry term | none | *ft* |
+------------------+--------------------------+-------+------------+
| :math:`m_{ft}` | Slope of Ball-Berry term | none | *ft* |
+------------------+--------------------------+-------+------------+
Allocation and Growth
^^^^^^^^^^^^^^^^^^^^^
Total assimilation carbon enters the ED model each day as a
cohort-specific Net Primary Productivity :math:`\mathit{NPP}_{coh}`,
which is calculated as
.. math:: \mathit{NPP}_{coh} = \mathit{GPP}_{coh} - R_{plant,coh}
This flux of carbon is allocated between the demands of tissue turnover,
of carbohydrate storage and of growth (increase in size of one or many
plant organs). Priority is explicitly given to maintenance respiration,
followed by tissue maintenance and storage, then allocation to live
biomass and then to the expansion of structural and live biomass pools.
All fluxes here are first converted into in KgC
individual\ :math:`^{-1}` year\ :math:`^{-1}` and ultimately integrated
using a timesteps of 1/365 years for each day.
Tissue maintenance demand
-------------------------
We calculate a ‘tissue maintenance’ flux. The magnitude of this flux is
such that the quantity of biomass in each pool will remain constant,
given background turnover rates. For roots, this maintenenace demand is
simply
.. math:: r_{md,coh} = b_{root}\cdot\alpha_{root,ft}
Where :math:`\alpha_{root,ft}` is the root turnover rate in y^-1. Given
that, for deciduous trees, loss of leaves is assumed to happen only one
per growing season, the algorithm is dependent on phenological habit
(whether or not this PFT is evergreen), thus
.. math::
l_{md,coh} = \left\{ \begin{array}{ll}
b_{leaf}\cdot\alpha_{leaf,ft}&\textrm{for } P_{evergreen}= 1\\
&\\
0&\textrm{for } P_{evergreen}= 0\\
\end{array} \right.
Leaf litter resulting from deciduous senescence is handled in the
phenology section. The total quantity of maintenance demand
(:math:`t_{md,coh}`. KgC individual y\ :math:`^{-1}`) is therefore
.. math:: t_{md,coh} = l_{md,coh} + r_{md,coh}
Allocation to storage and turnover
----------------------------------
The model must now determine whether the NPP input is sufficient to meet
the maintenance demand and keep tissue levels constant. To determine
this, we introduce the idea of ‘carbon balance’ :math:`C_{bal,coh}` (KgC
individual\ :math:`^{-1}`) where
.. math:: C_{bal,coh}= \mathit{NPP}_{coh} - t_{md,coh}\cdot f_{md,min,ft}
where :math:`f_{md,min,ft}` is the minimum fraction of the maintenance
demand that the plant must meet each timestep, which is indexed by *ft*
and represents a life-history-strategy decision concerning whether
leaves should remain on in the case of low carbon uptake (a risky
strategy) or not be replaced (a conservative strategy). Subsequently, we
determine a flux to the storage pool, where the flux into the pool, as a
fraction of :math:`C_{bal,coh}`, is proportional to the discrepancy
between the target pool size and the actual pool size :math:`f_{tstore}`
where
.. math:: f_{tstore} = \mathrm{max}\left(0,\frac{b_{store}}{b_{leaf}\cdot S_{cushion}}\right)
The allocation to storage is a fourth power function of
:math:`f_{tstore}` to mimic the qualitative behaviour found for carbon
allocation in arabidopsis by :ref:`Smith et al. 2007`.
.. math::
\frac{\delta b_{store}}{\delta t} = \left\{ \begin{array}{ll}
C_{bal,coh} \cdot e^{-f_{tstore}^{4}} &\textrm{for }C_{bal,coh}>0\\
&\\
C_{bal,coh} &\textrm{for }C_{bal,coh}\leq0\\
\end{array} \right.
If the carbon remaining after the storage and minimum turnover fluxes
have been met, the next priority is the remaining flux to leaves
:math:`t_{md}\cdot(1-f_{md,min})`. If the quantity of carbon left
:math:`(C_{bal,coh}-\frac{\delta b_{store}}{\delta t})` is insufficient
to supply this amount of carbon, then the store of alive carbon is
depleted (to represent those leaves that have fallen off and not been
replaced)
.. math::
\frac{\delta b_{alive}}{\delta t} = \left\{ \begin{array}{ll}
0 &\textrm{ for } (C_{bal,coh}-\frac{\delta b_{store}}{\delta t}) > t_{md}\cdot(1-f_{md,min})\\
&\\
t_{md}\cdot(1-f_{md,min}) - \left(C_{bal,coh}-\frac{\delta b_{store}}{\delta t}\right)&\textrm{ for } (C_{bal,coh}-\frac{\delta b_{store}}{\delta t}) \leq t_{md}\cdot(1-f_{md,min})\\
\end{array} \right.
correspondingly, the carbon left over for growth (:math:`C_{growth}`:
(KgC individual\ :math:`^{-1}` year\ :math:`^{-1}`) is therefore
.. math::
C_{growth} = \left\{ \begin{array}{ll}
C_{bal,coh}-\frac{\delta b_{store}}{\delta t} &\textrm{ for } (C_{bal,coh}-\frac{\delta b_{store}}{\delta t}) > 0\\
&\\
0&\textrm{ for } (C_{bal,coh}-\frac{\delta b_{store}}{\delta t}) \leq 0\\
\end{array} \right.
to allocate the remaining carbon (if there is any), we first ascertain
whether the live biomass pool is at its target, or whether is has been
depleted by previous low carbon timesteps. Thus
.. math::
\begin{array}{lll}
b_{alive,target}&= b_{leaf,target} (1+ f_{frla}+f_{swh}h_{coh}) &\textrm{for } S_{phen,coh} = 2\\
b_{alive,target}&= b_{leaf,target} ( f_{frla}+f_{swh}h_{coh})&\textrm{for } S_{phen,coh} = 1\\
\end{array}
where the target leaf biomass :math:`b_{leaf.target}` ((Kg C
individual\ :math:`^{-1}`)) is the allometric relationship between dbh
and leaf biomass, ameliorated by the leaf trimming fraction (see
‘control of leaf area’ below)
.. math:: b_{leaf.target} = c_{leaf}\cdot dbh_{coh}^{e_{leaf,dbh}} \rho_{ft} ^{e_{leaf,dens}}\cdot C_{trim,coh}
:math:`\rho_{ft}` is the wood density, in g cm\ :math:`^{3}`.
Allocation to Seeds
-------------------
The fraction remaining for growth (expansion of live and structural
tissues) :math:`f_{growth}` is 1 minus that allocated to seeds.
.. math:: f_{growth,coh} = 1 - f_{seed,coh}
Allocation to seeds only occurs if the alive biomass is not below its
target, and then is a predefined fixed fraction of the carbon remaining
for growth. Allocation to clonal reproduction (primarily for grasses)
occurs when :math:`\textrm{max}_{dbh}` is achieved.
.. math::
f_{seed,coh} = \left\{ \begin{array}{ll}
R_{frac,ft}&\textrm{ for } \textrm{max}_{dbh} < dbh_{coh} \\
&\\
\left( R_{frac,ft}+C_{frac,ft} \right) &\textrm{ for } \textrm{max}_{dbh} \geq dbh_{coh} \\
\end{array} \right.
the total amount allocated to seed production (:math:`p_{seed,coh}` in
KgC individual :math:`^{-1}` y\ :math:`^{-1}`) is thus
.. math:: p_{seed,coh} = C_{growth}\cdot f_{seed,coh}
Allocation to growing pools
---------------------------
The carbon is then partitioned into carbon available to grow the
:math:`b_{alive}` and :math:`b_{struc}` pools. A fraction :math:`v_{a}`
is available to live biomass pools, and a fraction :math:`v_{s}` is
available to structural pools.
.. math:: \frac{\delta b_{alive}}{\delta t} = C_{growth}\cdot f_{growth} v_{a}
.. math:: \frac{\delta b_{struc}}{\delta t} = C_{growth}\cdot f_{growth} v_{s}
If the alive biomass is lower than its ideal target, all of the
available carbon is directed into that pool. Thus:
.. math::
v_{a}= \left\{ \begin{array}{ll}
\frac{1}{1+u}&\textrm{ for } b_{alive} \geq b_{alive,target} \\
&\\
1.0&\textrm{ for } b_{alive} < b_{alive,target} \\
\end{array} \right.
.. math::
v_{s}= \left\{ \begin{array}{ll}
\frac{u}{1+u}&\textrm{ for } b_{alive} \geq b_{alive,target} \\
&\\
0.0&\textrm{ for } b_{alive} < b_{alive,target} \\
\end{array} \right.
In this case, the division of carbon between the live and structural
pools :math:`u` is derived as the inverse of the sum of the rates of
change in live biomass with respect to structural:
.. math:: u = \frac{1}{\frac{\delta b_{leaf}}{ \delta b_{struc} } + \frac{\delta b_{root}}{ \delta b_{struc} } +\frac{\delta b_{sw}}{ \delta b_{struc} } }
To calculate all these differentials, we first start with
:math:`\delta b_{leaf}/\delta b_{struc}`, where
.. math:: \frac{\delta b_{leaf}}{ \delta b_{struc}}= \frac{\frac{\delta \mathrm{dbh}}{\delta b_{struc}}} {\frac{\delta \mathrm{dbh} }{\delta b_{leaf}} }
The rates of change of dbh with respect to leaf and structural biomass
are the differentials of the allometric equations linking these terms to
each other. Hence,
.. math:: \frac{\delta \mathrm{dbh} }{\delta b_{leaf}}=\frac{1}{b_{trim,coh}}\cdot (e_{leaf,dbh}-1)\exp {\big(c_{leaf} \mathrm{dbh}^{(e_{leaf,dbh})-1} \rho_{ft}^{e_{leaf,dens}} \big)}
and where :math:`\mathrm{dbh}_{coh} > \mathrm{dbh}_{max}`
.. math:: \frac{\delta b_{struc}}{\delta \mathrm{dbh}} = e_{str,dbh} \cdot c_{str}\cdot e_{str,hite} h_{coh}^{e_{str,dbh}-1} \mathrm{dbh}_{coh}^{e_{str,dbh}} \rho_{ft}^{e_{str,dens}}
If :math:`\mathrm{dbh}_{coh} \leq \mathrm{dbh}_{max}` then we must
also account for allocation for growing taller as:
.. math:: \frac{\delta b_{struc}}{\delta \mathrm{dbh}} = \frac{\delta b_{struc}}{\delta \mathrm{dbh}} + \frac{\delta h}{\delta \mathrm{dbh}} \cdot \frac{\delta b_{struc}}{\delta \mathrm{dbh} }
where
.. math:: \frac{\delta h}{\delta \mathrm{dbh}}= 1.4976 \mathrm{dbh}_{coh}^{m_{allom}-1}
.. math:: \frac{\delta \mathrm{dbh} }{\delta b_{struc}} =\frac{1}{ \frac{\delta b_{struc}}{\delta \mathrm{dbh}} }
Once we have the :math:`\delta b_{leaf}/\delta b_{struc}`, we calculate
:math:`\delta b_{root}/\delta b_{struc}` as
.. math:: \frac{\delta b_{root}}{\delta b_{struc}} =\frac{\delta b_{leaf}}{\delta b_{struc}}\cdot f_{frla}
and the sapwood differential as
.. math:: \frac{\delta b_{sw}}{\delta b_{struc}} = f_{swh}\left( h_{coh} \frac{\delta b_{leaf}}{ \delta b_{struc}} + b_{leaf,coh}\frac{\delta h}{\delta b_{struc}} \right)
where
.. math:: \frac{\delta h}{\delta b_{struc}} = \frac{1}{c_{str}\times e_{str,hite} h_{coh}^{e_{str,dbh}-1} \mathrm{dbh}_{coh}^{e_{str,dbh}} \rho_{ft}^{e_{str,dens}}}
In all of the above terms, height in in m, :math:`\mathrm{dbh}` is in
cm, and all biomass pools are in KgCm\ :math:`^{-2}`. The allometric
terms for the growth trajectory are all taken from the ED1.0 model, but
could in theory be altered to accomodate alternative allometric
relationships. Critically, the non-linear relationships between live and
structural biomass pools are maintained in this algorithm, which
diverges from the methodology currently deployed in the CLM4.5.
Integration of allocated fluxes
-------------------------------
All of the flux calculations generate differential of the biomass state
variables against time (in years). To integrate these differential rates
into changes in the state variables, we use a simple simple forward
Euler integration. Other methods exist (e.g. ODEINT solvers, Runge Kutta
methods etc.), but they are more prone to errors that become difficult
to diagnose, and the typically slow rates of change of carbon pools mean
that these are less important than they might be in strongly non-linear
systems (soil drainage, energy balance, etc.)
.. math:: b_{alive,t+1} = \textrm{min}\left( 0,b_{alive,t} + \frac{\delta b_{alive}}{\delta t} \delta t \right)
.. math:: b_{struc,t+1} = \textrm{min}\left(0, b_{struc,t} + \frac{\delta b_{struc}}{\delta t} \delta t \right)
.. math:: b_{store,t+1} = \textrm{min}\left(0, b_{store,t} + \frac{\delta b_{store}}{\delta t} \delta t \right)
In this case, :math:`\delta t` is set to be one day
(:math:`\frac{1}{365}` years).
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Parameters needed for allocation model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| S | Target stored | none | *ft* |
| | biomass as | | |
| | fraction of | | |
| | :math:`b_{leaf}`| | |
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| f | Minimum | none | *ft* |
| | fraction of | | |
| | turnover that | | |
| | must be met | | |
+-----------------+-----------------+-----------------+-----------------+
| R | Fraction | none | *ft* |
| | allocated to | | |
| | seeds | | |
+-----------------+-----------------+-----------------+-----------------+
| C | Fraction | none | *ft* |
| | allocated to | | |
| | clonal | | |
| | reproduction | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\textrm{ | Diameter at | m | *ft* |
| max}_{dbh}` | which maximum | | |
| | height is | | |
| | achieved | | |
+-----------------+-----------------+-----------------+-----------------+
| P | Does this | 1=yes, 0=no | *ft* |
| | cohort have an | | |
| | evergreen | | |
| | phenological | | |
| | habit? | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Control of Leaf Area Index
^^^^^^^^^^^^^^^^^^^^^^^^^^
The leaf area :math:`A_{leaf}` (m:math:`^{-2}`) of each cohort is
calculated from leaf biomass :math:`b_{leaf,coh}` (kgC
individual\ :math:`^{-1}`) and specific leaf area (SLA, m\ :math:`^2` kg
C\ :math:`^{-1}`)
.. math:: A_{leaf,coh} = b_{leaf,coh} \cdot SLA_{ft}
For a given tree allometry, leaf biomass is determined from basal area
using the function used by :ref:`Moorcroft et al. 2001` where :math:`d_w`
is wood density in g cm\ :math:`^{-3}`.
.. math:: b_{leaf,coh} = c_{leaf} \cdot dbh_{coh}^{e_{leaf,dbh}} \rho_{ft}^{e_{leaf,dens}}
However, using this model, where leaf area and crown area are both
functions of diameter, the leaf area index of each tree in a closed
canopy forest is always the same (where :math:`S_{c,patch}` =
:math:`S_{c,min}` , irrespective of the growth conditions. To allow
greater plasticity in tree canopy structure, and for tree leaf area
index to adapt to prevailing conditions, we implemented a methodology
for removing those leaves in the canopy that exist in negative carbon
balance. That is, their total annual assimilation rate is insufficient
to pay for the turnover and maintenance costs associated with their
supportive root and stem tissue, plus the costs of growing the leaf. The
tissue turnover maintenance cost (KgC m\ :math:`^{-2} y^{-1}` of leaf is
the total maintenance demand divided by the leaf area:
.. math:: L_{cost,coh} = \frac{t_{md,coh}} {b_{leaf,coh} \cdot \textrm{SLA}}
The net uptake for each leaf layer :math:`U_{net,z}` in (KgC
m\ :math:`^{-2}` year\ :math:`^{-1}`) is
.. math:: U_{net,coh,z} = g_{coh,z}-r_{m,leaf,coh,z}
where :math:`g_{z}` is the GPP of each layer of leaves in each tree (KgC
m\ :math:`^{-2}` year\ :math:`^{-1}`), :math:`r_{m,leaf,z}` is the rate
of leaf dark respiration (also KgC m\ :math:`^{-2}`
year\ :math:`^{-1}`). We use an iterative scheme to define the cohort
specific canopy trimming fraction :math:`C_{trim,coh}`, on an annual
time-step, where
.. math:: b_{leaf,coh} = C_{trim} \times 0.0419 dbh_{coh}^{1.56} d_w^{0.55}
If the annual maintenance cost of the bottom layer of leaves (KgC m-2
year-1) is less than then the canopy is trimmed by an increment :math:`\iota_l`\ (0.01), which is applied until the end of next calander year. Because this is an optimality model, there is an
issue of the timescale over which net assimilation is evaluated, the
timescale of response, and the plasticity of plants to respond to these
pressures. These properties should be investigated further in future
efforts.
.. math::
C_{trim,y+1} = \left\{ \begin{array}{ll}
\rm{max}(C_{trim,y}-\iota_l,1.0)&\rm{for} (L_{cost,coh} > U_{net,coh,nz})\\
&\\
\rm{min}(C_{trim,y}+\iota_l,L_{trim,min})&\rm{for} (L_{cost,coh} < U_{net,coh,nz})\\
\end{array} \right.
We impose an arbitrary minimum value on the scope of canopy trimming of
:math:`L_{trim,min}` (0.5). If plants are able simply to drop all of
their canopy in times of stress, with no consequences, then tree
mortality from carbon starvation is much less likely to occur because of
the greatly reduced maintenance and turnover requirements.
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Parameters needed for leaf area control model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`\iota_l` | Fraction by | none | - |
| | which leaf mass | | |
| | is reduced next | | |
| | year | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`L_{trim, | Minimum | - | |
| min}` | fraction to | | |
| | which leaf mass | | |
| | can be reduced | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Phenology
^^^^^^^^^^^^^^^^^^^^
Cold Deciduous Phenology
------------------------
Cold Leaf-out timing
~~~~~~~~~~~~~~~~~~~~
The phenology model of :ref:`Botta et al. 2000` is used in
FATES to determine the leaf-on timing. The Botta et al. model was
verified against satellite data and is one of the only globally verified
and published models of leaf-out phenology. This model differs from the
phenology model in the CLM4.5. The model simulates leaf-on date as a
function of the number of growing degree days (GDD), defined by the sum
of mean daily temperatures (:math:`T_{day}` :math:`^{o}`\ C) above a
given threshold :math:`T_{g}` (0 :math:`^{o}`\ C).
.. math:: GDD=\sum \textrm{max}(T_{day}-T_{g},0)
Budburst occurs when :math:`GDD` exceeds a threshold
(:math:`GDD_{crit}`). The threshold is modulated by the number of
chilling days experienced (NCD) where the mean daily temperature falls
below a threshold determined by `Botta et al. 2000` as
5\ :math:`^{o}`\ C. A greater number of chilling days means that fewer
growing degree days are required before budburst:
.. math:: GDD_{crit}=a+be^{c.NCD}
where a = -68, b= 638 and c=-0.01 `Botta et al. 2000`. In the
Northern Hemisphere, counting of degree days begins on 1st January, and
of chilling days on 1st November. The calendar opposite of these dates
is used for points in the Southern Hemisphere.
If the growing degree days exceed the critical threshold, leaf-on is
triggered by a change in the gridcell phenology status flag
:math:`S_{phen,grid}` where ‘2’ indicates that leaves should come on and
‘1’ indicates that they should fall.
.. math::
\begin{array}{ll}
S_{phen,grid} = 2
&\textrm{ if } S_{phen,grid} = 1\textrm{ and } GDD_{grid} \ge GDD_{crit} \\
\end{array}
Cold Leaf-off timing
~~~~~~~~~~~~~~~~~~~~
The leaf-off model is taken from the Sheffield Dynamic Vegetation Model
(SDGVM) and is similar to that for LPJ
:ref:`Sitch et al. 2003` and IBIS
:ref:`Foley et al. 1996` models. The average daily
temperatures of the previous 10 day period are stored. Senescence is
triggered when the number of days with an average temperature below
7.5\ :math:`^{o}` (:math:`n_{colddays}`) rises above a threshold values
:math:`n_{crit,cold}`, set at 5 days.
.. math::
\begin{array}{ll}
S_{phen,grid} = 1
&\textrm{ if } S_{phen,grid} = 2\textrm{ and } n_{colddays} \ge n_{crit,cold} \\
\end{array}
Global implementation modifications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Because of the global implementation of the cold-deciduous phenology
scheme, adjustments must be made to account for the possibility of
cold-deciduous plants experiencing situations where no chilling period
triggering leaf-off ever happens. If left unaccounted for, these leaves
will last indefinitely, resulting in highly unrealistic behaviour.
Therefore, we implement two additional rules. Firstly, if the number of
days since the last senescence event was triggered is larger than 364,
then leaf-off is triggered on that day. Secondly, if no chilling days
have occured during the winter accumulation period, then leaf-on is not
triggered. This means that in effect, where there are no cold periods,
leaves will fall off and not come back on, meaning that cold-deciduous
plants can only grow in places where there is a cold season.
Further to this rule, we introduce a ‘buffer’ time periods after leaf-on
of 30 days, so that cold-snap periods in the spring cannot trigger a
leaf senescence. The 30 day limit is an arbitrary limit. In addition, we
constrain growing degree day accumulation to the second half of the year
(Jult onwards in the Northern hemisphere, or Jan-June in the Southern)
and only allow GDD accumulation while the leaves are off.
Drought-deciduous Phenology: TBD
--------------------------------
In the current version of the model, a drought deciduous algorithm
exists, but is not yet operational, due to issue detected in the existing
CN and soil moisture modules, which also affect the behaviour of the
native ED drought deciduous model. This is a priority to address before
the science tag is released.
Carbon Dynamics of deciduous plants
-----------------------------------
In the present version, leaf expansion and senescence happen over the
course of a single day. This is clearly not an empirically robust
representation of leaf behaviour, whereby leaf expansion occurs over a
period of 10-14 days, and senescence over a similar period. This will be
incorporated in later versions. When the cold or drought phenological
status of the gridcell status changes (:math:`S_{phen,grid}`) from ‘2’
to ‘1’, and the leaves are still on (:math:`S_{phen,coh}` =2 ), the leaf
biomass at this timestep is ’remembered’ by the model state variable
:math:`l_{memory,coh}`. This provides a ‘target’ biomass for leaf onset
at the beginning of the next growing season (it is a target, since
depletion of stored carbon in the off season may render achieving the
target impossible).
.. math:: l_{memory,coh} = b_{leaf,coh}
Leaf carbon is then added to the leaf litter flux :math:`l_{leaf,coh}`
(KgC individual\ :math:`^{-1}`)
.. math:: l_{leaf,coh} = b_{leaf,coh}
The alive biomass is depleted by the quantity of leaf mass lost, and the
leaf biomass is set to zero
.. math:: b_{alive,coh} = b_{alive,coh} - b_{leaf,coh}
.. math:: b_{leaf,coh} = 0
Finally, the status :math:`S_{phen,coh}` is set to 1, indicating that
the leaves have fallen off.
For bud burst, or leaf-on, the same occurs in reverse. If the leaves are
off (:math:`S_{phen,coh}`\ =1) and the phenological status triggers
budburst (:math:`S_{phen,grid}`\ =2) then the leaf mass is set the
maximum of the leaf memory and the available store
.. math:: b_{leaf,coh} = \textrm{max}\left(l_{memory,coh}, b_{store,coh}\right.)
this amount of carbon is removed from the store
.. math:: b_{store,coh} = b_{store,coh} - b_{leaf,coh}
and the new leaf biomass is added to the alive pool
.. math:: b_{alive,coh} = b_{alive,coh} + b_{leaf,coh}
Lastly, the leaf memory variable is set to zero and the phenological
status of the cohort back to ‘2’. No parameters are currently required
for this carbon accounting scheme.
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Parameters needed for phenology model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`n_{crit, | Threshold of | none | - |
| cold}` | cold days for | | |
| | senescence | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`T_{g}` | Threshold for | :math:`^{o}`\ C | |
| | counting | | |
| | growing degree | | |
| | days | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Seed Dynamics and Recruitment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The production of seeds and their subsequent germination is a process
that must be captured explicitly or implicitly in vegetation models. FATES contains a seed bank model designed to allow the dynamics of
seed production and germination to be simulated independently. In the
ED1.0 model, seed recruitment occurs in the same timestep as allocation
to seeds, which prohibits the survival of a viable seed bank through a
period of disturbance or low productivity (winter, drought). In FATES, a plant functional type specific seed bank is tracked in
each patch (:math:`Seeds_{patch}` KgC m\ :math:`^{-2}`), whose rate of
change (KgC m\ :math:`^{-2}` y\ :math:`^{-1}`) is the balance of inputs,
germination and decay:
.. math:: \frac{\delta Seeds_{FT}}{\delta t } = Seed_{in,ft} - Seed_{germ,ft} - Seed_{decay,ft}
where :math:`Seed_{in}`, :math:`Seed_{germ}` and :math:`Seed_{decay}`
are the production, germination and decay (or onset of inviability) of
seeds, all in KgC m\ :math:`^{-2}` year\ :math:`^{-1}`.
Seeds are assumed to be distributed evenly across the site (in this
version of the model), so the total input to the seed pool is therefore
the sum of all of the reproductive output of all the cohorts in each
patch of the correct PFT type.
.. math:: Seed_{in,ft} = \frac{\sum_{p=1}^{n_{patch}}\sum_{i=1}^{n_{coh}}p_{seed,i}.n_{coh}}{area_{site}}
Seed decay is the sum of all the processes that reduce the number of
seeds, taken from :ref:`Lischke et al. 2006`. Firstly, the rate at
which seeds become inviable is described as a constant rate :math:`\phi`
(y:math:`^{-1}`) which is set to 0.51, the mean of the parameters used
by :ref:`Lischke et al. 2006`.
.. math:: Seed_{decay,ft} = Seeds_{FT}.\phi
The seed germination flux is also prescribed as a fraction of the
existing pool (:math:`\alpha_{sgerm}`), but with a cap on maximum
germination rate :math:`\beta_{sgerm}`, to prevent excessive dominance
of one plant functional type over the seed pool.
.. math:: Seed_{germ,ft} = \textrm{max}(Seeds_{FT}\cdot \alpha_{sgerm},\beta_{sgerm})
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Parameters needed for seed model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`K_s` | Maximum seed | kgC m\ | |
| | mass | :math:`^{-2}` | |
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\alpha_{ | Proportional | - | |
| sgerm}` | germination | | |
| | rate | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\beta_{s | Maximum | KgC | |
| germ}` | germination | m\ :math:`^{-2}`| |
| | rate | | |
| | | y\ :math:`^{-1}`| |
| | | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\phi` | Decay rate of | none | FT |
| | viable seeds | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`R_{frac, | Fraction of | none | FT |
| ft}` | :math:`C_{bal}` | | |
| | devoted to | | |
| | reproduction | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Litter Production and Fragmentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| The original CLM4.5 model contains streams of carbon pertaining to
different chemical properties of litter (lignin, cellulose and labile
streams, specifically). In FATES model, the fire simulation
scheme in the SPITFIRE model requires that the model tracks the pools
of litter pools that differ with respect to their propensity to burn
(surface area-volume ratio, bulk density etc.). Therefore, this model
contains more complexity in the representation of coarse woody debris.
We also introduce the concept of ’fragmenting’ pools, which are pools
that can be burned, but are not available for decomposition or
respiration. In this way, we can both maintain above-ground pools that
affect the rate of burning, and the lag between tree mortality and
availability of woody material for decomposition.
| FATES recognizes four classes of litter. Above- and below-ground
coarse woody debris (:math:`CWD_{AG}`, :math:`CWD_{BG}`) and leaf
litter (:math:`l_{leaf}` and fine root litter :math:`l_{root}`). All
pools are represented per patch, and with units of kGC
m\ :math:`{^-2}`. Further to this, :math:`CWD_{AG}`, :math:`CWD_{BG}`
are split into four litter size classes (:math:`lsc`) for the purposes
of proscribing this to the SPITFIRE fire model (seed ’Fuel Load’
section for more detail. 1-hour (twigs), 10-hour (small branches),
100-hour (large branches) and 1000-hour(boles or trunks). 4.5 %, 7.5%,
21 % and 67% of the woody biomass (:math:`b_{store,coh} + b_{sw,coh}`)
is partitioned into each class, respectively.
:math:`l_{leaf}` and :math:`l_{root}` are indexed by plant functional
type (:math:`ft`). The rational for indexing leaf and fine root by PFT
is that leaf and fine root matter typically vary in their
carbon:nitrogen ratio, whereas woody pools typically do not.
Rates of change of litter, all in kGC m\ :math:`{^-2}`
year\ :math:`^{-1}`, are calculated as
.. math:: \frac{\delta CWD_{AG,out,lsc}}{ \delta t }= CWD_{AG,in,lsc} - CWD_{AG,out,lsc}
.. math:: \frac{\delta CWD_{BG,out,lsc}}{ \delta t } = CWD_{BG,in,lsc} - CWD_{BG,in,lsc}
.. math:: \frac{\delta l_{leaf,out,ft} }{ \delta t } = l_{leaf,in,ft} - l_{leaf,out,ft}
.. math:: \frac{\delta l_{root,out,ft} }{ \delta t } = l_{root,in,ft} - l_{root,out,ft}
Litter Inputs
-------------
Inputs into the litter pools come from tissue turnover, mortality of
canopy trees, mortality of understorey trees, mortality of seeds, and
leaf senescence of deciduous plants.
.. math:: l_{leaf,in,ft} =\Big(\sum_{i=1}^{n_{coh,ft}} n_{coh}(l_{md,coh} + l_{leaf,coh}) + M_{t,coh}.b_{leaf,coh}\Big)/\sum_{p=1}^{n_{pat}}A_{patch}
where :math:`l_{md,coh}` is the leaf turnover rate for evergreen trees
and :math:`l_{leaf,coh}` is the leaf loss from phenology in that
timestep (KgC :math:`m^{-2}`. :math:`M_{t,coh}` is the total mortality
flux in that timestep (in individuals). For fine root input.
:math:`n_{coh,ft}` is the number of cohorts of functional type
‘:math:`FT`’ in the current patch.
.. math:: l_{root,in,ft} =\Big(\sum_{i=1}^{n_{coh,ft}} n_{coh}(r_{md,coh} ) + M_{t,coh}.b_{root,coh}\Big)/\sum_{p=1}^{n_{pat}}A_p
where :math:`r_{md,coh}` is the root turnover rate. For coarse woody
debris input (:math:`\mathit{CWD}_{AG,in,lsc}` , we first calculate the
sum of the mortality :math:`M_{t,coh}.(b_{struc,coh}+b_{sw,coh})` and
turnover :math:`n_{coh}(w_{md,coh}`) fluxes, then separate these into
size classes and above/below ground fractions using the fixed fractions
assigned to each (:math:`f_{lsc}` and :math:`f_{ag}`)
.. math:: \mathit{CWD}_{AG,in,lsc} =\Big(f_{lsc}.f_{ag}\sum_{i=1}^{n_{coh,ft}}n_{coh}w_{md,coh} + M_{t,coh}.(b_{struc,coh}+b_{sw,coh})\Big)/\sum_{p=1}^{n_{pat}}A_p
.. math:: \mathit{CWD}_{BG,in,lsc} =\Big(f_{lsc}.(1-f_{ag})\sum_{i=1}^{n_{coh,ft}}n_{coh}w_{md,coh} + M_{t,coh}.(b_{struc,coh}+b_{sw,coh})\Big)/\sum_{p=1}^{n_{pat}}A_p
Litter Outputs
--------------
The fragmenting litter pool is available for burning but not for
respiration or decomposition. Fragmentation rates are calculated
according to a maximum fragmentation rate (:math:`\alpha_{cwd,lsc}` or
:math:`\alpha_{litter}`) which is ameliorated by a temperature and water
dependent scalar :math:`S_{tw}`. The form of the temperature scalar is
taken from the existing CLM4.5BGC decomposition cascade calculations).
The water scaler is equal to the water limitation on photosynthesis
(since the CLM4.5BGC water scaler pertains to the water potential of
individual soil layers, which it is difficult to meaningfully average,
given the non-linearities in the impact of soil moisture). The scaler
code is modular, and new functions may be implemented trivially. Rate
constants for the decay of the litter pools are extremely uncertain in
literature, as few studies either separate litter into size classes, nor
examine its decomposition under non-limiting moisture and temperature
conditions. Thus, these parameters should be considered as part of
sensitivity analyses of the model outputs.
.. math:: \mathit{CWD}_{AG,out,lsc} = CWD_{AG,lsc}. \alpha_{cwd,lsc}.S_{tw}
.. math:: \mathit{CWD}_{BG,out,lsc} = CWD_{BG,lsc} .\alpha_{cwd,lsc}.S_{tw}
.. math:: l_{leaf,out,ft} = l_{leaf,ft}.\alpha_{litter}.S_{tw}
.. math:: l_{root,out,ft} = l_{root,ft}.\alpha_{root,ft}.S_{tw}
Flux into decompsition cascade
------------------------------
Upon fragmentation and release from the litter pool, carbon is
transferred into the labile, lignin and cellulose decomposition pools.
These pools are vertically resolved in the biogeochemistry model. The
movement of carbon into each vertical layer is obviously different for
above- and below-ground fragmenting pools. For each layer :math:`z` and
chemical litter type :math:`i`, we derive a flux from ED into the
decomposition cascade as :math:`ED_{lit,i,z}` (kGC m\ :math:`^{-2}`
s\ :math:`^{-1}`)
where :math:`t_c` is the time conversion factor from years to seconds,
:math:`f_{lab,l}`, :math:`f_{cel,l}` and :math:`f_{lig,l}` are the
fractions of labile, cellulose and lignin in leaf litter, and
:math:`f_{lab,r}`, :math:`f_{cel,r}` and :math:`f_{lig,r}` are their
counterparts for root matter. Similarly, :math:`l_{prof}`,
:math:`r_{f,prof}`\ and :math:`r_{c,prof}` are the fractions of leaf,
coarse root and fine root matter that are passed into each vertical soil
layer :math:`z`, derived from the CLM(BGC) model.
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Parameters needed for litter model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`\alpha_{ | Maximum | y\ :math:`^{-1}`| |
| cwd,lsc}` | fragmentation | | |
| | rate of CWD | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\alpha_{ | Maximum | y\ :math:`^{-1}`| |
| litter}` | fragmentation | | |
| | rate of leaf | | |
| | litter | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\alpha_{ | Maximum | y\ :math:`^{-1}`| |
| root}` | fragmentation | | |
| | rate of fine | | |
| | root litter | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{lab,l | Fraction of | none | |
| }` | leaf mass in | | |
| | labile carbon | | |
| | pool | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{cel,l | Fraction of | none | |
| }` | leaf mass in | | |
| | cellulose | | |
| | carbon pool | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{lig,l | Fraction of | none | |
| }` | leaf mass in | | |
| | lignin carbon | | |
| | pool | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{lab,r | Fraction of | none | |
| }` | root mass in | | |
| | labile carbon | | |
| | pool | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{cel,r | Fraction of | none | |
| }` | root mass in | | |
| | cellulose | | |
| | carbon pool | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{lig,r | Fraction of | none | |
| }` | root mass in | | |
| | lignin carbon | | |
| | pool | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`l_{prof, | Fraction of | none | soil layer |
| z}` | leaf matter | | |
| | directed to | | |
| | soil layer z | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`r_{c,pro | Fraction of | none | soil layer |
| f,z}` | coarse root | | |
| | matter directed | | |
| | to soil layer z | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`r_{f,pro | Fraction of | none | soil layer |
| f,z}` | fine root | | |
| | matter directed | | |
| | to soil layer z | | |
+-----------------+-----------------+-----------------+-----------------+
.. raw:: latex
\bigskip
Plant Mortality
^^^^^^^^^^^^^^^^
Total plant mortality per cohort :math:`M_{t,coh}`, (fraction
year\ :math:`^{-1}`) is simulated as the sum of four additive terms,
.. math:: M_{t,coh}= M_{b,coh} + M_{cs,coh} + M_{hf,coh} + M_{f,coh},
where :math:`M_b` is the background mortality that is unaccounted by
any of the other mortality rates and is fixed at 0.014. :math:`M_{cs}`
is the carbon starvation derived mortality, which is a function of the
non-structural carbon storage term :math:`b_{store,coh}` and the
PFT-specific ‘target’ carbon storage, :math:`l_{targ,ft}`, as follows:
.. math:: M_{cs,coh}= \rm{max} \left(0.0, S_{m,ft} \left(0.5 - \frac{b_{store,coh}}{l_{targ,ft}b_{leaf}}\right)\right)
where :math:`S_{m,ft}` is the `stress mortality` parameter, or the
fraction of trees in a landscape that die when the mean condition of a
given cohort triggers mortality. This parameter is needed to scale from
individual-level mortality simulation to grid-cell average conditions.
Mechanistic simulation of hydraulic failure is not undertaken on account
of it’s mechanistic complexity (see :ref:`McDowell et al. 2013` for
details). Instead, we use a proxy for hydraulic failure induced
mortality (:math:`M_{hf,coh}`) that uses a water potential threshold
beyond mortality is triggered, such that the tolerance of low water
potentials is a function of plant functional type (as expressed via the
:math:`\psi_c` parameter). For each day that the aggregate water
potential falls below a threshold value, a set fraction of the trees are
killed. The aggregation of soil moisture potential across the root zone
is expressed using the :math:`\beta` function. We thus determine plant
mortality caused by extremely low water potentials as
.. math::
M_{hf,coh} = \left\{ \begin{array}{ll}
S_{m,ft}& \textrm{for } \beta_{ft} < 10^{-6}\\
&\\
0.0& \textrm{for } \beta_{ft}>= 10^{-6}.\\
\end{array} \right.
The threshold value of 10\ :math:`^{-6}` represents a state where the
average soil moisture potential is within 10\ :math:`^{-6}` of the
wilting point (a PFT specific parameter :math:`\theta_{w,ft}`).
:math:`M_{hf,coh}` is the fire-induced mortality, as described in the
fire modelling section.
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Parameters needed for mortality model. }
+---------------------+--------------------------------+-------+------------+
| Parameter Symbol | Parameter Name | Units | indexed by |
+=====================+================================+=======+============+
| :math:`S_{m,ft}` | Stress Mortality Scaler | none | |
+---------------------+--------------------------------+-------+------------+
| :math:`l_{targ,ft}` | Target carbon storage fraction | none | ft |
+---------------------+--------------------------------+-------+------------+
.. raw:: latex
\bigskip
Fire (SPITFIRE)
^^^^^^^^^^^^^^^^^
The influence of fire on vegetation is estimated using the SPITFIRE
model, which has been modified for use in ED following it’s original
implementation in the LPJ-SPITFIRE model
(:ref:`Thonicke et al. 2010`, :ref:`Pfeiffer et al. 2013`). This model as
described is substantially different from the existing CLM4.5 fire model
:ref:`Li et al. 2012`, however, further developments are
intended to increase the merging of SPITFIRE’s natural vegetation fire
scheme with the fire suppression, forest-clearing and peat fire
estimations in the existing model. The coupling to the ED model allows
fires to interact with vegetation in a size-structured manner, so
small fires can burn only understorey vegetation. Also, the patch
structure and representation of succession in the ED model allows the
model to track the impacts of fire on different forest stands, therefore
removing the problem of area-averaging implicit in area-based DGVMs. The
SPITFIRE approach has also been coupled to the LPJ-GUESS
individual-based model (Forrest et al. in prep) and so this is not the
only implementation of this type of scheme in existence.
The SPITFIRE model operates at a daily timestep and at the patch level,
meaning that different litter pools and vegetation charecteristics of
open and closed forests can be represented effectively (we omit the
`patch` subscript throughout for simplicity).
Properties of fuel load
-----------------------
Many fire processes are impacted by the properties of the litter pool in
the SPITFIRE model. There are one live (live grasses) and five dead fuel
categories (dead leaf litter and four pools of coarse woody debris).
Coarse woody debris is classified into 1h, 10h, 100h, and 1000h fuels,
defined by the order of magnitude of time required for fuel to lose
(or gain) 63% of the difference between its current moisture content and
the equilibrium moisture content under defined atmospheric conditions.
:ref:`Thonicke et al. 2010`. For the purposes of describing
the behaviour of fire, we introduce a new index 'fuel class' *fc*, the
values of which correspond to each of the six possible fuel categories
as follows.
+------------+------------------+-------------+
| *fc* index | Fuel type | Drying Time |
+============+==================+=============+
| 1 | dead grass | n/a |
+------------+------------------+-------------+
| 2 | twigs | 1h fuels |
+------------+------------------+-------------+
| 3 | small branches | 10h fuel |
+------------+------------------+-------------+
| 4 | large branches | 100h fuel |
+------------+------------------+-------------+
| 5 | stems and trunks | 1000h fuel |
+------------+------------------+-------------+
| 6 | live grasses | n/a |
+------------+------------------+-------------+
.. raw:: latex
\bigskip
Nesterov Index
---------------
Dead fuel moisture (:math:`\emph{moist}_{df,fc}`), and several other
properties of fire behaviour, are a function of the ‘Nesterov Index’
(:math:`N_{I}`) which is an accumulation over time of a function of
temperature and humidity (Eqn 5, :ref:`Thonicke et al. 2010`),
.. math:: N_{I}=\sum{\textrm{max}(T_{d}(T_{d}-D),0)}
where :math:`T_{d}` is the daily mean temperature in :math:`^{o}`\ C and
:math:`D` is the dew point calculated as .
.. math::
\begin{aligned}
\upsilon&=&\frac{17.27T_{d}}{237.70+T_{d}}+\log(RH/100)\\
D&=&\frac{237.70\upsilon}{17.27-\upsilon}\end{aligned}
where :math:`RH` is the relative humidity (%).
On days when the total precipitation exceeds 3.0mm, the Nesterov index accumulator is reset back to zero.
Fuel properties
---------------
Total fuel load :math:`F_{tot,patch}` for a given patch is the sum of
the above ground coarse woody debris and the leaf litter, plus the alive
grass leaf biomass :math:`b_{l,grass}` multiplied by the non-mineral
fraction (1-:math:`M_{f}`).
.. math:: F_{tot,patch}=\left(\sum_{fc=1}^{fc=5} CWD_{AG,fc}+l_{litter}+b_{l,grass}\right)(1-M_{f})
Many of the model behaviours are affected by the patch-level weighted
average properties of the fuel load. Typically, these are calculated in
the absence of 1000-h fuels because these do not contribute greatly to
fire spread properties.
Dead Fuel Moisture Content
~~~~~~~~~~~~~~~~~~~~~~~~~~
Dead fuel moisture is calculated as
.. math:: \emph{moist}_{df,fc}=e^{-\alpha_{fmc,fc}N_{I}}
where :math:`\alpha_{fmc,fc}` is a parameter defining how fuel moisture
content varies between the first four dead fuel classes.
Live grass moisture Content
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The live grass fractional moisture content(\ :math:`\emph{moist}_{lg}`)
is a function of the soil moisture content. (Equation B2 in
:ref:`Thonicke et al. 2010`)
.. math:: \emph{moist}_{lg}=\textrm{max}(0.0,\frac{10}{9}\theta_{30}-\frac{1}{9})
where :math:`\theta_{30}` is the fractional moisture content of the top
30cm of soil.
Patch Fuel Moisture
~~~~~~~~~~~~~~~~~~~
The total patch fuel moisture is based on the weighted average of the
different moisture contents associated with each of the different live
grass and dead fuel types available (except 1000-h fuels).
.. math:: F_{m,patch}=\sum_{fc=1}^{fc=4} \frac{F_{fc}}{F_{tot}}\emph{moist}_{df,fc}+\frac{b_{l,grass}}{F_{tot}}\emph{moist}_{lg}
Effective Fuel Moisture Content
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Effective Fuel Moisture Content is used for calculations of fuel
consumed, and is a function of the ratio of dead fuel moisture content
:math:`M_{df,fc}` and the moisture of extinction factor,
:math:`m_{ef,fc}`
.. math:: E_{moist,fc}=\frac{\emph{moist}_{fc}}{m_{ef,fc}}
where the :math:`m_{ef}` is a function of surface-area to volume ratio.
.. math:: m_{ef,fc}=0.524-0.066\log_{10}{\sigma_{fc}}
Patch Fuel Moisture of Extinction
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The patch ‘moisture of extinction’ factor (:math:`F_{mef}`) is the
weighted average of the :math:`m_{ef}` of the different fuel classes
.. math:: F_{mef,patch}=\sum_{fc=1}^{fc=5} \frac{F_{fc}}{F_{tot}}m_{ef,fc}+\frac{b_{l,grass}}{F_{tot}}m_{ef,grass}
Patch Fuel Bulk Density
~~~~~~~~~~~~~~~~~~~~~~~
The patch fuel bulk density is the weighted average of the bulk density
of the different fuel classes (except 1000-h fuels).
.. math:: F_{bd,patch}=\sum_{fc=1}^{fc=4} \frac{F_{fc}}{F_{tot}}\beta_{fuel,fc}+\frac{b_{l,grass}}{F_{tot}}\beta_{fuel,lgrass}
where :math:`\beta_{fuel,fc}` is the bulk density of each fuel size
class (kG m\ :math:`^{-3}`)
Patch Fuel Surface Area to Volume
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The patch surface area to volume ratio (:math:`F_{\sigma}`) is the
weighted average of the surface area to volume ratios
(:math:`\sigma_{fuel}`) of the different fuel classes (except 1000-h
fuels).
.. math:: F_{\sigma}=\sum_{fc=1}^{fc=4} \frac{F_{fc}}{F_{tot}}\sigma_{fuel,fc}+\frac{b_{l,grass}}{F_{tot}}\sigma_{fuel,grass}
Forward rate of spread
----------------------
For each patch and each day, we calculate the rate of forward spread of
the fire *ros*\ :math:`_{f}` (nominally in the direction of the wind).
.. math:: \emph{ros}_{f}=\frac{i_{r}x_{i}(1+\phi_{w})}{F_{bd,patch}e_{ps}q_{ig}}
:math:`e_{ps}` is the effective heating number
(:math:`e^{\frac{-4.528}{F_{\sigma,patch}}}`). :math:`q_{ig}` is the
heat of pre-ignition (:math:`581+2594F_{m}`). :math:`x_{i}` is the
propagating flux calculated as (see :ref:`Thonicke et al. 2010`
Appendix A).
.. math::
x_{i}= \frac{e^{0.792+3.7597F_{\sigma,patch}^{0.5}(\frac{F_{bd,patch}}{p_{d}}+0.1)}}{192+7.9095F_{\sigma,patch}}
:math:`\phi_{w}` is the influence of windspeed on rate of spread.
.. math:: \phi_{w}=cb_{w}^{b}.\beta^{-e}
Where :math:`b`, :math:`c` and :math:`e` are all functions of
surface-area-volume ratio :math:`F_{\sigma,patch}`:
:math:`b=0.15988F_{\sigma,patch}^{0.54}`,
:math:`c=7.47e^{-0.8711F_{\sigma,patch}^{0.55}}`,
:math:`e=0.715e^{-0.01094F_{\sigma,patch}}`. :math:`b_{w}=196.86W` where
:math:`W` is the the windspeed in ms\ :math:`^{-1}`, and
:math:`\beta=\frac{F_{bd}/p_{d}}{0.200395F_{\sigma,patch}^{-0.8189}}`
where :math:`p_{d}` is the particle density (513).
:math:`i_{r}` is the reaction intensity, calculated using the following
set of expressions (from :ref:`Thonicke et al. 2010` Appendix A).:
.. math::
\begin{aligned}
i_{r}&=&\Gamma_{opt}F_{tot}Hd_{moist}d_{miner}\\
d_{moist}&=&\textrm{max}\Big(0.0,(1-2.59m_{w}+5.11m_{w}^{2}-3.52m_{w}^{3})\Big)\\
m_{w}&=&\frac{F_{m,patch}}{F_{mef,patch}}\\
\Gamma _{opt}&=&\Gamma_{max}\beta^{a}\lambda\\
\Gamma _{max}&=&\frac{1}{0.0591+2.926F_{\sigma,patch}^{-1.5}}\\
\lambda&=&e^{a(1-\beta)}\\
a&=&8.9033F_{\sigma,patch}^{-0.7913}\end{aligned}
:math:`\Gamma_{opt}` is the residence time of the fire, and
:math:`d_{miner}` is the mineral damping coefficient
(=0.174:math:`S_e^{-0.19}` , where :math:`S_e` is 0.01 and so =
:math:`d_{miner}` 0.41739).
Fuel Consumption
----------------
The fuel consumption (fraction of biomass pools) of each dead biomass
pool in the area affected by fire on a given day (:math:`f_{c,dead,fc}`)
is a function of effective fuel moisture :math:`E_{moist,fc}` and size
class *fc* (Eqn B1, B4 and B5, :ref:`Thonicke et al. 2010`). The
fraction of each fuel class that is consumed decreases as its moisture
content relative to its moisture of extinction (:math:`E_{moist,fc}`)
increases.
.. math:: f_{cdead,fc}=\textrm{max}\left(0,\textrm{min}(1,m_{int,mc,fc}-m_{slope,mc,fc}E_{moist,fc})\Big)\right.
:math:`m_{int}` and :math:`m_{slope}` are parameters, the value of which
is modulated by both size class :math:`fc` and by the effective fuel
moisture class :math:`mc`, defined by :math:`E_{moist,fc}`.
:math:`m_{int}` and :math:`m_{slope}` are defined for low-, mid-, and
high-moisture conditions, the boundaries of which are also functions of
the litter size class following :ref:`Peterson and Ryan 1986 ` (page
802). The fuel burned, :math:`f_{cground,fc}` (Kg m\ :math:`^{-2}`
day\ :math:`^{-1}`) iscalculated from :math:`f_{cdead,fc}` for each fuel
class:
.. math:: f_{cground,fc}=f_{c,dead,fc}(1-M_{f})\frac{F_{fc}}{0.45}
Where 0.45 converts from carbon to biomass. The total fuel consumption,
:math:`f_{ctot,patch}`\ (Kg m\ :math:`^{-2}`), used to calculate fire
intensity, is then given by
.. math:: f_{ctot,patch}=\sum_{fc=1}^{fc=4} f_{c,ground,fc} + f_{c,ground,lgrass}
There is no contribution from the 1000 hour fuels to the patch-level
:math:`f_{ctot,patch}` used in the fire intensity calculation.
Fire Intensity
--------------
Fire intensity at the front of the burning area (:math:`I_{surface}`, kW
m\ :math:`^{-2}`) is a function of the total fuel consumed
(:math:`f_{ctot,patch}`) and the rate of spread at the front of the
fire, :math:`\mathit{ros}_{f}` (m min\ :math:`^{-1}`) (Eqn 15
:ref:`Thonicke et al. 2010`)
.. math:: I_{surface}=\frac{0.001}{60}f_{energy} f_{ctot,patch}\mathit{ros}_{f}
where :math:`f_{energy}` is the energy content of fuel (Kj/Kg - the
same, 18000 Kj/Kg for all fuel classes). Fire intensity is used to define whether an
ignition is successful. If the fire intensity is greater than 50Kw/m
then the ignition is successful.
Fire Duration
-------------
Fire duration is a function of the fire danger index with a maximum
length of :math:`F_{dur,max}` (240 minutes in
:ref:`Thonicke et al. 2010` Eqn 14, derived from Canadian Forest
Fire Behaviour Predictions Systems)
.. math:: D_{f}=\textrm{min}\Big(F_{dur,max},\frac{F_{dur,max}}{1+F_{dur,max}e^{-11.06fdi}}\Big)
Fire Danger Index
-----------------
Fire danger index (*fdi*) is a representation of the effect of
meteorological conditions on the likelihood of a fire. It is calculated
for each gridcell as a function of the Nesterov Index .
:math:`\emph{fdi}` is calculated from :math:`NI` as
.. math:: \emph{fdi}=1-e^{\alpha N_{I}}
where :math:`\alpha` = 0.00037 following
:ref:`Venevsky et al. 2002`.
Area Burned
-----------
Total area burnt is assumed to be in the shape of an ellipse, whose
major axis :math:`f_{length}` (m) is determined by the forward and
backward rates of spread (:math:`ros_{f}` and :math:`ros_{b}`
respectively).
.. math:: f_{length}=F_{d}(ros_{b}+ros_{f})
:math:`ros_{b}` is a function of :math:`ros_{f}` and windspeed (Eqn 10
:ref:`Thonicke et al. 2010`)
.. math:: ros_{b}=ros_{f}e^{-0.012W}
The minor axis to major axis ratio :math:`l_{b}` of the ellipse is
determined by the windspeed. If the windspeed (:math:`W`) is less than
16.67 ms\ :math:`^{-1}` then :math:`l_{b}=1`. Otherwise (Eqn 12 and 13,
:ref:`Thonicke et al. 2010`)
.. math:: l_{b}=\textrm{min}\Big(8,f_{tree}(1.0+8.729(1.0-e^{-0.108W})^{2.155})+(f_{grass}(1.1+3.6W^{0.0464}))\Big)
:math:`f_{grass}` and :math:`f_{tree}` are the fractions of the patch
surface covered by grass and trees respectively.
The total area burned (:math:`A_{burn}` in m\ :math:`^{2}`) is therefore
(Eqn 11, :ref:`Thonicke et al. 2010`)
.. math:: A_{burn}=\frac{n_{f}\frac{3.1416}{4l_{b}}(f_{length}^{2}))}{10000}
where :math:`n_{f}` is the number of fires.
Crown Damage
-------------
:math:`c_{k}` is the fraction of the crown which is consumed by the
fire. This is calculated from scorch height :math:`H_{s}`, tree height
:math:`h` and the crown fraction parameter :math:`F_{crown}` (Eqn 17
:ref:`Thonicke et al. 2010`):
.. math::
c_{k} = \left\{ \begin{array}{ll}
0 & \textrm{for $H_{s}<(h-hF_{crown})$}\\
1-\frac{h-H_{s}}{h-F_{crown}}& \textrm{for $h>H_{s}>(h-hF_{crown})$}\\
1 & \textrm{for $H_{s}>h$ }
\end{array} \right.
The scorch height :math:`H_{s}` (m) is a function of the fire intensity,
following :ref:`Byram, 1959`, and is proportional to a plant
functional type specific parameter :math:`\alpha_{s,ft}` (Eqn 16
:ref:`Thonicke et al. 2010`):
.. math:: H_{s}=\sum_{FT=1}^{NPFT}{\alpha_{s,p}\cdot f_{biomass,ft}} I_{surface}^{0.667}
where :math:`f_{biomass,ft}` is the fraction of the above-ground
biomass in each plant functional type.
Cambial Damage and Kill
-----------------------
The cambial kill is a function of the fuel consumed :math:`f_{c,tot}`,
the bark thickness :math:`t_{b}`, and :math:`\tau_{l}`, the duration of
cambial heating (minutes) (Eqn 8, :ref:`Peterson and Ryan 1986`):
.. math:: \tau_{l}=\sum_{fc=1}^{fc=5}39.4F_{p,c}\frac{10000}{0.45}(1-(1-f_{c,dead,fc})^{0.5})
Bark thickness is a linear function of tree diameter :math:`dbh_{coh}`,
defined by PFT-specific parameters :math:`\beta_{1,bt}` and
:math:`\beta_{2,bt}` (Eqn 21 :ref:`Thonicke et al. 2010`):
.. math:: t_{b,coh}=\beta_{1,bt,ft}+\beta_{2,bt,ft}dbh_{coh}
The critical time for cambial kill, :math:`\tau_{c}` (minutes) is given
as (Eqn 20 :ref:`Thonicke et al. 2010`):
.. math:: \tau_{c}=2.9t_{b}^{2}
The mortality rate caused by cambial heating :math:`\tau_{pm}` of trees
within the area affected by fire is a function of the ratio between
:math:`\tau_{l}` and :math:`\tau_{c}` (Eqn 19,
:ref:`Thonicke et al. 2010`):
.. math::
\tau_{pm} = \left\{ \begin{array}{ll}
1.0 & \textrm{for } \tau_{1}/\tau_{c}\geq \textrm{2.0}\\
0.563(\tau_{l}/\tau_{c}))-0.125 & \textrm{for } \textrm{2.0} > \tau_{1}/\tau_{c}\ge \textrm{0.22}\\
0.0 & \textrm{for } \tau_{1}/\tau_{c}< \textrm{0.22}\\
\end{array} \right.
.. raw:: latex
\bigskip
.. raw:: latex
\captionof{table}{Parameters needed for fire model. }
+-----------------+-----------------+-----------------+-----------------+
| Parameter | Parameter Name | Units | indexed by |
| Symbol | | | |
+=================+=================+=================+=================+
| :math:`\beta_{1 | Intercept of | mm | *FT* |
| ,bt}` | bark thickness | | |
| | function | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\beta_{2 | Slope of bark | mm | *FT* |
| ,bt}` | thickness | cm\ :math:`^{-1 | |
| | function | }` | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`F_{crown | Ratio of crown | none | *FT* |
| }` | height to total | | |
| | height | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\alpha_{ | Fuel moisture | :math:`{^o}`\ C | *fc* |
| fmc}` | parameter | \ :math:`^{-2}` | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\beta_{f | Fuel Bulk | kG | *fc* |
| uel}` | Density | m\ :math:`^{-3}`| |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\sigma_{ | Surface area to | cm | *fc* |
| fuel,fc}` | volume ratio | :math:`^{-1}` | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`m_{int}` | Intercept of | none | :math:`fc`, |
| | fuel burned | | moisture class |
+-----------------+-----------------+-----------------+-----------------+
| :math:`m_{slope | Slope of fuel | none | :math:`fc`, |
| }` | burned | | moisture class |
+-----------------+-----------------+-----------------+-----------------+
| :math:`M_f` | Fuel Mineral | | |
| | Fraction | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`F_{dur,m | Maximum | Minutes | |
| ax}` | Duration of | | |
| | Fire | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`f_{energ | Energy content | kJ/kG | |
| y}` | of fuel | | |
+-----------------+-----------------+-----------------+-----------------+
| :math:`\alpha_{ | Flame height | | *FT* |
| s}` | parameter | | |
+-----------------+-----------------+-----------------+-----------------+