INTERFACE:
subroutine Light(lbg, ubg, lbp, ubp, num_natvegp, filter_natvegp)DESCRIPTION:
Calculate light competition Update fpc (for establishment routine) Called once per yearUSES:
use clmtypeARGUMENTS:
implicit none
integer, intent(in) :: lbg, ubg ! gridcell bounds
integer, intent(in) :: lbp, ubp ! pft bounds
integer, intent(in) :: num_natvegp ! number of naturally-ve
integer, intent(in) :: filter_natvegp(ubp-lbp+1) ! pft filter for natural
CALLED FROM:
subroutine lpj in module DGVMModREVISION HISTORY:
Author: Sam Levis (adapted from Stephen Sitch's LPJ subroutine light) 3/4/02, Peter Thornton: Migrated to new data structures.LOCAL VARIABLES:
local pointers to implicit in arguments
integer , pointer :: ivt(:) ! pft vegetation type
integer , pointer :: pgridcell(:) ! gridcell index of corresponding pft
real(r8), pointer :: fpcinc(:) ! foliar projective cover increment (fr
real(r8), pointer :: sm_ind(:) ! individual stem mass
real(r8), pointer :: hm_ind(:) ! individual heartwood mass
real(r8), pointer :: crownarea(:) ! area that each individual tree takes
real(r8), pointer :: sla(:) ! ecophys const - specific leaf area [m
logical , pointer :: tree(:) ! ecophys const - whether this pft is a
local pointers to implicit inout arguments
real(r8), pointer :: fpcgrid(:) ! foliar projective cover on gridcell (
real(r8), pointer :: nind(:) ! number of individuals
real(r8), pointer :: litterag(:) ! above ground litter
real(r8), pointer :: litterbg(:) ! below ground litter
real(r8), pointer :: lm_ind(:) ! individual leaf mass
real(r8), pointer :: rm_ind(:) ! individual root mass