bucket {hydromad}R Documentation

Single-bucket Soil Moisture Accounting models

Description

Single-bucket Soil Moisture Accounting models with saturated/unsaturated zones and interception.

Usage

bucket.sim(DATA, Sb, fc = 1, a.ei = 0, M = 0, a.ss = 0,
           etmult = 1, S_0 = 0.5, return_state = FALSE)

Arguments

DATA

time-series-like object with columns P (precipitation, mm) and E (potential evapo-transpiration, mm).

Sb

Maximum soil water storage (mm).

fc

Field capacity (0 - 1).

a.ei

Interception coefficient (α_{ei}).

M

Fraction of catchment area covered by deep rooted vegetation.

a.ss

Recession coefficients for subsurface flow from saturated zone (α_{ss}).

etmult

Multiplier for the E input data.

S_0

Initial soil moisture level as a fraction of Sb.

return_state

to return the series U, S and ET (evapotranspiration).

Details

From formulations given in Bai et. al. (2009), which were based on Farmer et. al. (2003).

The general mass balance structure is:

dS/dt = p - q(S) - e(S, Ep)

The default parameter ranges were also taken from Bai et. al. (2009).

Value

the simulated effective rainfall, a time series of the same length as the input series.

Author(s)

Felix Andrews felix@nfrac.org

References

Farmer, D., M. Sivapalan, Farmer, D. (2003). Climate, soil and vegetation controls upon the variability of water balance in temperate and semiarid landscapes: downward approach to water balance analysis. Water Resources Research 39(2), p 1035.

Bai, Y., T. Wagener, P. Reed (2009). A top-down framework for watershed model evaluation and selection under uncertainty. Environmental Modelling and Software 24(8), pp. 901-916.

See Also

hydromad(sma = "bucket") to work with models as objects (recommended).

Examples

## view default parameter ranges:
str(hydromad.options("bucket"))

data(HydroTestData)
mod0 <- hydromad(HydroTestData, sma = "bucket", routing = "expuh")
mod0

## simulate with some arbitrary parameter values
mod1 <- update(mod0, Sb = 10, fc = 0.5, M = 0.5, etmult = 0.05,
                     a.ei = 0.05, a.ss = 0.01, tau_s = 10)
## plot results with state variables
testQ <- predict(mod1, return_state = TRUE)
xyplot(cbind(HydroTestData[,1:2], bucket = testQ))

## show effect of increase/decrease in each parameter
parRanges <- hydromad.getOption("bucket")
parsims <- mapply(val = parRanges, nm = names(parRanges),
  FUN = function(val, nm) {
    lopar <- min(val)
    hipar <- max(val)
    names(lopar) <- names(hipar) <- nm
    fitted(runlist(decrease = update(mod1, newpars = lopar),
                   increase = update(mod1, newpars = hipar)))
  }, SIMPLIFY = FALSE)

xyplot.list(parsims, superpose = TRUE, layout = c(1,NA),
            strip = FALSE, strip.left = TRUE,
            main = "Simple parameter perturbation example") +
  layer(panel.lines(fitted(mod1), col = "grey", lwd = 2))
[Package hydromad version 0.9-18 Index]