Routing_HBV: Routing bucket type models

View source: R/RcppExports.R

Routing_HBVR Documentation

Routing bucket type models

Description

Implement one of the five different bucket formulations for runoff routing. The output of this function is the input series of the transfer function (UH).

Usage

Routing_HBV(
       model,
       lake,
       inputData,
       initCond,
       param
       )

Arguments

model

numeric integer indicating which reservoir formulation to use:

  • 1: Three series of reservoirs. Lake option is allowed.

  • 2: Two series of reservoirs. Lake option is allowed.

  • 3: Two reservoirs and three outlets. Lake option is allowed.

  • 4: One reservoir and two outlets. Lake is NOT allowed.

  • 5: One reservoir and three outlets. Lake is NOT allowed.

lake

logical. A TRUE value will enable the lake option (only available on models 1, 2 and 3). When modeling a lake, HBV.IANIGLA considers that this water body exist on the bottom bucket, so you will also have to provide a lake evaporation and precipitation series in the inputData matrix.

inputData

numeric matrix with three columns (two of them depends on lake option).

  • column_1: effective runoff series [mm/Δ T]. This is the output of the Soil_HBV module.

  • column_2: only if lake = TRUE. Precipitation series falling in the lake. When using it remember that the precipitation should be rescaled according to the relative area of the lake in the basin.

  • column_3: only if lake = TRUE. Lake's evaporation series. When using it remember that the precipitation should be rescaled according to the relative area of the lake in the basin.

initCond

numeric vector with the following initial state variables.

  • SLZ0: initial water content of the lower reservoir [mm]. This state variable is compulsory for all model options.

  • SUZ0: initial water content of the intermediate reservoir [mm]. This option does not make sense for models 4 and 5.

  • STZ0: initial water content of the upper reservoir [mm]. This option only make sense for model 1.

param

numeric vector. The length depends on the model's choice:

Model 1

  • K0: top bucket (STZ) storage constant [1/Δ t].

  • K1: intermediate bucket (SUZ) storage constant [1/Δ t].

  • K2: lower bucket (SLZ) storage constant [1/Δ t].

  • UZL: maximum flux rate between STZ and SUZ [mm/Δ t].

  • PERC: maximum flux rate between SUZ and SLZ [mm/Δ t].

Model 2

  • K1: intermediate bucket (SUZ) storage constant [1/Δ t].

  • K2: lower bucket (SLZ) storage constant [1/Δ t].

  • PERC: maximum flux rate between SUZ and SLZ [mm/Δ t].

Model 3

  • K0: top output (Q0) storage constant [1/Δ t].

  • K1: intermediate bucket (SUZ) storage constant [1/Δ t].

  • K2: lower bucket (SLZ) storage constant [1/Δ t].

  • UZL: minimum water content of SUZ for supplying fast runoff (Q0) to the total reservoir discharge (Qg) [mm].

  • PERC: maximum flux rate between SUZ and SLZ [mm/Δ t].

Model 4

  • K1: intermediate output (Q1) storage constant [1/Δ t].

  • K2: lower bucket (SLZ) storage constant [1/Δ t].

  • PERC: minimum water content of SLZ for supplying intermediate runoff (Q1) to the total reservoir discharge (Qg) [mm].

Model 5

  • K0: top output (Q0) storage constant [1/Δ t].

  • K1: intermediate output (Q1) storage constant [1/Δ t].

  • K2: lower bucket (SLZ) storage constant [1/Δ t].

  • UZL: minimum water content of SLZ for supplying fast runoff (Q0) to the total reservoir discharge (Qg) [mm].

  • PERC: minimum water content of SLZ for supplying intermediate runoff (Q1) to the total reservoir discharge (Qg) [mm].

Value

Numeric matrix with the following columns:

Model 1

  • Qg: total buckets output discharge [mm/Δ t].

  • Q0: top bucket discharge [mm/Δ t].

  • Q1: intermediate bucket discharge [mm/Δ t].

  • Q2: lower bucket discharge [mm/Δ t].

  • STZ: top reservoir storage [mm].

  • SUZ: intermediate reservoir storage [mm].

  • SLZ: lower reservoir storage [mm].

Model 2

  • Qg: total buckets output discharge [mm/Δ t].

  • Q1: intermediate bucket discharge [mm/Δ t].

  • Q2: lower bucket discharge [mm/Δ t].

  • SUZ: intermediate reservoir storage [mm].

  • SLZ: lower reservoir storage [mm].

Model 3

  • Qg: total buckets output discharge [mm/Δ t].

  • Q0: intermediate bucket fast discharge [mm/Δ t].

  • Q1: intermediate bucket discharge [mm/Δ t].

  • Q2: lower bucket discharge [mm/Δ t].

  • SUZ: intermediate reservoir storage [mm].

  • SLZ: lower reservoir storage [mm].

Model 4

  • Qg: total buckets output discharge [mm/Δ t].

  • Q1: lower bucket intermediate discharge [mm/Δ t].

  • Q2: lower bucket discharge [mm/Δ t].

  • SLZ: lower reservoir storage [mm].

Model 5

  • Qg: total buckets output discharge [mm/Δ t].

  • Q0: lower bucket fast discharge [mm/Δ t].

  • Q1: lower bucket intermediate discharge [mm/Δ t].

  • Q2: lower bucket discharge [mm/Δ t].

  • SLZ: lower reservoir storage [mm].

References

Bergström, S., Lindström, G., 2015. Interpretation of runoff processes in hydrological modelling—experience from the HBV approach. Hydrol. Process. 29, 3535–3545. https://doi.org/10.1002/hyp.10510

Beven, K.J., 2012. Rainfall - Runoff Modelling, 2 edition. ed. Wiley, Chichester.

Seibert, J., Vis, M.J.P., 2012. Teaching hydrological modeling with a user-friendly catchment-runoff-model software package. Hydrol Earth Syst Sci 16, 3315–3325. https://doi.org/10.5194/hess-16-3315-2012

Examples

# The following is a toy example. I strongly recommend to see
# the package vignettes in order to improve your skills on HBV.IANIGLA

## Case example with the first model
inputMatrix <- cbind(
                     runif(n = 200, max = 100, min = 0),
                     runif(n = 200, max = 50, min = 5),
                     runif(n = 100, max = 3, min = 1)
                     )

routeMod1   <- Routing_HBV(model = 1, lake = TRUE, inputData = inputMatrix,
                     initCond = c(10, 15, 20), param = c(0.1, 0.05, 0.001, 1, 0.8))



HBV.IANIGLA documentation built on Nov. 24, 2022, 1:07 a.m.