This function is called to calculate soil temperature (C) as in Beckman et al. (1973)
. This function calls soil_temperature_function
, which uses ODEs to calculate a soil profile using equations from deVries (1963)
soil_temperature(
z_r.intervals = 12,
z_r,
z,
T_a,
u,
Tsoil0,
z0,
SSA,
TimeIn,
S,
water_content = 0.2,
air_pressure,
rho_so = 1620,
shade = FALSE
)
numeric
the number of intervals in the soil profile to calculate, defaults to 12.
numeric
reference height (m).
numeric
interval of the soil profile to return (1 to z_r.intervals
).
numeric
vector of air temperature (degrees C), Note: missing values will be linearly interpolated.
numeric
vector of wind speeds (m s-1).
numeric
initial soil temperature (degrees C).
numeric
surface roughness (m).
numeric
solar absorptivity of soil surface as a fraction.
numeric
vector of time periods for the model.
numeric
vector of solar radiation (W m-2).
numeric
percent water content (percent).
numeric
air pressure (kPa).
numeric
particle density of soil.
logical
whether or not soil temperature should be calculated in the shade.
numeric
soil temperature (C).
Beckman WA, Mitchell JW, Porter WP (1973).
“Thermal Model for Prediction of a Desert Iguana's Daily and Seasonal Behavior.”
Journal of Heat Transfer, 95(2), 257-262.
doi:10.1115/1.3450037
.
deVries DA (1963).
“Thermal Properties of Soils.”
In Physics of Plant Environment.
North Holland Publishing Company.
doi:10.1002/qj.49709038628
.
Other soil temperature functions:
soil_conductivity()
,
soil_specific_heat()
,
soil_temperature_equation()
,
soil_temperature_function()
,
soil_temperature_integrand()
set.seed(123)
temp_vector <- runif(48, min = -10, max = 10)
wind_speed_vector <- runif(48, min = 0, max = 0.4)
time_vector <- rep(1:24, 2)
solrad_vector <- rep(c(rep(0, 6),
seq(10, 700, length.out = 6),
seq(700, 10, length.out = 6),
rep(0, 6)),
2)
soil_temperature(z_r.intervals = 12,
z_r = 1.5,
z = 2,
T_a = temp_vector,
u = wind_speed_vector,
Tsoil0 = 20,
z0 = 0.02,
SSA = 0.7,
TimeIn = time_vector,
S = solrad_vector,
water_content = 0.2,
air_pressure = 85,
rho_so = 1620,
shade = FALSE)
#> [1] 20.000000 12.337271 11.177472 9.282924 9.515928 9.273568 5.871879
#> [8] 5.846617 10.016769 12.986571 15.659899 22.008877 26.224605 28.457155
#> [15] 28.642127 23.760024 23.084324 15.599727 10.396339 8.164182 9.717859
#> [22] 9.109165 7.805942 6.678911 7.768406 6.065471 5.831465 4.620950
#> [29] 4.296691 2.627543 1.032975 3.941641 7.261893 10.726785 15.266850
#> [36] 17.520869 22.642117 28.046496 24.642633 20.342835 16.389316 11.765335
#> [43] 9.446022 7.772388 5.767417 4.131153 2.547758 2.282975