next up previous contents
Next: Fortran: Module Interface Hydrology2Mod Up: Fortran: Module Interface Hydrology1Mod Previous: Fortran: Module Interface Hydrology1Mod   Contents

Hydrology1


INTERFACE:

   subroutine Hydrology1 (c)
DESCRIPTION:

   Calculation of 
   (1) water storage of intercepted precipitation
   (2) direct throughfall and canopy drainage of precipitation
   (3) the fraction of foliage covered by water and the fraction
       of foliage that is dry and transpiring. 
   (4) snow layer initialization if the snow accumulation exceeds 10 mm.
   Note:  The evaporation loss is taken off after the calculation of leaf 
   temperature in the subroutine clm_leaftem.f90, not in this subroutine.
USES:
     use shr_kind_mod, only: r8 => shr_kind_r8
     use clmtype
     use globals, only: dtime
     use clm_varcon, only : tfrz, istice, istwet, istsoil
     use FracWetMod, only : FracWet
ARGUMENTS:
     implicit none
     type (column_type),target,intent(inout):: c		!column derived type
CALLED FROM:
   subroutine driver
REVISION HISTORY:
   15 September 1999: Yongjiu Dai; Initial code
   15 December 1999:  Paul Houser and Jon Radakovich; F90 Revision 
   2/15/02, Peter Thornton: Migrated to new data structures. Required
   adding a PFT loop.
LOCAL VARIABLES:
   local pointers to original implicit in scalars
     integer , pointer :: itypwat      !water type
     integer , pointer :: itypprc      !precipitatin type
     real(r8), pointer :: forc_rain    !rain rate [mm/s]
     real(r8), pointer :: forc_snow    !snow rate [mm/s]
     real(r8), pointer :: forc_t       !atmospheric temperature (Kelvin)
     logical , pointer :: do_capsnow   !true => do snow capping
     real(r8), pointer :: t_grnd       !ground temperature (Kelvin)
     real(r8), pointer :: dewmx        !Maximum allowed dew [mm]
     integer , pointer :: frac_veg_nosno !fraction of veg not covered by snow (0/1 now) [-]
     real(r8), pointer :: elai         !one-sided leaf area index with burying by snow
     real(r8), pointer :: esai         !one-sided stem area index with burying by snow
   local pointers to original implicit inout scalars
     integer , pointer :: snl          !number of snow layers
     real(r8), pointer :: snowage      !non dimensional snow age [-]
     real(r8), pointer :: snowdp       !snow height (m)
     real(r8), pointer :: h2osno       !snow water (mm H2O)
     real(r8), pointer :: h2ocan       !canopy water (mm H2O)
   local pointers to original implicit out scalars
     real(r8), pointer :: qflx_prec_intr  !interception of precipitation [mm/s]
     real(r8), pointer :: qflx_prec_grnd  !water onto ground including canopy runoff [kg/(m2 s)]
     real(r8), pointer :: qflx_snowcap    !excess precipitation due to snow capping (mm H2O /s) [+]
     real(r8), pointer :: qflx_snow_grnd  !snow on ground after interception (mm H2O/s) [+]
     real(r8), pointer :: qflx_rain_grnd  !rain on ground after interception (mm H2O/s) [+]
   local pointers to original implicit out arrays
     real(r8), dimension(:), pointer :: zi           !interface level below a "z" level (m)
     real(r8), dimension(:), pointer :: dz           !layer depth (m)
     real(r8), dimension(:), pointer :: z            !layer thickness (m)
     real(r8), dimension(:), pointer :: t_soisno     !soil temperature (Kelvin)
     real(r8), dimension(:), pointer :: h2osoi_ice   !ice lens (kg/m2)
     real(r8), dimension(:), pointer :: h2osoi_liq   !liquid water (kg/m2)
     real(r8), dimension(:), pointer :: frac_iceold  !fraction of ice relative to the tot water



Mariana Vertenstein 2003-01-14