next up previous contents
Next: Fortran: Module Interface LightMod Up: Fortran: Module Interface CNDVEstablishmentMod Previous: Fortran: Module Interface CNDVEstablishmentMod   Contents



   subroutine Establishment(lbg, ubg, lbp, ubp)

Calculates establishment of new pfts Called once per year


     use clmtype
     use clm_varpar   , only : numpft
     use clm_varcon   , only : istsoil
     use clm_varctl   , only : iulog
     use pftvarcon    , only : noveg, nc3_arctic_grass
     use shr_const_mod, only : SHR_CONST_CDAY, SHR_CONST_PI, SHR_CONST_TKFRZ
     implicit none
     integer , intent(in) :: lbg, ubg         ! gridcell bounds
     integer , intent(in) :: lbp, ubp         ! pft bounds
   subroutine dv in module CNDVMod
   Author: Sam Levis (adapted from Stephen Sitch's LPJ subr. establishment)
   3/4/02, Peter Thornton: Migrated to new data structures.
   10/05 , Sam Levis: adapted to work with CN
   09/07 , Sam Levis: as 10/05 but with current CN
   local pointers to implicit in arguments
     logical , pointer :: pftmayexist(:)   ! exclude seasonal decid pfts from tropics [1=true, 0=false]
     integer , pointer :: plandunit(:)     ! landunit of corresponding pft
     integer , pointer :: pgridcell(:)     ! gridcell of corresponding pft
     integer , pointer :: ltype(:)         ! landunit type for corresponding pft
     real(r8), pointer :: tmomin20(:)      ! 20-yr running mean of tmomin
     real(r8), pointer :: agdd20(:)        ! 20-yr running mean of agdd
     real(r8), pointer :: agddtw(:)        ! accumulated growing degree days above twmax
     real(r8), pointer :: prec365(:)       ! 365-day running mean of tot. precipitation
     real(r8), pointer :: slatop(:)    !specific leaf area at top of canopy, projected area basis [m^2/gC]
     real(r8), pointer :: dsladlai(:)  !dSLA/dLAI, projected area basis [m^2/gC]
     real(r8), pointer :: woody(:)         ! ecophys const - woody pft or not
     real(r8), pointer :: crownarea_max(:) ! ecophys const - tree maximum crown area [m2]
     real(r8), pointer :: twmax(:)         ! ecophys const - upper limit of temperature of the warmest month
     real(r8), pointer :: reinickerp(:)    ! ecophys const - parameter in allometric equation
     real(r8), pointer :: dwood(:)         ! ecophys const - wood density (gC/m3)
     real(r8), pointer :: allom1(:)        ! ecophys const - parameter in allometric
     real(r8), pointer :: tcmin(:)         ! ecophys const - minimum coldest monthly mean temperature
     real(r8), pointer :: tcmax(:)         ! ecophys const - maximum coldest monthly mean temperature
     real(r8), pointer :: gddmin(:)        ! ecophys const - minimum growing degree days (at or above 5 C)
     real(r8), pointer :: leafcmax(:)      ! (gC/m2) ann max leaf C
     real(r8), pointer :: deadstemc(:)     ! (gC/m2) dead stem C
     real(r8), pointer :: annsum_npp(:)         ! annual sum NPP (gC/m2/yr)
     real(r8), pointer :: annsum_litfall(:)     ! annual sum litfall (gC/m2/yr)
   local pointers to implicit in/out arguments
     integer , pointer :: ivt(:)           ! vegetation type for this pft
     logical , pointer :: present(:)       ! true=> PFT present in patch
     real(r8), pointer :: nind(:)          ! number of individuals (#/m**2)
   local pointers to implicit out arguments
     real(r8), pointer :: fpcgrid(:)       ! foliar projective cover on gridcell (fraction)
     real(r8), pointer :: crownarea(:)     ! area that each individual tree takes up (m^2)
     real(r8), pointer :: greffic(:)       ! lpj's growth efficiency
     real(r8), pointer :: heatstress(:)

Erik Kluzek 2011-06-15