Implementierung des Konzepts

Modell-Parameter

snow_melt_rate:[3.01..10] Rate of snow melt in \(\frac{mm}{day °C}\)
infiltration_w0:
 [0.5..0.989] \(W_0\) saturation index
ETV1:[0.102..0.9] Fraction of river capacity where ET starts to be limited
percolation_Q0:[2.77..999] Percolation rate in \(mm/day\) when the river stores contains:math:V_0 cdot C [mm] water
percolation_V0:[0.011..0.999] Normal water content in terms of river capacity
percolation_Vres:
 [0.00116..0.998] Residual water content of the river
percolation_beta:
 [0.501..4.98] Curve shape parameter of the power law function
groundwater_residence_time:
 [1.95..999] Residence time of the groundwater in days
runoff:[1.03..30] Time that the water needs to flow from the river to the outlet in days

Die Modell-Klasse

class models.feli.Modell[Quellcode]

A simple lumped 1 storage model with ET and snow but no canopy interception or soil storage. Instead of soil, the river acts as a storage of surface water. :numref: ‚figconcept‘ zeigt das Modell-Konzept

create_connections(p: models.feli.Parameters = None)[Quellcode]

Creates the connections and parameterizes the storages of the model

create_snow_connections(p: models.feli.Parameters)[Quellcode]

Divides snowfall and rainfall based on temperature and calculates the snow melt rate using a simple temperature index melting model :param p: The model parameters, here only p.snow_melt_rate is used

create_surface_runoff(p: models.feli.Parameters)[Quellcode]

Models infiltration with a mixed saturation / infiltration excess model and routes all runoff directly without timelag to the outlet

evaluation()[Quellcode]

Returns the evaluation data

iterate(p: models.feli.Parameters)[Quellcode]

Calls create_connections and inital_values to shape the model using the parameter set p and returns an iterator that advances the model over the whole data period

mm_to_m3(vol)[Quellcode]

Calculates volume in m³ from the normalized volume in mm :param vol: The volume in mm :return: The volume in m³

objectivefunction(simulation, evaluation)[Quellcode]

Calculates the goodness of the simulation

Calculates
  • \(NSE_c\): the Nash-Sutcliffe Efficiancy
    for the calibration period (self.begin:self.end)
  • \(PBIAS_c\): the procentual bias between model and observation
    for the calibration period (self.begin:self.end)
  • \(NSE_v\): the Nash-Sutcliffe Efficiancy
    for the validation period (self.end:self.data.end)
  • \(PBIAS_v\): the procentual bias between model and observation
    for the validation period (self.end:self.data.end)

and returns these objectives as a list in that order

output(t)[Quellcode]

Defines what the ouput of the model is :param t: Time step of the model :return: A value representing the model output

run(p: models.feli.Parameters)[Quellcode]

Integrates the model over the whole data period :return: cmf.timeseries including the model output

simulation(vector)[Quellcode]

This function is only important for spotpy, otherwise it is equivalent with „run“ :param vector: :return:

Das CMF-Projekt

cmf.project(1 cells, 1 meteo stations, 1 project nodes)

Project nodes:
  • {outlet}:
    • waterbalance connection({Surface water of cell #0}<->{outlet})
    • LinearStorageConnection({river}<->{outlet})
    • LinearStorageConnection({gw}<->{outlet})
Cells:
  • cell #0(0,0,0):
    • {Snow of cell #0}:
      • Simple T-Index snow melt({Snow of cell #0}<->{Surface water of cell #0})
      • Snowfall({Rainfall from Grebenau avg}<->{Snow of cell #0})
    • {river}:
      • simple infiltration({Surface water of cell #0}<->{river})
      • LinearStorageConnection({river}<->{outlet})
      • power law({river}<->{gw})
      • HargreaveET({river}<->{Transpiration of cell #0})
    • {gw}:
      • power law({river}<->{gw})
      • LinearStorageConnection({gw}<->{outlet})
Meteo Stations:
  • cmf.MeteoStation(Grebenau avg,lat=51,lon=8,z= 0.0):
    Tmin: 3653 values from 1979-01-01 to 1989-01-01 step 1d:00:00:00h , min/mean/max -22.1 / 4.2157 / 18.6 Tmax: 3653 values from 1979-01-01 to 1989-01-01 step 1d:00:00:00h , min/mean/max -12.9 / 12.708 / 33.5 Tdew: ~ T: 3653 values from 1979-01-01 to 1989-01-01 step 1d:00:00:00h , min/mean/max -16.7 / 8.462 / 25.05 rHmean: ~ rHmax: ~ rHmin: ~ Sunshine: ~ Windspeed: ~ Rs: ~
Rain Stations:
  • Grebenau avg (838.23mm/year)
    3653 values from 1979-01-01 to 1989-01-01 step 1d:00:00:00h , min/mean/max 0 / 2.2965 / 56.6