next up previous contents
Next: Infiltration Up: Fortran: Module Interface SoilHydrologyMod Previous: Fortran: Module Interface SoilHydrologyMod   Contents

SurfaceRunoff


INTERFACE:

   subroutine SurfaceRunoff (c, zwice, vol_liq, s, zwt, &
                             fcov )
DESCRIPTION:

   Calculate surface runoff
   The original code was provide by Robert E. Dickinson based on 
   following clues:  exponential decrease of Ksat, a water table 
   level determination level including highland and lowland levels 
   and fractional area of wetland (water table above the surface). 
   Runoff is parameterized from the lowlands in terms of precip 
   incident on wet areas and a base flow, where these are estimated 
   using ideas from TOPMODEL.
   The original scheme was modified by Z.-L. Yang and G.-Y. Niu,
   o  using a new method to determine water table depth and
      the fractional wet area (fcov)
   o  computing runoff (surface and subsurface) from this
      fraction and the remaining fraction (i.e. 1-fcov)
   o  for the 1-fcov part, using BATS1e method to compute
      surface and subsurface runoff.
   The original code on soil moisture and runoff were provided by 
   R. E. Dickinson in July 1996.
USES:
     use shr_kind_mod, only: r8 => shr_kind_r8
     use clmtype
     use globals
     use clm_varcon, only : denice, denh2o, wimp
     use clm_varpar, only : nlevsoi
ARGUMENTS:
     implicit none
     type (column_type),target,intent(inout):: c		!column derived type
     real(r8), intent(out) :: zwice              ! the sum of ice mass of soil (kg/m2)
     real(r8), intent(out) :: vol_liq(1:nlevsoi) ! partial volume of liquid water in layer
     real(r8), intent(out) :: s(1:nlevsoi)       ! wetness of soil (including ice)
     real(r8), intent(out) :: zwt                ! water table depth
     real(r8), intent(out) :: fcov               ! fractional area with water table at surface
CALLED FROM:
   subroutine BiogeophysicsLake in module BiogeophysicsLakeMod 
   subroutine Hydrology2 in module Hydrology2Mod
REVISION HISTORY:
   15 September 1999: Yongjiu Dai; Initial code
   12 November 1999:  Z.-L. Yang and G.-Y. Niu
   15 December 1999:  Paul Houser and Jon Radakovich; F90 Revision 
   2/26/02, Peter Thornton: Migrated to new data structures.
LOCAL VARIABLES:
   local pointers to original implicit in arguments
     real(r8),pointer:: wtfact        !Fraction of model area with high water table
     real(r8),pointer:: qflx_top_soil !net water input into soil from top (mm/s)
   local pointers to original implicit out arguments
     real(r8),pointer:: qflx_surf     !surface runoff (mm H2O /s)
   local pointers to original implicit in arrays
     real(r8),dimension(:),pointer:: watsat !volumetric soil water at saturation (porosity)
     real(r8),dimension(:),pointer:: dz     !layer depth (m)
     real(r8),dimension(:),pointer:: zi     !interface level below a "z" level (m)
     real(r8),dimension(:),pointer:: h2osoi_ice   !ice lens (kg/m2) 
     real(r8),dimension(:),pointer:: h2osoi_liq   !liquid water (kg/m2)
   local pointers to original implicit out arrays
     real(r8),dimension(:),pointer:: eff_porosity !effective porosity = porosity - vol_ice



Mariana Vertenstein 2003-01-14