INTERFACE:
subroutine CombineSnowLayers(lbc, ubc, num_snowc, filter_snowc)DESCRIPTION:
Combine snow layers that are less than a minimum thickness or mass If the snow element thickness or mass is less than a prescribed minimum, then it is combined with a neighboring element. The subroutine clm_combo.f90 then executes the combination of mass and energy.
USES:
use clmtype use clm_varcon, only : istsoil, isturb use clm_varcon, only : istcropARGUMENTS:
implicit none integer, intent(in) :: lbc, ubc ! column bounds integer, intent(inout) :: num_snowc ! number of column snow points in column filter integer, intent(inout) :: 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. 03/28/08, Mark Flanner: Added aerosol masses and snow grain radiusLOCAL VARIABLES:
local pointers to implicit in arguments integer, pointer :: clandunit(:) !landunit index for each column integer, pointer :: ltype(:) !landunit type local pointers to implicit inout arguments integer , pointer :: snl(:) !number of snow layers real(r8), pointer :: h2osno(:) !snow water (mm H2O) real(r8), pointer :: snowdp(:) !snow height (m) real(r8), pointer :: dz(:,:) !layer depth (m) real(r8), pointer :: zi(:,:) !interface level below a "z" level (m) 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 out arguments real(r8), pointer :: z(:,:) ! layer thickness (m) real(r8), pointer :: mss_bcphi(:,:) ! hydrophilic BC mass in snow (col,lyr) [kg] real(r8), pointer :: mss_bcpho(:,:) ! hydrophobic BC mass in snow (col,lyr) [kg] real(r8), pointer :: mss_ocphi(:,:) ! hydrophilic OC mass in snow (col,lyr) [kg] real(r8), pointer :: mss_ocpho(:,:) ! hydrophobic OC mass in snow (col,lyr) [kg] real(r8), pointer :: mss_dst1(:,:) ! dust species 1 mass in snow (col,lyr) [kg] real(r8), pointer :: mss_dst2(:,:) ! dust species 2 mass in snow (col,lyr) [kg] real(r8), pointer :: mss_dst3(:,:) ! dust species 3 mass in snow (col,lyr) [kg] real(r8), pointer :: mss_dst4(:,:) ! dust species 4 mass in snow (col,lyr) [kg] real(r8), pointer :: snw_rds(:,:) ! effective snow grain radius (col,lyr) [microns, m^-6] !OTHER LOCAL VARIABLES: