next up previous contents
Next: initAccClmtype Up: Fortran: Module Interface accFldsMod Previous: initAccFlds()   Contents

updateAccFlds


INTERFACE:

   subroutine updateAccFlds()
DESCRIPTION:

Update and/or extract accumulated fields


USES:

     use clmtype
     use clm_atmlnd   , only : clm_a2l
     use decompMod    , only : get_proc_bounds
     use clm_varcon   , only : spval
     use shr_const_mod, only : SHR_CONST_CDAY, SHR_CONST_TKFRZ
     use clm_time_manager , only : get_step_size, get_nstep, is_end_curr_day, get_curr_date
     use accumulMod   , only : update_accum_field, extract_accum_field
     use pftvarcon    , only : nwcereal, mxtmp, baset
     use clm_time_manager , only : get_start_date
     use pftvarcon    , only : ndllf_dcd_brl_tree
ARGUMENTS:
     implicit none
REVISION HISTORY:
   Created by M. Vertenstein 03/2003
LOCAL VARIABLES:
   local pointers to implicit in arguments
     integer , pointer :: itype(:)            ! pft vegetation
     integer , pointer :: pgridcell(:)        ! index into gridcell level quantities
     real(r8), pointer :: forc_t(:)           ! atmospheric temperature (Kelvin)
     real(r8), pointer :: forc_rain(:)        ! rain rate [mm/s]
     real(r8), pointer :: forc_snow(:)        ! snow rate [mm/s]
     real(r8), pointer :: t_ref2m(:)          ! 2 m height surface air temperature (Kelvin)
     real(r8), pointer :: t_ref2m_u(:)        ! Urban 2 m height surface air temperature (Kelvin)
     real(r8), pointer :: t_ref2m_r(:)        ! Rural 2 m height surface air temperature (Kelvin)
     logical , pointer :: urbpoi(:)           ! true => landunit is an urban point
     logical , pointer :: ifspecial(:)        ! true => landunit is not vegetated
     integer , pointer :: plandunit(:)        ! landunit index associated with each pft
     real(r8), pointer :: vf(:)               ! vernalization factor
     real(r8), pointer :: t_soisno(:,:)       ! soil temperature (K)
     real(r8), pointer :: h2osoi_liq(:,:)     ! liquid water (kg/m2)
     real(r8), pointer :: watsat(:,:)         ! volumetric soil water at saturation (porosity) (nlevgrnd)
     real(r8), pointer :: dz(:,:)             ! layer thickness depth (m)
     real(r8), pointer :: latdeg(:)           ! latitude (radians)
     logical , pointer :: croplive(:)         ! Flag, true if planted, not harvested
     integer , pointer :: pcolumn(:)          ! index into column level quantities
   local pointers to implicit out arguments
     ! heald (04/06): variables to be accumulated for VOC emissions
     real(r8), pointer :: t_veg(:)            ! pft vegetation temperature (Kelvin) 
     real(r8), pointer :: forc_solad(:,:)     ! direct beam radiation (visible only)
     real(r8), pointer :: forc_solai(:,:)     ! diffuse radiation     (visible only)
     real(r8), pointer :: fsun(:)             ! sunlit fraction of canopy 
     real(r8), pointer :: elai(:)             ! one-sided leaf area index with burying by snow 
     ! heald (04/06): accumulated variables for VOC emissions
     real(r8), pointer :: t_veg24(:)          ! 24hr average vegetation temperature (K)
     real(r8), pointer :: t_veg240(:)         ! 240hr average vegetation temperature (Kelvin)
     real(r8), pointer :: fsd24(:)            ! 24hr average of direct beam radiation 
     real(r8), pointer :: fsd240(:)           ! 240hr average of direct beam radiation 
     real(r8), pointer :: fsi24(:)            ! 24hr average of diffuse beam radiation 
     real(r8), pointer :: fsi240(:)           ! 240hr average of diffuse beam radiation 
     real(r8), pointer :: fsun24(:)           ! 24hr average of sunlit fraction of canopy 
     real(r8), pointer :: fsun240(:)          ! 240hr average of sunlit fraction of canopy
     real(r8), pointer :: elai_p(:)           ! leaf area index average over timestep 
 
     real(r8), pointer :: t_ref2m_min(:)      ! daily minimum of average 2 m height surface air temperature (K)
     real(r8), pointer :: t_ref2m_max(:)      ! daily maximum of average 2 m height surface air temperature (K)
     real(r8), pointer :: t_ref2m_min_inst(:) ! instantaneous daily min of average 2 m height surface air temp (K)
     real(r8), pointer :: t_ref2m_max_inst(:) ! instantaneous daily max of average 2 m height surface air temp (K)
     real(r8), pointer :: t_ref2m_min_u(:)    ! Urban daily minimum of average 2 m height surface air temperature (K)
     real(r8), pointer :: t_ref2m_min_r(:)    ! Rural daily minimum of average 2 m height surface air temperature (K)
     real(r8), pointer :: t_ref2m_max_u(:)    ! Urban daily maximum of average 2 m height surface air temperature (K)
     real(r8), pointer :: t_ref2m_max_r(:)    ! Rural daily maximum of average 2 m height surface air temperature (K)
     real(r8), pointer :: t_ref2m_min_inst_u(:) ! Urban instantaneous daily min of average 2 m height surface air temp (K)
     real(r8), pointer :: t_ref2m_min_inst_r(:) ! Rural instantaneous daily min of average 2 m height surface air temp (K)
     real(r8), pointer :: t_ref2m_max_inst_u(:) ! Urban instantaneous daily max of average 2 m height surface air temp (K)
     real(r8), pointer :: t_ref2m_max_inst_r(:) ! Rural instantaneous daily max of average 2 m height surface air temp (K)
     real(r8), pointer :: t10(:)              ! 10-day running mean of the 2 m temperature (K)
 #if (defined CNDV)
     real(r8), pointer :: t_mo(:)             ! 30-day average temperature (Kelvin)
     real(r8), pointer :: t_mo_min(:)         ! annual min of t_mo (Kelvin)
     real(r8), pointer :: prec365(:)          ! 365-day running mean of tot. precipitation
     real(r8), pointer :: agddtw(:)           ! accumulated growing degree days above twmax
     real(r8), pointer :: agdd(:)             ! accumulated growing degree days above 5
     real(r8), pointer :: twmax(:)            ! upper limit of temperature of the warmest month
 #endif
     real(r8), pointer :: gdd0(:)             ! growing degree-days base 0C'
     real(r8), pointer :: gdd8(:)             ! growing degree-days base 8C from planting
     real(r8), pointer :: gdd10(:)            ! growing degree-days base 10C from planting
     real(r8), pointer :: gddplant(:)         ! growing degree-days from planting
     real(r8), pointer :: gddtsoi(:)          ! growing degree-days from planting (top two soil layers)
     real(r8), pointer :: a10tmin(:)          ! 10-day running mean of min 2-m temperature
     real(r8), pointer :: a5tmin(:)           ! 5-day running mean of min 2-m temperature
   !OTHER LOCAL VARIABLES:



Erik Kluzek 2011-06-15