lland_v2

Version 2 of the L-Land model is a slight modification of lland_v1. While lland_v1 implements the Turc-Wendling approach for calculating the reference evapotranspiration (ET0) for each hydrological response unit. In contrast, lland_v2 expects subbasin-wide potential evaporation values (PET) to be calculated externally and adjusts them to the different response units of the subbasin. We created lland_v2 for the flood forecasting system of the German Free State of Saxony.

lland_v1 should only be applied on daily step sized due to calculating reference evaporation with the Turc-Wendling equation. As lland_v2 does not rely on Turc-Wendling, we can apply it on arbitrary simulation step sizes.

Integration tests

Note

When new to HydPy, consider reading section How to understand integration tests? first.

The following integration tests are recalculations of the tests performed for lland_v1 (you can click on the captions to go to the related tests of lland_v1). Their purpose is to show that both models function in an equal manner. Hence, most configurations are identical. One exception is that lland_v2 requires no global radiation input (Glob). Instead, potential evaporation needs (PET) to be defined, which we take from the integration test results of model lland_v1 to achieve comparability. Another exception is that lland_v1 allows for smoothing the calculated ET0 values over time, which we discuss below.

The following general setup is identical with the one of lland_v1:

>>> from hydpy import pub
>>> pub.timegrids = "2000-01-01", "2000-01-05", "1h"
>>> from hydpy.models.lland_v2 import *
>>> parameterstep("1h")
>>> from hydpy import Node, Element
>>> outlet = Node("outlet")
>>> inlet = Node("inlet")
>>> land = Element("land", inlets=inlet, outlets=outlet)
>>> land.model = model
>>> nhru(1)
>>> ft(1.0)
>>> fhru(1.0)
>>> from hydpy import IntegrationTest
>>> test = IntegrationTest(land)

acre (summer)

The following parameter and initial condition values are identical with the ones of lland_v1, except that the Turc-Wendling related parameter KF is missing:

>>> lnk(ACKER)
>>> kg(1.2)
>>> kt(0.8)
>>> ke(0.4)
>>> wfet0(1.0)
>>> fln(0.5)
>>> hinz(0.2)
>>> lai(4.0)
>>> treft(0.0)
>>> trefn(0.0)
>>> tgr(1.0)
>>> tsp(2.0)
>>> gtf(0.5)
>>> pwmax(1.4)
>>> grasref_r(5.0)
>>> wmax(200.0)
>>> fk(relative=0.5)
>>> pwp(relative=0.05)
>>> kapgrenz(option="0_WMax/10")
>>> kapmax(0.08)
>>> beta(0.005)
>>> fbeta(1.0)
>>> rbeta(False)
>>> dmax(1.0)
>>> dmin(0.1)
>>> bsf(0.4)
>>> volbmax(inf)
>>> gsbmax(1.0)
>>> gsbgrad1(inf)
>>> gsbgrad2(inf)
>>> a1(1.0)
>>> a2(1.0)
>>> tind(1.0)
>>> eqb(100.0)
>>> eqi1(20.0)
>>> eqi2(10.0)
>>> eqd1(5.0)
>>> eqd2(2.0)
>>> test.inits = ((states.inzp, 0.0),
...               (states.wats, 0.0),
...               (states.waes, 0.0),
...               (states.bowa, 20.0),
...               (states.qdgz1, 0.0),
...               (states.qdgz2, 0.0),
...               (states.qigz1, 0.0),
...               (states.qigz2, 0.0),
...               (states.qbgz, 0.0),
...               (states.qdga1, 0.0),
...               (states.qdga2, 0.0),
...               (states.qiga1, 0.0),
...               (states.qiga2, 0.0),
...               (states.qbga, 0.0),
...               (logs.wet0, 0.0))

The values of the input sequences of Nied (precipitation) and TemL (air temperature) and from the inflow provided by node inlet also stem from the input data of the example on lland_v1. But we take the values of PET (potential evaporation) from the the output data of lland_v1 and divide the original values by 0.4 to account for the selected value of the evaporation adjustment factor KE:

>>> inputs.nied.series = (
...     0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
...     0.0, 0.2, 0.0, 0.0, 1.3, 5.6, 2.9, 4.9, 10.6, 0.1, 0.7, 3.0, 2.1,
...     10.4, 3.5, 3.4, 1.2, 0.1, 0.0, 0.0, 0.4, 0.1, 3.6, 5.9, 1.1, 20.7,
...     37.9, 8.2, 3.6, 7.5, 18.5, 15.4, 6.3, 1.9, 4.9, 2.7, 0.5, 0.2, 0.5,
...     2.4, 0.4, 0.2, 0.0, 0.0, 0.3, 2.6, 0.7, 0.3, 0.3, 0.0, 0.0, 0.0, 0.0,
...     0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.3, 0.0, 0.0, 0.0, 0.7, 0.4,
...     0.1, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
...     0.0)
>>> inputs.teml.series = (
...     21.2, 19.4, 18.9, 18.3, 18.9, 22.5, 25.1, 28.3, 27.8, 31.4, 32.2,
...     35.2, 37.1, 31.2, 24.3, 25.4, 25.9, 23.7, 21.6, 21.2, 20.4, 19.8,
...     19.6, 19.2, 19.2, 19.2, 18.9, 18.7, 18.5, 18.3, 18.5, 18.8, 18.8,
...     19.0, 19.2, 19.3, 19.0, 18.8, 18.7, 17.8, 17.4, 17.3, 16.8, 16.5,
...     16.3, 16.2, 15.5, 14.6, 14.7, 14.6, 14.1, 14.3, 14.9, 15.7, 16.0,
...     16.7, 17.1, 16.2, 15.9, 16.3, 16.3, 16.4, 16.5, 18.4, 18.3, 18.1,
...     16.7, 15.2, 13.4, 12.4, 11.6, 11.0, 10.5, 11.7, 11.9, 11.2, 11.1,
...     11.9, 12.2, 11.8, 11.4, 11.6, 13.0, 17.1, 18.2, 22.4, 21.4, 21.8,
...     22.2, 20.1, 17.8, 15.2, 14.5, 12.4, 11.7, 11.9)
>>> inputs.pet.series = (
...     0.100707, 0.097801, 0.096981, 0.09599, 0.096981, 0.102761, 0.291908,
...     1.932875, 4.369536, 7.317556, 8.264362, 9.369867, 5.126178, 6.62503,
...     7.397619, 2.39151, 1.829834, 1.136569, 0.750986, 0.223895, 0.099425,
...     0.098454, 0.098128, 0.097474, 0.097474, 0.097474, 0.096981, 0.096652,
...     0.096321, 0.09599, 0.187298, 1.264612, 3.045538, 1.930758, 2.461001,
...     6.215945, 3.374783, 8.821555, 4.046025, 2.110757, 2.239257, 2.877848,
...     1.591452, 0.291604, 0.092622, 0.092451, 0.091248, 0.089683, 0.089858,
...     0.089683, 0.088805, 0.089157, 0.090207, 0.091593, 0.154861, 0.470369,
...     1.173726, 4.202296, 4.359715, 5.305753, 5.376027, 4.658915, 7.789594,
...     4.851567, 5.30692, 3.286036, 1.506216, 0.274762, 0.087565, 0.085771,
...     0.084317, 0.083215, 0.082289, 0.0845, 0.084864, 0.083584, 0.0834,
...     0.084864, 0.310229, 1.391958, 3.195876, 5.191651, 7.155036, 8.391432,
...     8.391286, 10.715238, 9.383394, 7.861915, 6.298329, 2.948416, 1.309232,
...     0.32955, 0.089508, 0.085771, 0.0845, 0.084864)
>>> inlet.sequences.sim.series = 0.0

The following calculation reproduces the outflow values of the integration test acre (summer) for arable land (ACKER) with zero inflow exactly:

>>> test("lland_v2_acker_summer",
...      axis1=(inputs.nied, fluxes.qah),
...      axis2=states.bowa)
Click to see the table
Click to see the graph

acre (routing)

The following calculation reproduces the outflow values of the integration test acre (routing) for arable land (ACKER) with relevant inflow exactly:

>>> inlet.sequences.sim.series = 0.3
>>> test("lland_v2_acker_routing",
...      axis1=(inputs.nied, fluxes.qah),
...      axis2=states.bowa)
Click to see the table
Click to see the graph

water

As discussed in the documentation of lland_v1, the handling of evaporation from water surfaces can be problematic. lland_v2 offers a smoothing option for the calculation of ET0 (see method Calc_ET0_WET0_V1) that is freely configurable via the “delay weighting factor” WfET0. In principle, you could apply this mechanism to all land-use classes. However, its original intention is to take the temporal persistence of (large) water bodies into account. We demonstrate this functionality is by setting the weighting parameter WfET0 to a value smaller than one and defining a suitable “old” evaporation value (WET0):

>>> lnk(WASSER)
>>> wfet0(0.01)
>>> test.inits.wet0 = 1.0
>>> inlet.sequences.sim.series = 0.0
>>> test("lland_v2_wasser",
...      axis1=(fluxes.nkor, fluxes.evpo, fluxes.evi, fluxes.qah))
Click to see the table
Click to see the graph

water (routing)

The following calculation reproduces the outflow values of the integration test water (routing) for water areas of type WASSER with relevant inflow exactly:

>>> lnk(WASSER)
>>> inlet.sequences.sim.series = 0.3
>>> wfet0(1.0)
>>> test.inits.wet0 = 0.0
>>> test("lland_v2_wasser_routing",
...      axis1=(fluxes.nkor, fluxes.evpo, fluxes.evi, fluxes.qah))
Click to see the table
Click to see the graph

water (negative runoff)

The following calculation reproduces the outflow values of the integration test water (negative runoff) for water areas of type WASSER exactly (with \(NegQ = False\)):

>>> negq(True)
>>> inlet.sequences.sim.series = 0.0
>>> test("lland_v2_wasser_negq",
...      axis1=(fluxes.nkor, fluxes.evpo, fluxes.evi, fluxes.qah))
Click to see the table
Click to see the graph

lakes

The following calculation reproduces the outflow values of the integration test lakes for water areas of type SEE exactly (with \(NegQ = True\)):

>>> lnk(SEE)
>>> negq(False)
>>> test("lland_v2_see",
...      axis1=(fluxes.nkor, fluxes.evpo, fluxes.evi, fluxes.qah))
Click to see the table
Click to see the graph

streams

The following calculation reproduces the outflow values of the integration test streams for water areas of type FLUSS exactly (with \(NegQ = True\)):

>>> lnk(FLUSS)
>>> test("lland_v2_fluss",
...      axis1=(fluxes.nkor, fluxes.evpo, fluxes.evi, fluxes.qah))
Click to see the table
Click to see the graph

sealed surfaces

The following calculation reproduces the outflow values of the integration test sealed surfaces for land use type VERS exactly:

>>> lnk(VERS)
>>> test("lland_v2_vers",
...      axis1=(inputs.nied, fluxes.qah, states.bowa))
Click to see the table
Click to see the graph

acre (limited groundwater volume)

The following calculation reproduces the outflow values of the integration test acre (limited groundwater volume) for a limited groundwater volume exactly:

>>> lnk(ACKER)
>>> volbmax(25.0)
>>> test("lland_v2_acker_gw_vol",
...      axis1=(states.qbgz, states.qbga, fluxes.qdgz, fluxes.qah))
Click to see the table
Click to see the graph

acre (limited groundwater rise)

The following calculation reproduces the outflow values of the integration test acre (limited groundwater rise) for a restricted groundwater table rise exactly:

>>> volbmax(inf)
>>> gsbgrad1(0.4)
>>> gsbgrad2(0.6)
>>> test("lland_v2_acker_gw_rise",
...      axis1=(states.qbgz, states.qbga, fluxes.qdgz, fluxes.qah))
Click to see the table
Click to see the graph

acre (capillary rise)

The following calculation reproduces the outflow values of the integration test acre (capillary rise) for modified capillary rise settings exactly:

>>> gsbgrad2(inf)
>>> gsbgrad1(inf)
>>> kapgrenz(option="FK")
>>> rbeta(True)
>>> test("lland_v2_acker_qkap",
...      axis1=(fluxes.qbb, fluxes.qkap),
...      axis2=states.bowa)
Click to see the table
Click to see the graph

acre (winter)

