hydrology_soil: Soil infiltration, percolation and bare soil evaporation

hydrology_soilEvaporationAmountR Documentation

Soil infiltration, percolation and bare soil evaporation

Description

Function hydrology_infiltrationAmount calculates the amount of water that infiltrates into the topsoil, according to the USDA SCS curve number method (Boughton 1989). The remaining is assumed to be lost as surface runoff. Function hydrology_soilEvaporationAmount calculates the amount of evaporation from bare soil, following Ritchie (1972). Function hydrology_snowMelt calculates the maximum amount of snowmelt according to Kergoat (1998).

Usage

hydrology_soilEvaporationAmount(DEF, PETs, Gsoil)

hydrology_soilEvaporation(
  soil,
  soilFunctions,
  pet,
  LgroundSWR,
  modifySoil = TRUE
)

hydrology_herbaceousTranspiration(
  pet,
  LherbSWR,
  herbLAI,
  soil,
  soilFunctions,
  modifySoil = TRUE
)

hydrology_infiltrationRepartition(I, dVec, macro, a = -0.005, b = 3)

hydrology_snowMelt(tday, rad, LgroundSWR, elevation)

hydrology_infiltrationAmount(input, Ssoil)

Arguments

DEF

Water deficit in the (topsoil) layer.

PETs

Potential evapotranspiration at the soil surface.

Gsoil

Gamma parameter (maximum daily evaporation).

soil

An object of class soil.

soilFunctions

Soil water retention curve and conductivity functions, either 'SX' (for Saxton) or 'VG' (for Van Genuchten).

pet

Potential evapotranspiration for a given day (mm)

LgroundSWR

Percentage of short-wave radiation (SWR) reaching the ground.

modifySoil

Boolean flag to indicate that the input soil object should be modified during the simulation.

LherbSWR

Percentage of short-wave radiation (SWR) reaching the herbaceous layer.

herbLAI

Leaf area index of the herbaceous layer.

I

Soil infiltration (in mm of water).

dVec

Width of soil layers (in mm).

macro

Macroporosity of soil layers (in %).

a, b

Parameters of the extinction function used for water infitration.

tday

Average day temperature (ºC).

rad

Solar radiation (in MJ/m2/day).

elevation

Altitude above sea level (m).

input

A numeric vector of (daily) water input (in mm of water).

Ssoil

Soil water storage capacity (can be referred to topsoil) (in mm of water).

Details

See description of infiltration and soil evaporation processes in De Caceres et al. (2015).

Value

Function hydrology_infiltrationAmount a vector of the same length as input containing the daily amount of water that infiltrates into the soil (in mm of water).

Function hydrology_infiltrationRepartition estimates the amount of infiltrated water that reaches each soil layer.

Function hydrology_soilEvaporationAmount returns the amount of water evaporated from the soil.

Function hydrology_soilEvaporation returns a vector of water evaporated from each soil layer.

Author(s)

Miquel De Cáceres Ainsa, CREAF

References

Boughton (1989). A review of the USDA SCS curve number method. - Australian Journal of Soil Research 27: 511-523.

De Cáceres M, Martínez-Vilalta J, Coll L, Llorens P, Casals P, Poyatos R, Pausas JG, Brotons L. (2015) Coupling a water balance model with forest inventory data to evaluate plant drought stress at the regional level. Agricultural and Forest Meteorology.

Kergoat L. (1998). A model for hydrological equilibrium of leaf area index on a global scale. Journal of Hydrology 212–213: 268–286.

Ritchie (1972). Model for predicting evaporation from a row crop with incomplete cover. - Water resources research.

See Also

spwb, hydrology_soilWaterInputs

Examples

SoilDepth = c(200,400,800,1200,1500)

#TOPSOIL LAYERS
d1 = pmin(SoilDepth, 300) #<300
#SUBSOIL LAYERS
d2 = pmax(0, pmin(SoilDepth-300,1200)) #300-1500 mm
#ROCK LAYER
d3 = 4000-(d1+d2) #From SoilDepth down to 4.0 m

TS_clay = 15
TS_sand = 25
SS_clay = 15
SS_sand = 25
RL_clay = 15
RL_sand = 25
TS_gravel = 20
SS_gravel = 40
RL_gravel = 95

Theta_FC1=soil_psi2thetaSX(TS_clay, TS_sand, -33) #in m3/m3
Theta_FC2=soil_psi2thetaSX(SS_clay, SS_sand, -33) #in m3/m3
Theta_FC3=soil_psi2thetaSX(RL_clay, RL_sand, -33) #in m3/m3
pcTS_gravel = 1-(TS_gravel/100)
pcSS_gravel = 1-(SS_gravel/100)
pcRL_gravel = 1-(RL_gravel/100)
MaxVol1 = (d1*Theta_FC1*pcTS_gravel)
MaxVol2 = (d2*Theta_FC2*pcSS_gravel)
MaxVol3 = (d3*Theta_FC3*pcRL_gravel)
V = MaxVol1+MaxVol2+MaxVol3

par(mar=c(5,5,1,1), mfrow=c(1,2))
NP = seq(0,60, by=1)
plot(NP,hydrology_infiltrationAmount(NP, V[1]), type="l", xlim=c(0,60), ylim=c(0,60), 
     ylab="Infiltration (mm)", xlab="Net rainfall (mm)", frame=FALSE)
lines(NP,hydrology_infiltrationAmount(NP, V[2]), lty=2)
lines(NP,hydrology_infiltrationAmount(NP, V[3]), lty=3)
lines(NP,hydrology_infiltrationAmount(NP, V[4]), lty=4)
lines(NP,hydrology_infiltrationAmount(NP, V[5]), lty=5)
legend("topleft", bty="n", lty=1:5, 
       legend=c(paste("d =", SoilDepth, "Vsoil =",round(V),"mm")))
plot(NP,NP-hydrology_infiltrationAmount(NP, V[1]), type="l", xlim=c(0,60), ylim=c(0,60), 
     ylab="Runoff (mm)", xlab="Net rainfall (mm)", frame=FALSE)
lines(NP,NP-hydrology_infiltrationAmount(NP, V[2]), lty=2)
lines(NP,NP-hydrology_infiltrationAmount(NP, V[3]), lty=3)
lines(NP,NP-hydrology_infiltrationAmount(NP, V[4]), lty=4)
lines(NP,NP-hydrology_infiltrationAmount(NP, V[5]), lty=5)
legend("topleft", bty="n", lty=1:5, 
       legend=c(paste("d =", SoilDepth,"Vsoil =",round(V),"mm")))


medfate documentation built on Aug. 29, 2023, 5:07 p.m.