Function hydrology_soilWaterBalance
estimates water balance of soil layers given water inputs/outputs, including the simulation of water movement within the soil.
hydrology_soilWaterBalance(
soil,
soilFunctions,
rainfallInput,
rainfallIntensity,
snowmelt,
sourceSink,
runon = 0,
lateralFlows = NULL,
waterTableDepth = NA_real_,
infiltrationMode = "GreenAmpt1911",
K_infiltration_correction = 5,
soilDomains = "single",
nsteps = 24L,
max_nsubsteps = 3600L,
modifySoil = TRUE
)
Object of class soil
.
Soil water retention curve and conductivity functions, either 'SX' (for Saxton) or 'VG' (for Van Genuchten).
Amount of water from rainfall event (after excluding interception), in mm.
Rainfall intensity, in mm/h.
Amount of water originated from snow melt, in mm.
Local source/sink term for each soil layer (from soil evaporation or plant transpiration/redistribution) as mm/day.
Surface water amount running on the target area from upslope (in mm).
Lateral source/sink terms for each soil layer (interflow/to from adjacent locations) as mm/day.
Water table depth (in mm). When not missing, capillarity rise will be allowed if lower than total soil depth.
Infiltration model, either "GreenAmpt1911" or "Boughton1989"
Either "single" (for single-domain) or "dual" (for dual-permeability).
Number of time steps per day
Maximum number of substeps per time step
Boolean flag to indicate that the input soil
object should be modified during the simulation.
Returns a named vector with different elements, depending on soilDomains
. If
soilDomains == "single"
:
Snowmelt
: Snowmelt input (mm).
Source/sinks
: Sum of source/sink input across layers (mm).
Infiltration
: Water infiltrated into the soil (mm).
InfiltrationExcess
: Excess infiltration in the topmost layer (mm) leading to an increase in runoff.
SaturationExcess
: Excess saturation in the topmost layer (mm) leading to an increase in runoff.
Runoff
: Surface runoff generated by saturation excess or infiltration excess (mm).
DeepDrainage
: Water draining from the bottom layer (mm). This quantity is corrected to close the water balance.
CapillarityRise
: Water entering the soil via capillarity rise (mm) from the water table, if waterTableDepth
is supplied.
Correction
: Amount of water (mm) added to deep drainage to correct the water balance.
VolumeChange
: Change in soil water volume (mm).
Substep
: Time step of the moisture solving (seconds).
If soilDomains == "dual"
the named vector contains the following additional elements:
Lateral flows
: Sum of water circulating between micropores and macropores, positive when filling micropores (mm).
InfiltrationMatrix
: Water infiltrated into the soil matrix (mm).
InfiltrationMacropores
: Water infiltrated into the soil macropore domain (mm).
InfiltrationExcessMatrix/InfiltrationExcessMacropores
: Excess infiltration in the topmost layer (mm) leading to an increase in runoff.
SaturationExcessMatrix/SaturationExcessMacropores
: Excess saturation in the topmost layer (mm) leading to an increase in runoff.
DrainageMatrix
: Water draining from the bottom layer of the matrix domain (mm). This quantity is corrected to close water balance in the micropore domain.
DrainageMacropores
: Water draining from the bottom layer of the macropore domain (mm). This quantity is corrected to close the water balance in the macropore domain.
CorrectionMatrix
: Amount of water (mm) added to deep drainage of soil matrix to correct the water balance.
CorrectionMacropores
: Amount of water (mm) added to deep drainage of macropores to correct the water balance.
MatrixVolumeChange
: Change in soil water volume in the soil matrix domain (mm).
MacroporeVolumeChange
: Change in soil water volume in the macropore domain (mm).
The single-domain model simulates water flows by solving Richards's equation using the predictor-corrector method, as described in Bonan et al. (2019).
The dual-permeability model is an implementation of the model MACRO 5.0 (Jarvis et al. 1991; Larsbo et al. 2005).
Bonan, G. (2019). Climate change and terrestrial ecosystem modeling. Cambridge University Press, Cambridge, UK.
Jarvis, N.J., Jansson, P‐E., Dik, P.E. & Messing, I. (1991). Modelling water and solute transport in macroporous soil. I. Model description and sensitivity analysis. Journal of Soil Science, 42, 59–70.
Larsbo, M., Roulier, S., Stenemo, F., Kasteel, R. & Jarvis, N. (2005). An Improved Dual‐Permeability Model of Water Flow and Solute Transport in the Vadose Zone. Vadose Zone Journal, 4, 398–406.
# Initialize soil example
examplesoil <- soil(defaultSoilParams(4))
# Water balance in a single-domain simulation (Richards equation)
hydrology_soilWaterBalance(examplesoil, "VG", 10, 5, 0, c(-1,-1,-1,-1),
soilDomains = "single", modifySoil = FALSE)
#> Local source/sinks Lateral source/sinks Infiltration
#> -4.000000000 0.000000000 10.000000000
#> InfiltrationExcess SaturationExcess Runoff
#> 0.000000000 0.000000000 0.000000000
#> DeepDrainage CapillarityRise Correction
#> 0.007104451 0.001319072 -0.001286961
#> VolumeChange Substeps
#> 5.994214620 24.000000000
# Water balance in a dual-permeability model (MACRO)
hydrology_soilWaterBalance(examplesoil, "VG", 10, 5, 0, c(-1,-1,-1,-1),
soilDomains = "dual", modifySoil = FALSE)
#> Local source/sinks Lateral source/sinks
#> -4.000000e+00 0.000000e+00
#> Matrix-macropore flow InfiltrationMatrix
#> 4.836043e+00 4.481027e+00
#> InfiltrationMacropores InfiltrationExcessMatrix
#> 5.518973e+00 0.000000e+00
#> InfiltrationExcessMacropores SaturationExcessMatrix
#> 0.000000e+00 0.000000e+00
#> SaturationExcessMacropores DrainageMatrix
#> 0.000000e+00 2.868408e-02
#> DrainageMacropores CapillarityMatrix
#> 1.175592e-05 4.889593e-03
#> CapillarityMacropores CorrectionMatrix
#> 7.866534e-06 -4.573672e-03
#> CorrectionMacropores MatrixVolumeChange
#> 3.889382e-06 5.293276e+00
#> MacroporeVolumeChange Infiltration
#> 6.829261e-01 1.000000e+01
#> InfiltrationExcess SaturationExcess
#> 0.000000e+00 0.000000e+00
#> Runoff DeepDrainage
#> 0.000000e+00 2.869584e-02
#> CapillarityRise Correction
#> 4.897460e-03 -4.569782e-03
#> VolumeChange Substeps
#> 5.976202e+00 2.400000e+01