next up previous contents
Next: Fortran: Module Interface CNAllocationMod Up: Fortran: Module Interface CASAPhenologyMod Previous: initCASAPhenology   Contents

CASAPhenology


INTERFACE:

   subroutine CASAPhenology(lbp, ubp, num_soilp, filter_soilp)
DESCRIPTION:

Compute CASA vegetation phenology.


USES:

     use clmtype
     use clm_varcon  , only : tfrz, secspday
     use clm_time_manager, only : get_step_size, get_nstep, get_curr_date
ARGUMENTS:
     implicit none
     integer, intent(in) :: lbp, ubp   ! pft-index bounds
     integer, intent(in) :: num_soilp  ! number of soil points in pft filter
     integer, intent(in) :: filter_soilp(ubp-lbp+1) ! pft filter for soil points
LOCAL VARIABLES:
     integer , pointer :: ivt(:)       ! pft vegetation type
     integer , pointer :: pgridcell(:) ! pft's gridcell index
     real(r8), pointer :: latdeg(:)    ! latitude (degrees)
     real(r8), pointer :: tday(:)      ! daily accumulated temperature (deg C)
     real(r8), pointer :: tdayavg(:)   ! daily averaged temperature (deg C)
     real(r8), pointer :: tcount(:)    ! counter for daily avg temp
     real(r8), pointer :: degday(:)    ! accumulated degree days (deg C) 
     real(r8), pointer :: ndegday(:)   ! counter for number of degree days
     real(r8), pointer :: stressT(:)   ! temperature stress function for leaf
                                       ! loss apply to Litterfall of decid veg
     real(r8), pointer :: stressW(:)   ! water stress function for leaf loss
     real(r8), pointer :: stressCD(:)  ! cold and drought stress function (sec-1)
     real(r8), pointer :: iseabeg(:)   ! index for start of growing season
     real(r8), pointer :: nstepbeg(:)  ! nstep at start of growing season
     real(r8), pointer :: lgrow(:)     ! growing season index (0 or 1) to be 
                                       ! passed daily to CASA to get NPP
     real(r8), pointer :: t_ref2m(:)   ! 2m height surface air temperature (K)
     real(r8), pointer :: btran(:)     ! transpiration factor (0 to 1)
     !==============================================================
     integer  :: g          ! gridcell index
     integer  :: p          ! pft index
     integer  :: f          ! filter index
     integer  :: nstepmin
     integer  :: mcsec_n    !current seconds of next timestep (0, ..., seconds/day)
     integer  :: mcsec      !current seconds of current date (0, ..., seconds/day)
     integer  :: kyr        !year
     integer  :: kmo        !month (1, ..., 12)
     integer  :: kda        !day of month (1, ..., 31)
     integer  :: nstep      !time step number
     real(r8) :: dtime      !land model time step (sec) 
     real(r8) :: tnorm
CALLED FROM:
   casa_ecosystemDyn
REVISION HISTORY:
   2004.06.08 Vectorized and reformatted by Forrest Hoffman



Erik Kluzek 2011-06-15