Skip to contents

Calculates the relative difference between maximum and minimum values in a baseflow time series, representing the seasonal variability of baseflow contributions.

Usage

get_BFM(BFA)

Arguments

BFA

Numeric vector of inter-annual daily average of baseflow values L³/T

Value

A numeric value between 0 and 1 representing baseflow variability:

  • 0 indicates no seasonal variability (constant baseflow)

  • 1 indicates extreme variability (minimum baseflow approaches zero)

Details

The Baseflow Regime Magnitude is calculated as: $$BFM = \frac{BFA_{max} - BFA_{min}}{BFA_{max}}$$

Where:

  • \(BFA_{max}\) is the maximum baseflow in the series

  • \(BFA_{min}\) is the minimum baseflow in the series

Key characteristics:

  • Returns a value between 0 (no variability) and 1 (maximum variability)

  • Handles missing values (NA) automatically

  • No smoothing is applied to the input series

  • Particularly useful for comparing seasonal baseflow patterns between catchments

See also

BFS for baseflow separation methods that can generate baseflow inputs.

Examples

# Example with synthetic baseflow data (annual cycle)
baseflow <- c(rep(5,90), rep(8,90), rep(12,90), rep(7,95)) # Seasonal pattern
result <- get_BFM(baseflow)

print(paste("Baseflow variability:", round(result$magnitude, 2)))
#> Error in result$magnitude: $ operator is invalid for atomic vectors
print(paste("Maximum baseflow:", round(result$max, 2)))
#> Error in result$max: $ operator is invalid for atomic vectors
print(paste("Minimum baseflow:", round(result$min, 2)))
#> Error in result$min: $ operator is invalid for atomic vectors

# Example with real data (would need actual baseflow series)
# data(streamflow)
# bf <- BFS(streamflow$Q, method="LH")
# get_BFM(bf)