INTERFACE:
subroutine lpj(lbg, ubg, lbp, ubp, num_natvegp, filter_natvegp, kyr)DESCRIPTION:
Drives the annual portion of lpj, called once per year
USES:
use clmtype
use DGVMReproductionMod , only : Reproduction
use DGVMTurnoverMod , only : Turnover
use DGVMAllocationMod , only : Allocation
use DGVMLightMod , only : Light
use DGVMMortalityMod , only : Mortality
use DGVMFireMod , only : Fire
use DGVMEstablishmentMod, only : Establishment
use DGVMKillMod , only : Kill
ARGUMENTS:
implicit none
integer, intent(in) :: lbg, ubg ! gridcell bounds
integer, intent(in) :: lbp, ubp ! pft bounds
integer, intent(inout) :: num_natvegp ! number of naturally-vegetated
! pfts in filter
integer, intent(inout) :: filter_natvegp(ubp-lbp+1) ! filter for
! naturally-vegetated pfts
integer, intent(in) :: kyr ! used in routine climate20 below
CALLED FROM:
REVISION HISTORY:
Author: Sam LevisLOCAL VARIABLES:
local pointers to implicit in arguments
integer , pointer :: mxy(:) ! pft m index (for laixy(i,j,m),etc.)
integer , pointer :: pgridcell(:) ! gridcell of corresponding pft
real(r8), pointer :: fpcgrid(:) ! foliar projective cover on gridcell
real(r8), pointer :: agdd(:) ! accumulated growing degree days abov
real(r8), pointer :: t_mo_min(:) ! annual min of t_mo (Kelvin)
local pointers to implicit inout arguments
real(r8), pointer :: tmomin20(:) ! 20-yr running mean of tmomin
real(r8), pointer :: agdd20(:) ! 20-yr running mean of agdd
real(r8), pointer :: bm_inc(:) ! biomass increment
real(r8), pointer :: afmicr(:) ! annual microbial respiration
real(r8), pointer :: afirefrac_gcell(:) ! fraction of gridcell affected b
real(r8), pointer :: acfluxfire_gcell(:) ! gridcell C flux to atmosphere f
real(r8), pointer :: bmfm_gcell(:,:) ! gridcell biomass
real(r8), pointer :: afmicr_gcell(:,:) ! gridcell microbial respiration