hbv: hbv - simulation using hydrological model HBV

Description Usage Arguments Details Value Note Author(s) References Examples

View source: R/hbv.R

Description

hbv simulates discharge from a given rainfall time series using a simple 0-D version of the hydrological model HBV (Bergström, 1976) as implemented in Heistermann & Kneis (2011) with simple routing using custom, triangular hydrograph or linear storage cascade. hbv_prerun applies hbv while repeating a pre-run phase ("warm up") as long as any of the storages change by more than storage_tolerance

Usage

1
2
hbv(pars, init=NULL, prec, temp=NULL, delta_t=1, unithg=NULL)
hbv.prerun(init=NULL, prec, max_pre_runs=20, storage_tolerance=0.1, prerun_length=(365*24*60/5), verbose=TRUE,...)

Arguments

pars

named vector holding the HBV parameters

cfmax=2.4

degree day factor for snow melt [mm/°C/d]

tt=0

temperature threshold below which precipitation falls as snow [°C]

fc=200

field capacity [mm]

minsm

minimum soil moisture for storage sm [mm]

beta

parameter to control the fraction of rain and snow melt partitioned for groundwater recharge [-]

lp

fraction of soil moisture-field capacity-ratio above which actual evapotranspiration equals potential evapotranspiration [-]

corr=1

correction factor for potential evapotranspiration [-]

k_perc

percolation coefficient [1/d]

k0

fast storage coefficient of soil upper zone [1/d]

luz

threshold above which soil upper zone storage empties at rate computed by storage coefficient K0 [mm]

k1

slow storage coefficient of soil upper zone [1/d]

k2

storage coefficient of soil lower zone [1/d]

maxbas

Length of (triangular) unit hydrograph [timesteps]. See details.

etpmean=5

mean evaporation [mm/d]

tmean=10

mean temperatures [°C]

n

(real) number of storages in linear storage cascade. Overrides pars["maxbas"], overridden by unithg.

k

decay constant for linear storage cascade. Overrides pars["maxbas"], overridden by unithg.

init

named vector holding the HBV state variables for initialisation

'snow'=0

snow storage [mm]

'sm'=200

soil moisture storage [mm]

'suz'=0

soil upper zone storage [mm]

'slz'=0

soil lower zone storage [mm]

prec

vector holding rainfall in equidistant timesteps of delta_t in mm

temp

vector holding temperature in equidistant timesteps of delta_t in °C

delta_t

length of timesteps in prec in days

unithg

vector of dimensionless unit hydrograph (should sum up to 1). Overrides pars[c("maxbas","n","k")].

max_pre_runs

maximum number of pre-run iterations

storage_tolerance

While any of the storages has changed by more than this values, the pre-run phase is repeated

prerun_length

number of timesteps from prec to use for pre-run phase (typically a year)

verbose

additional text output during pre-run iterations

...

additional parameters passed to hbv

Details

If unithg is specified, pars[c("maxbas","n","k")] are ignored. If pars[c("n","k")] are specified, routing using linear storagte cascade is performed. If only pars["maxbas"] is set, a triangular unit hydrograph with its peak in at pars["maxbas"] /2 timesteps is used.

Value

The function returns a list list(q, snow, sm, suz, slz) with

q

(vector) modelled discharge [mm]

snow

(scalar) snow storage at end of run [mm]

sm

(scalar)soil moisture storage at end of run [mm]

suz

(scalar)soil upper zone storage at end of run [mm]

slz

(scalar)soil lower zone storage at end of run [mm]

Note

These functions are still in development, use with care, all comments welcome!

Author(s)

Maik Heistermann, David Kneis, Till Francke

References

Bergström, S. (1976) Development and application of a conceptual runoff model for Scandinavian catchments. SMHI Reports RHO, No. 7, Norrkög.

Heistermann, M. & Kneis, D. (2011) Benchmarking quantitative precipitation estimation by conceptual rainfall-runoff modeling, Water Resour. Res., 47, W06514, doi:10.1029/2010WR009153.

Examples

1
2
3
4
5
6
7
data(huagrahuma)
prec.day <- aggregate(huagrahuma$inputs$P, 
      by=strftime(index(huagrahuma$inputs$P), "%d.%m.%Y"))

#use standard parameters and initialization
hbv(pars=0, init=0, prec = prec.day , delta_t=1)
 

RHydro documentation built on May 31, 2017, 4:50 a.m.

Related to hbv in RHydro...