ProgressiveReservoir

class rameau.core.ProgressiveReservoir(capacity=None, pet_decrease=False, h=0.0)[source]

Soil reservoir using the GR3 approach [Edijatno and Michel, 1989].

Parameters:
  • capacity (dict or Parameter, optional) – Soil water holding capacity (mm).

  • pet_decrease (bool, optional) – Whether PET decreases when soil water content is lower than 50%.

  • h (float, optional) – Soil moisture storage of the reservoir (mm). It is the reservoir level. Default is 0 mm.

Returns:

ProgressiveReservoir

Example

In the API, soil reservoirs using the GR3 approach are created as follows:

>>> sw = rm.ProgressiveReservoir(capacity=150.0, h=100)
>>> sw.h
100.0

Now we introduce 150 mm of rainfall and 10 mm of PET and we produce effective rainfall and AET:

>>> sw.production(150, 10)
{'effective_rainfall':30.178375244140625, 'aet':10.0, 'unsatisfied_pet':0.0}

Look how the reservoir level h has changed:

>>> sw.h
109.82162475585938

Methods

production(rainfall, pet)

Production function of the soil reservoir using the GR3 approach [Edijatno and Michel, 1989].

Attributes

capacity

Soil water holding capacity (mm)

h

Soil water content (mm)

pet_decrease

Whether Potential Evapotranspiration decreases when soil water content is lower than 50%.