next up previous contents
Next: Fortran: Module Interface CNBalanceCheckMod Up: Fortran: Module Interface CNAnnualUpdateMod Previous: Fortran: Module Interface CNAnnualUpdateMod   Contents

CNAnnualUpdate


INTERFACE:

 subroutine CNAnnualUpdate(lbc, ubc, lbp, ubp, num_soilc, filter_soilc, &
                           num_soilp, filter_soilp)
DESCRIPTION:

On the radiation time step, update annual summation variables


USES:

    use clmtype
    use clm_time_manager, only: get_step_size, get_days_per_year
    use clm_varcon      , only: secspday
    use pft2colMod      , only: p2c
ARGUMENTS:
    implicit none
    integer, intent(in) :: lbc, ubc        ! column bounds
    integer, intent(in) :: lbp, ubp        ! pft bounds
    integer, intent(in) :: num_soilc       ! number of soil columns in filter
    integer, intent(in) :: filter_soilc(ubc-lbc+1) ! filter for soil columns
    integer, intent(in) :: num_soilp       ! number of soil pfts in filter
    integer, intent(in) :: filter_soilp(ubp-lbp+1) ! filter for soil pfts
CALLED FROM:
   subroutine clm_driver1
REVISION HISTORY:
   10/1/03: Created by Peter Thornton
LOCAL VARIABLES:
   local pointers to implicit in scalars
    integer , pointer :: pcolumn(:)               ! index into column level
                                                  ! quantities
   local pointers to implicit in/out scalars
    real(r8), pointer :: annsum_counter(:)        ! seconds since last annual accumulator turnover
    real(r8), pointer :: tempsum_potential_gpp(:) ! temporary annual sum of potential GPP
    real(r8), pointer :: annsum_potential_gpp(:)  ! annual sum of potential GPP
    real(r8), pointer :: tempmax_retransn(:)      ! temporary annual max of retranslocated N pool (gN/m2)
    real(r8), pointer :: annmax_retransn(:)       ! annual max of retranslocated N pool (gN/m2)
    real(r8), pointer :: tempavg_t2m(:)           ! temporary average 2m air temperature (K)
    real(r8), pointer :: annavg_t2m(:)            ! annual average 2m air temperature (K)
    real(r8), pointer :: tempsum_npp(:)           ! temporary sum NPP (gC/m2/yr)
    real(r8), pointer :: annsum_npp(:)            ! annual sum NPP (gC/m2/yr)
    real(r8), pointer :: cannsum_npp(:)           ! column annual sum NPP (gC/m2/yr)
    real(r8), pointer :: cannavg_t2m(:)    !annual average of 2m air temperature, averaged from pft-level (K)
 #if (defined CNDV)
    real(r8), pointer :: tempsum_litfall(:)       ! temporary sum litfall (gC/m2/yr)
    real(r8), pointer :: annsum_litfall(:)        ! annual sum litfall (gC/m2/yr)
 #endif
   local pointers to implicit out scalars
   !OTHER LOCAL VARIABLES:
    integer :: c,p          ! indices
    integer :: fp,fc        ! lake filter indices
    real(r8):: dt           ! radiation time step (seconds)



Erik Kluzek 2011-06-15