baseflow: Calculate the baseflow of a river

Description Usage Arguments Value References Examples

Description

Given a stream flow hydrograph of flows (regular time series), the baseflow is separated. The minima of a period (default block.len = 5) is calculated and turning points are identified. At turning points the baseflow equals the actual flow, in between, linear interpolation is carried out.

Usage

1
baseflow(x, tp.factor = 0.9, block.len = 5)

Arguments

x

numeric vector containing flows

tp.factor

numeric vector of length one. Towards high flows, allow the central value of three consecutive minima only to be of a factor (1 - tp.factor) higher than the surrounding values

block.len

numeric vector of length one.

Value

A numeric vector of length(x). It contains NAs as until the first turning point, the baseflow cannot be determined.

References

Tallaksen, L. M. and Van Lanen, H. A. J. 2004 Hydrological Drought: Processes and Estimation Methods for Streamflow and Groundwater. Developments in Water Science 48, Amsterdam: Elsevier.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
## reproducing Tallaksen and van Lanen (2004)
## Example 5.3 Base Flow Index"

data(ray)
ray <- as.xts(ray)

# calculate baseflow and plot it
ray$baseflow <- baseflow(ray$discharge)
ray96 <- ray[format(time(ray), "%Y") == "1996", ]
plot(ray96$discharge, type = "l")
lines(ray96$baseflow, col = 2)

# aggregated base flows for river Ray
# these are mean flow totals per day, not per year as written
# in Tallaksen and van Lanen (2004)
round(colSums(ray96[, c("discharge", "baseflow")]), 2)

Example output

Loading required package: xts
Loading required package: zoo

Attaching package: 'zoo'

The following objects are masked from 'package:base':

    as.Date, as.Date.numeric

Loading required package: lmom
Loading required package: lattice
discharge  baseflow 
    19.93      4.03 

lfstat documentation built on May 2, 2019, 6:07 p.m.