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

Light


INTERFACE:

   subroutine Light(lbg, ubg, lbp, ubp, num_natvegp, filter_natvegp)
DESCRIPTION:

Calculate light competition Update fpc for establishment routine Called once per year


USES:

     use clmtype
ARGUMENTS:
     implicit none
     integer, intent(in) :: lbg, ubg                  ! gridcell bounds
     integer, intent(in) :: lbp, ubp                  ! pft bounds
     integer, intent(in) :: num_natvegp               ! number of naturally-vegetated pfts in filter
     integer, intent(in) :: filter_natvegp(ubp-lbp+1) ! pft filter for naturally-vegetated points
CALLED FROM:
   subroutine dv in module CNDVMod
REVISION HISTORY:
   Author: Sam Levis (adapted from Stephen Sitch's LPJ subroutine light)
   3/4/02, Peter Thornton: Migrated to new data structures.
   2005.10: Sam Levis updated to work with CN
LOCAL VARIABLES:
   local pointers to implicit in arguments
     integer , pointer :: ivt(:)       ! pft vegetation type
     integer , pointer :: pgridcell(:) ! gridcell index of corresponding pft
     integer , pointer :: tree(:)      ! ecophys const - tree pft or not
     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 :: leafcmax(:)  ! (gC/m2) leaf C storage
     real(r8), pointer :: deadstemc(:)     ! (gC/m2) dead stem C
     real(r8), pointer :: dwood(:)         ! ecophys const - wood density (gC/m3)
     real(r8), pointer :: reinickerp(:)    ! ecophys const - parameter in allomet
     real(r8), pointer :: crownarea_max(:) ! ecophys const - tree maximum crown a
     real(r8), pointer :: allom1(:)        ! ecophys const - parameter in allomet
 
   local pointers to implicit inout arguments
     real(r8), pointer :: crownarea(:) ! area that each individual tree takes up (m^2)
     real(r8), pointer :: fpcgrid(:)   ! foliar projective cover on gridcell (fraction)
     real(r8), pointer :: nind(:)      ! number of individuals



Erik Kluzek 2011-06-15