SUMMARY OF THE LAYER STRUCTURE IN CUPID
1) GENERAL:
In the model CUPID the soil-plant-atmosphere vertical continuum is divided
into layers for which all flux equations are solved simultaneously. The
layers can be classified into four types:
1: THE LAYERS ABOVE THE CANOPY range from the upper boundary to
the canopy top. The number of layers is NLABCY and is a fixed
input variable.
2: THE CANOPY LAYERS range from the canopy top to the canopy bottom.
The number of layers JTOT is calculated in the model and is
dependent on the total leaf area index:
JTOT = TOTLAI / DF
In general, it remains between a minimum JMIN and a maximum JMAX
(both input variables). DF is the thickness of one layer in
LAI units and is greater or equal DFMIN (input variable).
3: THE ABOVE GROUND LAYERS range from the canopy bottom to the soil
surface. The number of layers is NLBCPY and is a fixed input variable.
4: THE LAYERS BELOW THE SOIL SURFACE range from the soil surface
to the lower boundary. The number of layers is NDSOIL and is a
fixed input variable.
2) NUMBERING THE LAYERS
The subscript JZ counts the layers from the upper boundary continuously down
to the lower boundary. Layer 1 is the topmost layer above the canopy and
JZBOT is the lowest soil layer. Apart from the unifying subscript JZ there
are other subscripts for different parts of the layer continuum in use:
J is the subscript for CANOPY LAYERS ranging from 1 to JTOT. Layer J=1 is
the layer between the soil surface and the lowest canopy layer and is used
in profile calculations of radiation exchange only. In all other profile
calculations layer J=1 is subdivided into the ABOVE GROUND LAYERS. JTOT is
the topmost canopy layer. The conversion of J into JZ is:
JZ = JTOT - J + NLABCY +1
(for J between 2 and JTOT)
JZ1 is the subscript for the LAYERS BELOW SOIL SURFACE ranging from 1 to
NDSOIL. The conversion into JZ is:
JZ = NLABCY + JTOT -1 + NLBCPY + JZ1
(for JZ1 between 1 and NDSOIL)
CUPID has been designed to have a variable layer structure: As the canopy
grows, the number of canopy layers may increase, the number of layers above
the canopy may decrease and the number of layers below the canopy and above
ground may increase. Consequently, the subscripts of any particular layer
may change from one day to another. However, since some layers receive
special treatment in CUPID, for example the soil surface layer, it is
practical to assign variable names to the subscripts of those important
layers. This way, any particular layer can be called up by its variable
name, independent of the actual value of the layer number of that day.
These are some of the important subscript variable names in use:
By definition,
JZ = NLABCY is the lowest atmospheric layer immediately above
the canopy.
NLACY1 = NLABCY + 1
JZ = JZCPY is the lowest layer of the canopy.
JZCPY1 = JZCPY + 1
JZCPY2 = JZCPY + 2
JZ = JZSFC is the lowest layer below the canopy and above the
soil surface.
JZSFCM1 = JZSFC - 1
JZSFC1 = JZSFC + 1
JZSFC2 = JZSFC + 2
JZ = JZBOT is the lowest soil layer.
JZBOTM1 = JZBOT - 1
3. DETERMINING THE PHYSICAL LAYER STRUCTURE:
Every layer is associated with a node, which is defined as the top of that
layer. Hence, the distance of the node JZ from the soil surface (i.e. its
height) is the distance of the top of the layer JZ from the soil surface.
This distance has the variable name Z(JZ), m (which is based on the sign
convention from soil physics) is negative above ground and positive below
ground. The variable ZMID(JZ) denotes the distance of the midpoint of layer
JZ in m from the soil surface.
The height of the node JZ=1, the atmospheric upper boundary condition, is a
fixed input, while the height of the canopy is a daily input variable and the
heights of the canopy nodes are readjusted day by day as the LAI changes.
These calculations are executed in subroutine HITE2 of CUPID which is called
at the beginning of the daily loop.
1: CANOPY NODE HEIGHTS:
The height of the canopy, H, is an input variable. The rest of the canopy
node heights follow from a simple model of canopy structure that relates
relative node height:
ZDH(J) = Z(JZ) / H
to cumulative leaf area index (CLAI). ZMDH and ZLDH are input numbers to
the model and typically set to:
ZMDH = 0.5
ZLDH = 0.20
The height of a node Z(JZ) within the canopy can simply be calculated by:
Z(JZ) = ZDH(J) * H
(for J between JTOT and 2 and
JZ between NLABCY+1 and NLABCY+1+JTOT-1)
with Z(JZCPY1) = ZDH(2) * H
and Z(NLABCY+1) = H
2: ABOVE CANOPY NODE HEIGHTS:
These are fixed input variables: Z(I), I = 1,NLABCY (where Z(1) = REFHTT)
Since it is possible that during the course of a simulation the canopy top
outgrows Z(NLABCY) (in which case NLABCY would, of course, fail to be ABOVE
the canopy), the above canopy layers have to respond to changes in the
canopy structure:
In the case that Z(NLABCY) < H (NOTE: H AND Z ARE NEGATIVE ABOVE GROUND!)
the lowest ABOVE CANOPY LAYER will be ignored and NLABCY resets to NLABCY-1.
3: ABOVE GROUND NODE HEIGHTS:
The heights of the nodes above ground are read into the variable array
ZBCPY(I):
ZBCPY(I), I=1,NLBCPY
As the canopy grows the lowest canopy layer, JZCPY, moves upward. It may
therefore be practical to input additional ABOVE GROUND LAYERS that are, for
the first days of the simulation, above the lowest CANOPY LAYER and therefore
ignored but may later be added on. For every day all
Z(JZ) > Z(JZCPY1) (Z is NEGATIVE!)
within the ABOVE GROUND range
are ignored and NLBCPY is reset to NLBCPY-1.
Z(JZSFC) is the height of the node immediately above the soil surface.
4: BELOW SOIL SURFACE LAYER HEIGHTS:
The depths of the nodes below the soil surface are read into the variable
ZSOIL(JZ1):
ZSOIL(JZ1), JZ1 = 1,NDSOIL
The height of the soil surface Z(JZSFC1),i.e. ZSOIL(1), is 0 m. Z(JZBOT),
i.e. ZSOIL(NDSOIL), is the depth of the lower boundary condition.