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 Hydrology2ModREVISION 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