INTERFACE:
subroutine SoilThermProp (tk, cv, c)DESCRIPTION:
Calculation of thermal conductivities and heat capacities of
snow/soil layers
(1) The volumetric heat capacity is calculated as a linear combination
in terms of the volumetric fraction of the constituent phases.
(2) The thermal conductivity of soil is computed from the algorithm of
Johansen (as reported by Farouki 1981), and of snow is from the
formulation used in SNTHERM (Jordan 1991).
The thermal conductivities at the interfaces between two neighboring
layers (j, j+1) are derived from an assumption that the flux across
the interface is equal to that from the node j to the interface and the
flux from the interface to the node j+1.
USES:
use shr_kind_mod, only: r8 => shr_kind_r8
use clmtype
use clm_varcon, only : denh2o, denice, tfrz, tkwat, tkice, tkair, &
cpice, cpliq, istice, istwet
use clm_varpar, only : nlevsoi
ARGUMENTS:
implicit none
type (column_type),target,intent(inout):: c !column derived type
real(r8), intent(out) :: cv(c%cps%snl+1:nlevsoi) ! heat capacity [J/(m2 K)]
real(r8), intent(out) :: tk(c%cps%snl+1:nlevsoi) ! thermal conductivity [W/(m K)]\end{verbatim}{\sf CALLED FROM:}
\begin{verbatim} subroutine SoilTemperature in this module
REVISION HISTORY:
15 September 1999: Yongjiu Dai; Initial code 15 December 1999: Paul Houser and Jon Radakovich; F90 Revision 2/13/02, Peter Thornton: migrated to new data structuresLOCAL VARIABLES:
local pointers to original implicit in scalars
integer , pointer :: itypwat !water type
integer , pointer :: snl !number of snow layers
real(r8), pointer :: h2osno !snow water (mm H2O)
local pointers to original implicit in arrays
real(r8), dimension(:), pointer:: watsat !volumetric soil water at saturation (porosity)
real(r8), dimension(:), pointer:: tksatu !thermal conductivity, saturated soil [W/m-K]
real(r8), dimension(:), pointer:: tkmg !thermal conductivity, soil minerals [W/m-K]
real(r8), dimension(:), pointer:: tkdry !thermal conductivity, dry soil (W/m/Kelvin)
real(r8), dimension(:), pointer:: csol !heat capacity, soil solids (J/m**3/Kelvin)
real(r8), dimension(:), pointer:: dz !layer depth (m)
real(r8), dimension(:), pointer:: zi !interface level below a "z" level (m)
real(r8), dimension(:), pointer:: z !layer thickness (m)
real(r8), dimension(:), pointer:: t_soisno !soil temperature (Kelvin)
real(r8), dimension(:), pointer:: h2osoi_liq !liquid water (kg/m2)
real(r8), dimension(:), pointer:: h2osoi_ice !ice lens (kg/m2)