The following calculation reproduces the outflow values of the integration test acre (winter) for a snow event exactly (note that we need to adapt the PET values to the changed TemL values):

>>> inputs.teml.series = numpy.linspace(-20.0, 20.0, 96)
>>> inputs.pet.series = (
...     0.03733, 0.037872, 0.038415, 0.038955, 0.039492, 0.040028, 0.110905,
...     0.71239, 1.641935, 2.661377, 3.014447, 3.343815, 1.81419, 2.535277,
...     3.137525, 1.010042, 0.776177, 0.503072, 0.346957, 0.105225, 0.047837,
...     0.048345, 0.048848, 0.04935, 0.04985, 0.05035, 0.050845, 0.051342,
...     0.051835, 0.052327, 0.102702, 0.69626, 1.692095, 1.078725, 1.382545,
...     3.516795, 1.935692, 5.120597, 2.372527, 1.267695, 1.365632, 1.772603,
...     0.997112, 0.185172, 0.0595, 0.059965, 0.060428, 0.06089, 0.06135,
...     0.06181, 0.062267, 0.062723, 0.063177, 0.06363, 0.10774, 0.325317,
...     0.811522, 2.973865, 3.12363, 3.798742, 3.874722, 3.373822, 5.667417,
...     3.434725, 3.787713, 2.368437, 1.120002, 0.211415, 0.070242, 0.07067,
...     0.0711, 0.071525, 0.07195, 0.072375, 0.072795, 0.073217, 0.073637,
...     0.074055, 0.2705, 1.23095, 2.866595, 4.66193, 6.271463, 6.833792,
...     6.738053, 8.078045, 7.222285, 6.044787, 4.837587, 2.353282, 1.092032,
...     0.289745, 0.080167, 0.080565, 0.080962, 0.081357)
>>> test("lland_v2_acker_winter",
...      axis1=(inputs.nied, fluxes.wada),
...      axis2=(states.waes, states.wats))
Click to see the table
Click to see the graph
class hydpy.models.lland_v2.Model[source]

Bases: hydpy.core.modeltools.AdHocModel

External PET/degree-day version of HydPy-L-Land.

The following “inlet update methods” are called in the given sequence at the beginning of each simulation step:
  • Pick_QZ_V1 Query the current inflow from all inlet nodes.

The following “run methods” are called in the given sequence during each simulation step:
  • Calc_QZH_V1 Calculate the inflow in mm.

  • Calc_NKor_V1 Adjust the given precipitation value [4].

  • Calc_TKor_V1 Adjust the given air temperature value.

  • Calc_ET0_WET0_V1 Correct the given reference evapotranspiration and update the corresponding log sequence.

  • Calc_EvPo_V1 Calculate the potential evapotranspiration for the relevant land use and month.

  • Calc_NBes_Inzp_V1 Calculate stand precipitation and update the interception storage accordingly.

  • Calc_EvI_Inzp_V1 Calculate interception evaporation and update the interception storage accordingly.

  • Calc_SNRatio_V1 Calculate the ratio of frozen to total precipitation [4].

  • Calc_SBes_V1 Calculate the frozen part of stand precipitation.

  • Calc_WATS_V1 Add the snow fall to the frozen water equivalent of the snow cover.

  • Calc_WGTF_V1 Calculate the heat flux according to the degree-day method [4].

  • Calc_WNied_V1 Calculate the heat flux into the snow layer due to the total amount of ingoing precipitation ([4], modified).

  • Calc_SchmPot_V1 Calculate the potential snow melt according to the day degree method.

  • Calc_Schm_WATS_V1 Calculate the actual amount of water melting within the snow layer.

  • Calc_WaDa_WAeS_V1 Add as much liquid precipitation to the snow cover as it is able to hold.

  • Calc_EvB_V1 Calculate the actual soil evapotranspiration.

  • Calc_QKap_V1 Calculate the capillary rise.

  • Calc_QBB_V1 Calculate the amount of base flow released from the soil.

  • Calc_QIB1_V1 Calculate the first inflow component released from the soil.

  • Calc_QIB2_V1 Calculate the second inflow component released from the soil.

  • Calc_QDB_V1 Calculate direct runoff released from the soil.

  • Calc_BoWa_V1 Update the soil moisture and, if necessary, correct the ingoing and outgoing fluxes.

  • Calc_QBGZ_V1 Aggregate the amount of base flow released by all “soil type” HRUs and the “net precipitation” above water areas of type SEE.

  • Calc_QIGZ1_V1 Aggregate the amount of the first interflow component released by all HRUs.

  • Calc_QIGZ2_V1 Aggregate the amount of the second interflow component released by all HRUs.

  • Calc_QDGZ_V1 Aggregate the amount of total direct flow released by all HRUs.

  • Calc_QBGA_V1 Perform the runoff concentration calculation for base flow.

  • Update_QDGZ_QBGZ_QBGA_V1 Redirect the inflow into the storage compartment for base flow into the storage compartments for direct flow upon exceedance of the groundwater aquifer’s limited volume [4].

  • Update_QDGZ_QBGZ_QBGA_V2 Redirect (a portion of) the inflow into the storage compartment for base flow into the storage compartments for direct flow due to the groundwater table’s too fast rise [4].

  • Calc_QIGA1_V1 Perform the runoff concentration calculation for the first interflow component.

  • Calc_QIGA2_V1 Perform the runoff concentration calculation for the second interflow component.

  • Calc_QDGZ1_QDGZ2_V1 Separate total direct flow into a slower and a faster component.

  • Calc_QDGA1_V1 Perform the runoff concentration calculation for “slow” direct runoff.

  • Calc_QDGA2_V1 Perform the runoff concentration calculation for “fast” direct runoff.

  • Calc_QAH_V1 Calculate the final runoff in mm.

  • Calc_QA_V1 Calculate the final runoff in m³/s.

