Description Usage Arguments Details Value See Also Examples
hydromodel_time
is a time-series implementation of the Mahrt and Pan two-layer
model of soil hydrology for a point location.
1 2 3 4 | hydromodel_time(rain, cre, sp, theta1 = 0.35, theta2 = 0.35,
surface = 0, add.surplus = F, z1 = 5, z2 = 95, cn = 82,
cover = 0.8, topratio = 0.5, timestep = 86400, n2 = 1.1,
Ksat2 = 0)
|
rain |
a vector of rainfall (mm per time step) |
cre |
a vector of crop reference evapotranspirations (mm per timestep) as returned by
|
sp |
a list of van Genuchten soil parameters as returned by |
theta1 |
initial soil water fraction of top layer |
theta2 |
initial soil water fraction of bottom layer |
surface |
surface water depth (mm) |
add.surplus |
logical indicating whether to add surface water to rainfall in each time-step (see details) |
z1 |
assumed depth of top soil layer 1 (cm) |
z2 |
assumed depth of bottom soil layer 2 (cm) |
cn |
Runoff curve number (see details) |
cover |
Fraction of vegetation cover |
topratio |
ratio of root water uptake from top layer relative to bottom layer |
timestep |
number of seconds in each time step of model run (default one day) |
n2 |
optional pore size distribution parameter for controlling ground-water seepage (see details) |
Ksat2 |
optional saturated hydraulic conductivity parameter for controlling ground-water seepage (see details) |
Implementation of Mahrt and Pan (1984) two-layer model of soil hydrology for applications where only computer time and complexity are restricted. Volumetric soil water is computed in a thin upper layer for use in calculation of surface evaporation. Water storage is computed for an underlying deeper layer. Precipitation enters the top soil layer, but any precipitation that cannot infiltrate or re-evaporate is specified to be runoff. The rate and direction of exchange of water between the soil layers is determined by soil moisture-dependent hydraulic diffusivity and conductivity and by the difference in soil moisture between the two layers. Evapotranspiration is assumed to occur from the vegetated portion of the basin, and can be partioned between both layers.
Soil moisture-dependent hydraulic diffusivity and conductivity are
calculated using the van Genuchten equation (van Genuchten 1980 Soil Science Society of America Journal
44:892-898), and the parameters n
, alpha
, Ksat
, Smax
and Smin
(see getsoilparams()
) control the relationship
with soil moisture. The van Genuchten parameters for major soil types are shown in soilparams.
The paramaters n2
and Ksat2
are equivelent to n
and Ksat
, but control ground water
seepage rates. Setting Ksat2
to zero assumes ground water seepage. Paramaters for the
van Genuchten equation should be in units of centimeters and days. Correction for shorter time-scales
is automatically applied.
For simplicity, the diffusion of soil water across the bottom of the lower layer is neglected since gradients and resulting fluxes at this depth are generally unimportant, except over longer time-scales. Exceptions include a high water table and the advance of a deep ‘wetting front’. In the latter case, the thickness of the model should be increased.
Surface runoff is dependent on the porosity of the soil and is controlled by a run-off curve number, itself dependent on soil type, land cover and soil condition. Runoff curve numbers can be obtained from here: https://www.wcc.nrcs.usda.gov/ftpref/wntsc/H&H/training/runoff-curve-numbers1.pdf. If add.surplus is set to false (the default), runoff is assumed to leave the basin. If set to true, it is added to rainfall at each time step.
a list of three vectors: sm1
a vector of soil water fractions in the top soil layer,
sm2
a vector of soil water fractions in the bottom soil layer, surplus
a vector of
direct run-off (mm)
soilparams()
Dtheta()
Ktheta()
runoff()
soilevap()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # Rainfall and evapotranspiration time series
data(rainevap)
rain <- rainevap$rain
cre <- rainevap$evap
# Get van Genuchten soil paramaters
sp <- getsoilparams("Clay loam")
# Run model for clay-loam with run-off curve number for fair condition pasture
hm <- hydromodel_time(rain, cre, sp = sp, cn = 84, cover = 1)
# ============== Rainfall and run-off ==================== #
plot(rain, type = "l", lwd = 1, col = "blue", ylim = c(0,40))
par(new=T)
plot(hm$sur, type = "l", lwd = 1, xlab = "", ylab = "", ylim = c(0,40))
# Soil moisture: top layer
plot (hm$sm1, type = "l", ylim = c(0, 0.5))
# Soil moisture: bottom layer
plot (hm$sm2, type = "l", ylim = c(0, 0.5))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.