Identifying Low Flow Periods

Description

A streamflow deficit is defined as an event where discharges are below a given threshold.

Usage

1
find_droughts(x, threshold = vary_threshold, varying = "constant", ...)

Arguments

x

an object which can be coerced to class xts. Either with a single column or with a column named 'discharge'. Units of x are retrieved from the attributes. If it fails, an error is raised.

threshold

The threshold can either be a constant value, a time series with the same length as x or a function (taking a single argument) returning either of these. Furthermore threshold can be a character vector of length one specifying a quantile of x like threshold = 'Q80' as a shortcut of threshold = function(x) quantile(x, 0.2, na.rm = TRUE). See vary_threshold for varying a threshold in time.

varying

if varying is a character vector of length one, values of "constant", "daily", "weekly" and "monthly" are allowed. If a vector of class POSIX is provided, a seasonal varying threshold is computed, where the times provided define the start of the season. Only the day of the year is taken, the year itself doesn't have a meaning.

...

if threshold is a function, these additional arguments are passed on to the function

Value

an object of class 'deficit', which is basically an xts object with the columns

discharge

discharges as provided with x

threshold

the threshold

def.increase

The increase of the deficit volume in m^3 per day.

event.no

an event id. If an event is numbered "0" this period not considered as a streamflow deficit.

See Also

There are summary and plot methods, see summary.deficit and plot.deficit.

pooling, summary.deficit, plot.deficit

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
data(ray)
ray <- as.xts(ray)["1970::1979", ]
r <- find_droughts(ray)
head(r)
summary(r)


plot(r)


# threshold is to low, because there are many days with
# zero flow observations
# provide threshold as a constant value
r <- find_droughts(ray, threshold = 0.02)
head(r)
summary(r)

plot(r)



# provide threshold as a function
r <- find_droughts(ray,
                   threshold = function(x) quantile(x, 0.2, na.rm = TRUE))
head(r)
summary(r)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.