soil_temperature {TrenchR}R Documentation

Calculate Soil Temperature using ODEs

Description

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)

Usage

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
)

Arguments

z_r.intervals

numeric the number of intervals in the soil profile to calculate, defaults to 12.

z_r

numeric reference height (m).

z

numeric interval of the soil profile to return (1 to z_r.intervals).

T_a

numeric vector of air temperature (degrees C), Note: missing values will be linearly interpolated.

u

numeric vector of wind speeds (m s-1).

Tsoil0

numeric initial soil temperature (degrees C).

z0

numeric surface roughness (m).

SSA

numeric solar absorptivity of soil surface as a fraction.

TimeIn

numeric vector of time periods for the model.

S

numeric vector of solar radiation (W m-2).

water_content

numeric percent water content (percent).

air_pressure

numeric air pressure (kPa).

rho_so

numeric particle density of soil.

shade

logical whether or not soil temperature should be calculated in the shade.

Value

numeric soil temperature (C).

Author(s)

Joseph Grigg

References

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.

See Also

Other soil temperature functions: soil_conductivity(), soil_specific_heat(), soil_temperature_equation(), soil_temperature_function(), soil_temperature_integrand()

Examples

  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)


[Package TrenchR version 1.1.1 Index]