INTERFACE:
subroutine SnowCompaction(lbc, ubc, num_snowc, filter_snowc)DESCRIPTION:
Determine the change in snow layer thickness due to compaction and settling. Three metamorphisms of changing snow characteristics are implemented, i.e., destructive, overburden, and melt. The treatments of the former two are from SNTHERM.89 and SNTHERM.99 (1991, 1999). The contribution due to melt metamorphism is simply taken as a ratio of snow ice fraction after the melting versus before the melting.
USES:
use clmtype use clm_time_manager, only : get_step_size use clm_varcon , only : denice, denh2o, tfrz, istice_mecARGUMENTS:
implicit none integer, intent(in) :: lbc, ubc ! column bounds integer, intent(in) :: num_snowc ! number of column snow points in column filter integer, intent(in) :: filter_snowc(ubc-lbc+1) ! column filter for snow pointsCALLED FROM:
subroutine Hydrology2 in module Hydrology2ModREVISION HISTORY:
15 September 1999: Yongjiu Dai; Initial code 15 December 1999: Paul Houser and Jon Radakovich; F90 Revision 2/28/02, Peter Thornton: Migrated to new data structures 2/29/08, David Lawrence: Revised snow overburden to be include 0.5 weight of current layerLOCAL VARIABLES:
local pointers to implicit in scalars integer, pointer :: snl(:) !number of snow layers local pointers to implicit in arguments integer, pointer :: imelt(:,:) !flag for melting (=1), freezing (=2), Not=0 real(r8), pointer :: frac_iceold(:,:) !fraction of ice relative to the tot water real(r8), pointer :: t_soisno(:,:) !soil temperature (Kelvin) real(r8), pointer :: h2osoi_ice(:,:) !ice lens (kg/m2) real(r8), pointer :: h2osoi_liq(:,:) !liquid water (kg/m2) local pointers to implicit inout arguments real(r8), pointer :: dz(:,:) !layer depth (m) !OTHER LOCAL VARIABLES: