Running Topmodel

From SourceWiki
Revision as of 16:11, 12 February 2009 by Wbuytaert (talk | contribs)
Jump to navigation Jump to search


Introduction

Topmodel is a conceptual semi-distributed model developed for shallow, mountainous catchments. Despite being about 30 years old, it is still widely used. Nevertheless it is highly recommended to study the theory behind the model before applying it in any hydrological study. Some good resources are given in the references section below.

Important note

In its current stage, the model does very little checking of input data. Feeding the function with unrealistic parameter values, such as very small channel flows (<50 m / hour) are known to crash the underlying compiled libraries (and probably R with it). So be careful (and let me know any problems you come across)!

Packages and data

Topmodel is part of the topmodel package (duh!). A set of example data are available from a small mountainous catchment in the Ecuadorian Andes with the unpronouncable name Huagrahuma.

 library(topmodel)
 data(Huagrahuma)

Running the model

Topmodel needs the following parameters:

  • qs0 = Initial subsurface flow per unit area [m]
  • lnTe = log of the areal average of T0 [m2/h]
  • m = Model parameter [m]
  • Sr0 = Initial root zone storage deficit [m]
  • Srmax = Maximum root zone storage deficit [m]
  • td = Unsaturated zone time delay per unit storage deficit [h/m]
  • vch = channel flow outside the catchment catchment [m/h]
  • vr = channel flow inside catchment [m/h]
  • k0 = Surface hydraulic conductivity [m/h]
  • CD = capillary drive, see Morel-Seytoux and Khanji (1974) [m]
  • dt = The timestep [hours]

We need to construct a vector with the parameter values (the order is important):

  parameters<-c(qs0,lnTe,m,Sr0,Srmax,td,vch,vr,k0,CD,dt)

(good values for the example catchment come with the Huagrahuma dataset)

Then the model is run with the inputs described above:

  Qsim <- topmodel(parameters, topidx, delay, rain, ET0)

Special features

  • The model can be run with several parameter sets at the time. Then "parameters" should be a 2-dimensional matrix with a parameter set in each row.
  • The Nash-Sutcliffe efficiency is calculated directly when observed discharge ("Qobs") is passed to the function:
  NS <- topmodel(parameters, topidx, delay, rain ,ET0, Qobs = Qobs)

References

  • Beven, K. J., Kirkby, M. J., 1979. A physically based variable contributing area model of basin hydrology. Hydrol. Sci. Bull. 24, 43-69.
  • Beven K, Lamb R, Quinn P, Romanowicz R, Freer J, 1995. TOPMODEL. In: Sing VP (Ed), Computer Models of Watershed Hydrology. Water Resources Publications, Colorado. pp. 627-668.
  • Morel-Seytoux, H.J., Khanji, J., 1974. Derivation of an Equation of Infiltration. Water Resources Research, 10, 795-800.
  • Beven, K., 1984. Infiltration into a Class of Vertically Non-Uniform Soils. Hydrological Sciences Journal 29, 425-434.