Note
Last update 26/06/2020
Elements list¶
This page contains all the elements implemented as part of SuperflexPy. The elements are divided in three categories
- Reservoir
- Lag functions
- Connectors
We will now list all the elements in alphabetical order.
Reservoirs¶
Fast reservoir (HBV)¶
from superflexpy.implementation.elements.hbv import FastReservoir
Governing equations¶
Inputs required¶
- Precipitation
Main outputs¶
- Total outflow
Interception filter (GR4J)¶
from superflexpy.implementation.elements.gr4j import InterceptionFilter
Governing equations¶
Inputs required¶
- Potential evapotranspiration
- Precipitation
Main outputs¶
- Net potential evapotranspiration
- Net precipitation
Linear reservoir (Hymod)¶
from superflexpy.implementation.elements.hymod import LinearReservoir
Governing equations¶
Inputs required¶
- Precipitation
Main outputs¶
- Total outflow
Production store (GR4J)¶
from superflexpy.implementation.elements.gr4j import ProductionStore
Governing equations¶
Inputs required¶
- Potential evapotranspiration
- Precipitation
Main outputs¶
- Total outflow (\(P_{\textrm{r}}\))
Secondary outputs¶
- Actual evapotranspiration (\(E_{\textrm{act}}\))
Routing store (GR4J)¶
from superflexpy.implementation.elements.gr4j import RoutingStore
Governing equations¶
Inputs required¶
- Precipitation
Main outputs¶
- Outflow (\(Q\))
- Loss term (\(F\))
Snow reservoir (Thur model HESS)¶
from superflexpy.implementation.elements.thur_model_hess import SnowReservoir
Governing equations¶
Inputs required¶
- Precipitation (total, the separation between snow and rain is done internally)
- Temperature
Main outputs¶
- Melt + rainfall input
Unsaturated reservoir (HBV)¶
from superflexpy.implementation.elements.hbv import UnsaturatedReservoir
Governing equations¶
Inputs required¶
- Precipitation
- Potential evapotranspiration
Main outputs¶
- Total outflow
Secondary outputs¶
- Actual evapotranspiration
Upper zone (Hymod)¶
from superflexpy.implementation.elements.hymod import UpperZone
Governing equations¶
Inputs required¶
- Precipitation
- Potential evapotranspiration
Main outputs¶
- Total outflow
Secondary outputs¶
- Actual evapotranspiration
Lag functions¶
All the lag functions implemented in SuperflexPy are designed to take an arbitrary number of input fluxes and to apply a transformation to it based on a weight array that defines the shape of the lag function. It is only this that differentiate different lag functions.
Half triangular lag (Thur model HESS)¶
from superflexpy.implementation.elements.thur_model_hess import HalfTriangularLag
Equation used for the lag¶
The area of the lag is calculated with the following expression
The weight array is then calculated as the difference between the value of \(A_{\textrm{lag}}\) at two adjacent points.
Unit hydrograph 1 (GR4J)¶
from superflexpy.implementation.elements.gr4j import UnitHydrograph1
Equation used for the lag¶
The area of the lag is calculated with the following expression
The weight array is then calculated as the difference between the value of \(A_{\textrm{lag}}\) at two adjacent points.
Unit hydrograph 2 (GR4J)¶
from superflexpy.implementation.elements.gr4j import UnitHydrograph2
Equation used for the lag¶
The area of the lag is calculated with the following expression
The weight array is then calculated as the difference between the value of \(A_{\textrm{lag}}\) at two adjacent points.
Connectors¶
SuperflexPy implements, by default four different connectors:
- splitter
- junction
- linker
- transparent element
All of them are designed to operate with an infinite number of fluxes and, when possible, with infinite upstream or downstream elements.
Apart from those, there are also some connectors that have been implemented as part of a specific configuration, to achieve a particular design.