next up previous contents
Next: DivideSnowLayers Up: Fortran: Module Interface SNICARMod Previous: SnowCompaction   Contents

CombineSnowLayers


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 : istcrop
ARGUMENTS:
     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 points
CALLED FROM:
   subroutine Hydrology2 in module Hydrology2Mod
REVISION 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 radius
LOCAL 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:



Erik Kluzek 2011-06-15