hydromodel_time: Implementation of Mahrt and Pan two-layer model of soil...

Description Usage Arguments Details Value See Also Examples

Description

hydromodel_time is a time-series implementation of the Mahrt and Pan two-layer model of soil hydrology for a point location.

Usage

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)

Arguments

rain

a vector of rainfall (mm per time step)

cre

a vector of crop reference evapotranspirations (mm per timestep) as returned by cre.daily() or cre.hourly()

sp

a list of van Genuchten soil parameters as returned by getsoilparams()

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)

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.

Value

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)

See Also

soilparams() Dtheta() Ktheta() runoff() soilevap()

Examples

 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))

ilyamaclean/ecohydrotools documentation built on June 10, 2019, 5:45 a.m.