Garden with Insight v1.0 Help: Soil Temperature
Daily average soil temperature at the center of each soil layer is simulated for use in nutrient cycling and
hydrology. The basic soil temperature equation is [Equation 240] where T is the soil temperature at the
center of layer l on day i in degrees C, LAG is a coefficient ranging from 0.0 to 1.0 that allows proper
weighting of yesterday's temperature, Tbar is the longterm average annual air temperature at the site, TG
is the soil surface temperature, and FZ is a depth factor. Thus, given yesterday's temperature, equation 240
estimates today's temperature as a function of soil surface temperature, depth, and a lag coefficient. It is
assumed that the temperature remains almost constant at some depth called damping depth and is
approximately
Tbar.
Equation 240
T = LAG * T(i1) + (1.0  LAG) * (FZ * (Tbar + TG) + TG)
Code:
T = LAG * T(i1) + (1.0  LAG) * (FZ * (Tbar  TG) + TG)
note difference of sign
Variables:
T = SoilTempAtCenterForLayer_degC
T(i1) = yesterdaysSoilTempAtCenter_degC
LAG = soilSurfaceCoverLagFactor_frn
FZ = soilTempDepthWtFactor
Tbar = meanMonthlyMeanMeanTempForYear_degC
TG = soilSurfaceTempWithCover_degC
Depth weighting factor
The depth weighting factor governs temperature changes between the soil surface and the damping
depth according to the equation [Equation 241] where [Equation 242] where Z is soil depth from the
surface in m and DD is the damping depth in m. Obviously, equations 241 and 242 make near surface
temperatures a strong function of TG. As depth increases, Tbar has more influence until finally at the
damping depth, the temperature is within 5% of Tbar.
Equation 241, 242
ZD = (Z(l) + Z(l1)) / (2.0 * DD)
FZ = ZD / (ZD + exp(0.867  2.08 * ZD))
Code:
same
Variables:
FZ = SoilTempDepthWtFactorForLayer
ZD = intermediateFactor
Z(l) = depth_m
Z(l1) = depthUpperLayer_m
DD = dampingDepthForSoilTemp_m
Damping depth
The damping depth is a function of soil bulk density and water content as expressed in the equations
[Equation 243], [Equation 244] and [Equation 245] where DP is the maximum damping depth for soil in
m, BD is the soil bulk density in t/m3, Z(M) is the distance from the bottom of the lowest soil layer to the
surface in m, and squiggle is a scaling parameter.
Equation 243
DP = 1.0 + 2.5 * BD / (BD + exp(6.53  5.63 * BD))
Code:
code has
DP = 1.0 + 2.5 * BD / (BD + 686 * (exp5.63 * BD))
since exp(6.53) = 686 and e(a) * e(b) = e(a+b) this is the same
Variables:
DP = MaxDampingDepthForSoilTemp_m
BD = patchMeanBulkDensity_tPm3
Equation 244
squiggle = 0.001 * SW / ((0.356  0.144 * BD) * Z(M))
Code:
same
Variables:
squiggle = ScalingParamForDampingDepthForSoilTemp
SW = patchTotalSoilWaterContent_mm
BD = patchMeanBulkDensity_tPm3
Z(M) = depthOfLowestLayer_m
Equation 245
DD = DP * exp(ln(0.5/DP) * sqr((1  squiggle) / (1 + squiggle)))
Code:
same
Variables:
DD = DampingDepthForSoilTemp_m
DP = maxDampingDepthForSoilTemp_m
squiggle = scalingParam
Soil surface temperature  bare soil
To complete the solution of equation 240, the soil surface temperature must be estimated. The first
step is to estimate the bare soil surface temperature (TGB). Of course, TBG is usually closely related to air
temperature. Other important factors that also influence TGB are precipitation, solar radiation, and
previous soil temperature. When precipitation occurs, the soil surface temperature usually decreases.
Thus, the appropriate air temperature for estimating TGB is near the daily minimum
TGBW = T(mn) + omega(s) * (T(mx)  T(mn)) (Equation 246)
where TGBW is the bare soil surface temperature on wet day i, and omega(s) is a scaling factor to adjust
for wet days. The value of omega(s) ranges from 0.0 to 1.0, but more realistic results can be obtained
using omega(s) ~~ 0.1.
The companion equation for dry days is derived from the continuity equation (equation 103)
TGBD = T  PW * (T(mn) + omega(s) * (T(mx)  T(mn))) / (1.0  PW) (Equation 247)
where TGBD is the bare soil surface temperature on dry day i, and PW is the probability of a wet day in
month k.
The soil surface temperature is also affected by solar radiation. Therefore, a net radiation term is added to
equations 246 and 247, giving [Equation 248] and [Equation 249] where RAH is the radiation factor.
Equation 248
TGBW = T(mn) + omega(s) * (T(mx)  T(mn)) + RAH
Code:
TGBW = T + NWD/ND * (T(mx)  T(mn))
uses probWetDayForMonth_frn (NWD/ND) as omega(s)
uses mean temp in place of max temp
does not add RAH at the end
Variables:
TGBW = BareSoilSurfaceTempWetDay_degC
omega(s) = probWetDayForMonth_frn
Equation 249
TGBD = (T  PW * (T(mn) + omega(s) * (T(mx)  T(mn)))) / (1.0  PW) + RAH
Code:
TGBD = PW * (T(mx)  T) + T + RAH
quite different. cannot explain.
Variables:
TGBD = BareSoilSurfaceTempDryDay_degC
T(mx) = meanMaxTempForDay_degC
T(mn) = meanMinTempForDay_degC
T = meanTempForDay_degC
RAH = bareSoilSurfaceTempRadiationFactor
Radiation factor for bare soil surface temperature
The radiation factor RAH is estimated with the equation [Equation 250] where solar radiation, RA,
albedo, AB, and the cover factor, EA are discussed and evaluated in the Evapotranspiration section.
Equation 250 increases surface soil temperatures when radiation is high but also makes adjustments for
albedo and cover. Low radiation can also cause up to a two degree C drop in surface temperature.
Equation 250
RAH = 2.0 * (sqr((RA * (1.0  AB) * EA) / 15.0)  1.0)
Code:
same
Variables:
RAH = BareSoilSurfaceTempRadiationFactor
RA = radiationForDay_MJPm2
AB = albedo_frn
EA = soilCoverIndex_frn
Soil surface temperature  nonbare soil (crop residue or snow)
If the soil surface is not bare, the surface temperature can be affected considerably by the amount of
cover (crop residue or snow). This effect can be simulated by combining the estimated bare surface
temperature for the day with the previous day's temperature in the second soil layer (the top 10 mm layer
is considered too thin for this purpose) [Equation 251] where TG is the final estimate of soil surface
temperature in degrees C and bcv is a lagging factor for simulating residue and snow cover effects on
surface temperature.
Equation 251
TG = bcv * T(2) + (1.0  bcv) * TGB*
Code:
same
Variables:
TG = SurfaceLayerSoilTemp_degC
bcv = soilSurfaceTempCoverLagFactor_frn
T(2) = yesterdaysSoilTempInSecondLayer_degC
TGB* = soilSurfaceTempBare_degC
Lag factor for nonbare soil
The value of bcv is 0 for bare soil and approaches 1.0 as cover increases, as expressed in the equation
[Equation 252] where CV is the sum of above ground biomass and crop residue in t/ha and SNO is the
water content of the snow cover in mm.
Equation 252
bcv = max( CV / (CV + exp(5.34 + 2.4 * CV)), SNO / (SNO + exp(2.303  0.2197 * SNO)) )
Code:
bcv = max( CV / (CV + exp(5.34  2.4 * CV)), SNO / (SNO + exp(2.303  0.2197 * SNO)) )
note sign difference
in code, CV part is commented out and also is 0 if CV > 10
in code, aResult is multiplied by 0.95
Used CV part with > 0 instead of < 10, and changed sign to + as in publication.
Variables:
bcv = SoilSurfaceTempCoverLagFactor_frn
CV = aboveGroundBiomassAndResidue_tPha
SNO = snowWaterContent_mm
