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.