The following “outlet update methods” are called in the given sequence at the end of each simulation step:
class hydpy.models.lland_v2.Masks[source]

Bases: hydpy.core.masktools.Masks

Masks applicable to lland_v2.

The following classes are selected:
class hydpy.models.lland_v2.AideSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.ModelSequences[AideSequence, hydpy.core.variabletools.FastAccess]

Aide sequences of model lland_v2.

The following classes are selected:
  • SNRatio() Ratio of frozen precipitation to total precipitation [-].

class hydpy.models.lland_v2.ControlParameters(master: hydpy.core.parametertools.Parameters, cls_fastaccess: Optional[Type[hydpy.core.parametertools.FastAccessParameter]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.variabletools.SubVariables[hydpy.core.parametertools.Parameters, Parameter, hydpy.core.parametertools.FastAccessParameter]

Control parameters of model lland_v2.

The following classes are selected:
  • FT() Teileinzugsgebietsfläche (subbasin area) [km²].

  • NHRU() Anzahl der Hydrotope (number of hydrological response units) [-].

  • Lnk() Landnutzungsklasse (land use class) [-].

  • FHRU() Flächenanteile der Hydrotope (area percentages of the respective HRUs) [-].

  • KG() Niederschlagskorrekturfaktor (adjustment factor for precipitation) [-].

  • KT() Temperaturkorrektursummand (adjustment summand for air temperature) [°C].

  • KE() Grasreferenzverdunstungskorrekturfaktor (adjustment factor for reference evapotranspiration) [-].

  • LAI() Blattflächenindex (leaf area index) [-].

  • HInz() Interzeptionskapazität bezogen auf die Blattoberfläche (interception capacity normalized to the leaf surface area) [mm].

  • TRefT() Lufttemperaturgrenzwert des Grad-Tag-Verfahrens (air temperature threshold of the degree-day method) [°C].

  • TRefN() Niederschlagstemperaturgrenzwert des zur Berechnung des Wärmeeintrags durch Regen (precipitation temperature threshold to calculate heat flux caused by liquid precipitation on snow) [°C].

  • TGr() Temperaturgrenzwert flüssiger/fester Niederschlag (threshold temperature liquid/frozen precipitation) [°C].

  • TSp() Temperaturspanne flüssiger/fester Niederschlag (temperature range with mixed precipitation) [°C].

  • GTF() Grad-Tag-Faktor (factor of the degree-day method) [mm/°C/T].

  • PWMax() Maximalverhältnis Gesamt- zu Trockenschnee (maximum ratio of the total and the frozen water equivalent stored in the snow cover) [-].

  • WfET0() Zeitlicher Wichtungsfaktor der Grasreferenzverdunsung (temporal weighting factor for reference evapotranspiration).

  • FLn() Landnutzungsabhängiger Verdunstungsfaktor (factor for adjusting reference evapotranspiration to different land use classes) [-].

  • GrasRef_R() Bodenfeuchte-Verdunstung-Parameter (soil moisture-dependent evaporation factor) [-].

  • WMax() Maximaler Bodenwasserspeicher (maximum soil water storage) [mm].

  • FK() Feldkapazität / Mindestbodenfeuchte für die Interflowentstehung (field capacity / threshold value of soil moisture for interflow generation) [mm].

  • PWP() Permanenter Welkepunkt / Mindestbodenfeuchte für die Basisabflussentstehung (permanent wilting point threshold value of soil moisture for base flow generation) [mm].

  • BSf() Bodenfeuchte-Sättigungsfläche-Parameter (shape parameter for the relation between the avarage soil moisture and the relative saturated area of a subbasin) [-].

  • DMin() Drainageindex des mittleren Bodenspeichers (flux rate for releasing interflow from the middle soil compartment) [mm/T].

  • DMax() Drainageindex des oberen Bodenspeichers (additional flux rate for releasing interflow from the upper soil compartment) [mm/T].

  • Beta() Drainageindex des tiefen Bodenspeichers (storage coefficient for releasing base flow from the lower soil compartment) [1/T].

  • FBeta() Faktor zur Erhöhung der Perkolation im Grobporenbereich (factor for increasing percolation under wet conditions) [-].

  • KapMax() Maximale kapillare Aufstiegsrate (maximum capillary rise) [mm/T].

  • KapGrenz() Grenzwerte für den kapillaren Aufstieg (threshold values related to the capillary rise) [mm].

  • RBeta() Boolscher Parameter der steuert, ob the Perkolation unterhalb der Feldkapazität auf Null reduziert wird (flag to indicate if seepage is reduced to zero below field capacity) [-].

  • VolBMax() Maximaler Inhalt des Gebietsspeichers für Basisabfluss (maximum value of the storage compartment for base flow) [mm].

  • GSBMax() Faktor zur Anpassung von VolBMax (factor for adjusting VolBMax) [-].

  • GSBGrad1() Höchste Volumenzunahme des Gebietsspeichers für Basisabfluss ohne Begrenzung des Zuflusses (highest possible storage increase of the compartment for base flow without inflow reductions) [mm/T].

  • GSBGrad2() Volumenzunahme des Gebietsspeichers für Basisabfluss, oberhalb der jeglicher Zufluss ausgeschlossen ist (highest possible storage increase of the compartment for base flow) [mm/T].

  • A1() Parameter für die kontinuierliche Aufteilung der Direktabflusskomponenten (threshold value for the continuous seperation of direct runoff in a slow and a fast component) [mm/T]

  • A2() Parameter für die diskontinuierliche Aufteilung der Direktabflusskomponenten (threshold value for the discontinuous seperation of direct runoff in a slow and a fast component) [mm/T]

  • TInd() Fließzeitindex (factor related to the time of concentration) [T].

  • EQB() Kalibrierfaktor für die Basisabflusskonzentration (factor for adjusting the concentration time of baseflow). [-].

  • EQI1() Kalibrierfaktor für die “untere” Zwischenabflusskonzentration (factor for adjusting the concentration time of the first interflow component) [-].

  • EQI2() Kalibrierfaktor für die “obere” Zwischenabflusskonzentration (factor for adjusting the concentration time of the second interflow component) [-].

  • EQD1() Kalibrierfaktor für die langsamere Direktabflusskonzentration (factor for adjusting the concentration time of the slower component of direct runoff). [-].

  • EQD2() Kalibrierfaktor für die schnellere Direktabflusskonzentration (factor for adjusting the concentration time of the faster component of direct runoff). [-].

  • NegQ() Option: sind negative Abflüsse erlaubt (flag that indicated wether negative discharge values are allowed or not) [-].

class hydpy.models.lland_v2.DerivedParameters(master: hydpy.core.parametertools.Parameters, cls_fastaccess: Optional[Type[hydpy.core.parametertools.FastAccessParameter]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.variabletools.SubVariables[hydpy.core.parametertools.Parameters, Parameter, hydpy.core.parametertools.FastAccessParameter]

Derived parameters of model lland_v2.

The following classes are selected:
  • MOY() References the “global” month of the year index array [-].

  • AbsFHRU() Flächen der Hydrotope (areas of the respective HRUs) [km²].

  • KInz() Interzeptionskapazität bezogen auf die Bodenoberfläche (interception capacity normalized to the soil surface area) [mm].

  • KB() Konzentrationszeit des Basisabflusses (concentration time of baseflow) [T].

  • KI1() Konzentrationszeit des “unteren” Zwischenabflusses (concentration time of the first interflow component) [T].

  • KI2() Konzentrationszeit des “oberen” Zwischenabflusses” (concentration time of the second interflow component) [T].

  • KD1() Konzentrationszeit des “langsamen” Direktabflusses (concentration time of the slower component of direct runoff) [T].

  • KD2() Konzentrationszeit des “schnellen” Direktabflusses (concentration time of the faster component of direct runoff) [T].

  • QBGAMax() Maximaler Abfluss aus dem Basisabfluss-Gebietsspeicher (maximum outflow from the storage compartment for base flow) [mm/T].

  • QFactor() Factor for converting mm/stepsize to m³/s.

class hydpy.models.lland_v2.FixedParameters(master: hydpy.core.parametertools.Parameters, cls_fastaccess: Optional[Type[hydpy.core.parametertools.FastAccessParameter]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.variabletools.SubVariables[hydpy.core.parametertools.Parameters, Parameter, hydpy.core.parametertools.FastAccessParameter]

Fixed parameters of model lland_v2.

The following classes are selected:
  • CPWasser() Spezifische Wärmekapazität von Wasser (specific heat capacity of water) [MJ/mm/K].

  • CPEis() Spezifische Wärmekapazität von Eis bei 0 °C (specific heat capacity of ice at a temperature of 0 °C) [MJ/mm/K].

  • RSchmelz() Spezifische Schmelzwärme von Wasser (specific melt heat of water) [MJ/mm].

class hydpy.models.lland_v2.FluxSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.OutputSequences[FluxSequence]

Flux sequences of model lland_v2.

The following classes are selected:
  • QZ() Zufluss in das Teilgebiet (inflow into the subcatchment) [m³/s].

  • QZH() Abflussspende in das Teilgebiet (inflow into the subcatchment) [mm].

  • NKor() Korrigierter Niederschlag (corrected precipitation) [mm].

  • TKor() Korrigierte Lufttemperatur (corrected air temperature) [°C].

  • NBes() Gesamter Bestandsniederschlag (total stand precipitation) [mm].

  • SBes() Schneeanteil Bestandsniederschlag (frozen stand precipitation) [mm].

  • ET0() Grasreferenzverdunstung (reference evapotranspiration) [mm].

  • EvPo() Evapotranspiration (evapotranspiration) [mm].

  • EvI() Tatsächliche Interzeptionsverdunstung (actual evaporation of intercepted water) [mm].

  • EvB() Tatsächliche Verdunstung von Bodenwasser (actual evaporation of soil water) [mm].

  • WGTF() Mit dem Grad-Tag-Verfahren berechneter Wärmeestrom in die Schneedecke (heat flux into the snow layer calculated with the degree-day method) [MJ/m²].

  • WNied() Niederschlagsbedingter Wärmestrom in die Schneedecke (heat flux into the snow layer due to precipitation) [MJ/m²].

  • SchmPot() Potentielle Schneeschmelze (potential amount of water melting within the snow cover) [mm].

  • Schm() Tatsächliche Schneeschmelze (actual amount of water melting within the snow cover) [mm].

  • WaDa() Wasserdargebot (water reaching the soil routine) [mm].

  • QDB() Direktabfluss-Abgabe aus dem Bodenspeicher (direct runoff release from the soil storage) [mm].

  • QIB1() Erste Komponente der Interflow-Abgabe aus dem Bodenspeicher (first component of the interflow release from the soil storage) [mm].

  • QIB2() Zweite Komponente der Interflow-Abgabe aus dem Bodenspeicher (second component of the interflow release from the soil storage) [mm].

  • QBB() Basisabfluss-Abgabe aus dem Bodenspeicher (base flow release from the soil storage) [mm].

  • QKap() Kapillarer Aufstieg in den Bodenspeicher (capillary rise to soil storage) [mm].

  • QDGZ() Gesamtzufluss in beide Direktabfluss-Gebietsspeicher (total inflow into both storage compartments for direct runoff) [mm].

  • QAH() Abflussspende des Teilgebiets (runoff at the catchment outlet) [mm].

  • QA() Abfluss des Teilgebiets (runoff at the catchment outlet) [m³/s].

class hydpy.models.lland_v2.InletSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.LinkSequences[InletSequence]

Inlet sequences of model lland_v2.

The following classes are selected:
  • Q() Abfluss (runoff) [m³/s].

class hydpy.models.lland_v2.InputSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.ModelIOSequences[InputSequence, hydpy.core.sequencetools.FastAccessInputSequence]

Input sequences of model lland_v2.

The following classes are selected:
  • Nied() Niederschlag (precipitation) [mm].

  • TemL() Lufttemperatur (air temperature) [°C].

  • PET() Potenzielle Verdunstung (potential evapotranspiration) [mm].

class hydpy.models.lland_v2.LogSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.ModelSequences[LogSequence, hydpy.core.variabletools.FastAccess]

Log sequences of model lland_v2.

The following classes are selected:
  • WET0() Zeitlich gewichtete Grasreferenzverdunstung (temporally weighted reference evapotranspiration) [mm].

class hydpy.models.lland_v2.OutletSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.LinkSequences[OutletSequence]

Outlet sequences of model lland_v2.

The following classes are selected:
  • Q() Abfluss (runoff) [m³/s].

class hydpy.models.lland_v2.StateSequences(master: hydpy.core.sequencetools.Sequences, cls_fastaccess: Optional[Type[FastAccessType]] = None, cymodel: Optional[hydpy.core.typingtools.CyModelProtocol] = None)

Bases: hydpy.core.sequencetools.OutputSequences[StateSequence]

State sequences of model lland_v2.

The following classes are selected:
  • Inzp() Interzeptionsspeicherung (interception storage) [mm].

  • WATS() Wasseräquivalent Trockenschnee auf der Bodenoberfläche (frozen water equivalent of the snow cover) [mm].

  • WAeS() Wasseräquivalent Gesamtschnee auf der Bodenoberfläche (total water equivalent of the snow cover) [mm].

  • BoWa() Bodenwasserspeicherung (soil water storage) [mm].

  • QDGZ1() Zufluss in den trägeren Direktabfluss-Gebietsspeicher (inflow into the less responsive storage compartment for direct runoff) [mm].

  • QDGZ2() Zufluss in den dynamischeren Direktabfluss-Gebietsspeicher (inflow into the more responsive storage compartment for direct runoff) [mm].

  • QIGZ1() “Zufluss in den ersten Zwischenabfluss-Gebietsspeicher (inflow into the first storage compartment for interflow) [mm].

  • QIGZ2() Zufluss in den zweiten Zwischenabfluss-Gebietsspeicher (inflow into the second storage compartment for interflow) [mm].

  • QBGZ() Zufluss in den Basisabfluss-Gebietsspeicher (inflow into the storage compartment for base flow) [mm].

  • QDGA1() Abfluss aus dem trägeren Direktabfluss-Gebietsspeicher (outflow from the less responsive storage compartment for direct runoff) [mm].

  • QDGA2() Abfluss aus dem dynamischeren Direktabfluss-Gebietsspeicher (outflow from the more responsive storage compartment for direct runoff) [mm].

  • QIGA1() Abfluss aus dem “unteren” Zwischenabfluss-Gebietsspeicher (outflow from the storage compartment for the first interflow component) [mm].

  • QIGA2() Abfluss aus dem “oberen” Zwischenabfluss-Gebietsspeicher (outflow from the storage compartment for the second interflow component) [mm].

  • QBGA() Abfluss aus dem Basisabfluss-Gebietsspeicher (outflow from the storage compartment for base flow) [mm].