Skip to contents

Calculates the difference between total streamflow and baseflow (Q - baseflow) using BFS. This typically represents quickflow (surface runoff + interflow), but interpretation depends on the baseflow separation method used.

Usage

dBFS(Q, d = 5, w = 0.9, a = 0.925, passes = 3, method = "Wal")

Arguments

Q

Numeric vector of discharge (streamflow) values. Missing values (NA) are allowed.

d

Integer specifying the window size (in days) for identifying minima in the Wallingford method. Default is 5.

w

Numeric weighting factor (0-1) used in the Wallingford method to identify turning points. Default is 0.9.

a

Numeric filter parameter (0-1) for the Lyne & Hollick method, where higher values result in smoother baseflow. Default is 0.925.

passes

Integer specifying the number of forward/backward passes for the Lyne & Hollick method. Default is 3 (recommended for optimal results).

method

Character specifying the separation method: "Wal" for Wallingford or "LH" for Lyne & Hollick. Default is "Wal".

Value

A numeric vector of (Q - baseflow) values. The interpretation depends on the method:

  • For method = "Wal": Represents quickflow (surface runoff + interflow)

  • For method = "LH": Represents filtered quickflow component

Returns NA if the input contains only NA values.

Details

This function computes the difference between total streamflow (Q) and baseflow as estimated by BFS: $$quickflow = Q - BFS(Q, ...)$$

Note that:

  • The result is NOT direct runoff in the hydrological sense

  • The components depend on the separation method's assumptions

  • Negative values are possible due to separation artifacts

See also

BFS for the baseflow separation function and its parameter documentation.

Examples

# Calculate quickflow component using Wallingford method
Q <- c(10, 12, 15, 20, 18, 16, 14, 12, 10, 9)
quickflow <- dBFS(Q, method = "Wal")