next up previous contents
Next: CNEvergreenPhenology Up: Fortran: Module Interface CNPhenologyMod Previous: CNPhenologyInit   Contents

CNPhenologyClimate


INTERFACE:

 subroutine CNPhenologyClimate (num_soilp, filter_soilp, num_pcropp, filter_pcropp)
DESCRIPTION:

For coupled carbon-nitrogen code (CN).


USES:

    use clm_time_manager, only: get_days_per_year
    use clm_time_manager, only: get_curr_date
    use CropRestMod     , only: CropRestYear, CropRestIncYear
ARGUMENTS:
    integer, intent(in) :: num_soilp       ! number of soil pfts in filter
    integer, intent(in) :: filter_soilp(:) ! filter for soil pfts
    integer, intent(in) :: num_pcropp      ! number of prognostic crops in filter
    integer, intent(in) :: filter_pcropp(:)! filter for prognostic crop pfts
CALLED FROM:
   subroutine CNPhenology
REVISION HISTORY:
   3/13/07: Created by Peter Thornton
LOCAL VARIABLES:
   local pointers to implicit in scalars
    integer , pointer :: ivt(:)             ! pft vegetation type
    ! ecophysiological constants
    real(r8), pointer :: t_ref2m(:)         ! 2m air temperature (K)
    real(r8), pointer :: tempavg_t2m(:)     ! temp. avg 2m air temperature (K)
    real(r8), pointer :: gdd0(:)            ! growing deg. days base 0 deg C (ddays)
    real(r8), pointer :: gdd8(:)            !    "     "    "    "   8  "  "    "
    real(r8), pointer :: gdd10(:)           !    "     "    "    "  10  "  "    "
    real(r8), pointer :: gdd020(:)          ! 20-yr mean of gdd0 (ddays)
    real(r8), pointer :: gdd820(:)          ! 20-yr mean of gdd8 (ddays)
    real(r8), pointer :: gdd1020(:)         ! 20-yr mean of gdd10 (ddays)
    integer , pointer :: pgridcell(:)       ! pft's gridcell index
   local pointers to implicit in/out scalars
   local pointers to implicit out scalars
   !OTHER LOCAL VARIABLES:
    integer :: p                    ! indices
    integer :: fp                   ! lake filter pft index
    integer, save :: nyrs = -999    ! number of years prognostic crop has run
    real(r8):: dayspyr              ! days per year (days)
    integer kyr                     ! current year
    integer kmo                     !         month of year  (1, ..., 12)
    integer kda                     !         day of month   (1, ..., 31)
    integer mcsec                   !         seconds of day (0, ..., seconds/day)
    real(r8), parameter :: yravg   = 20.0_r8      ! length of years to average for gdd
    real(r8), parameter :: yravgm1 = yravg-1.0_r8 ! minus 1 of above



Erik Kluzek 2011-06-15