physics.rainfall_intensity

This module contains functions to calculate the intensity of a rainfall event for a given duration and return period.

This function uses the Sherman intensity-duration-frequency curve.

References

Functions

rainfall_intensity(→ float)

Calculate the intensity of a rainfall event for a given duration and return period.

Module Contents

physics.rainfall_intensity.rainfall_intensity(coefficient_k: float, coefficient_a: float, coefficient_b: float, coefficient_c: float, return_period: float, duration: float) float

Calculate the intensity of a rainfall event for a given duration and return period. It’s based on the Sherman intensity-duration-frequency curve:

I = k * T^a / (D + b)^c

where:

I = Intensity of the rainfall event [mm/h] k, a, b, c = Coefficients obtained through statistical distribution adjust T = Return period in years D = Rainfall event duration in minutes

Parameters

coefficient_kfloat

Coefficient obtained through statistical distribution adjust.

coefficient_afloat

Coefficient obtained through statistical distribution adjust.

coefficient_bfloat

Coefficient obtained through statistical distribution adjust.

coefficient_cfloat

Coefficient obtained through statistical distribution adjust.

return_periodfloat

Return period in years.

durationfloat

Rainfall event duration in minutes.

Returns

intensityfloat

Intensity of the rainfall event in mm/h.

Raises

ValueError

If any of the parameters are not positive.

Examples

>>> rainfall_intensity(1000, 0.2, 11.6, 0.81, 10, 60)
49.83339231138578
>>> rainfall_intensity(1000, 0.2, 11.6, 0.81, 10, 30)
77.36319588106228
>>> rainfall_intensity(1000, 0.2, 11.6, 0.81, 5, 60)
43.382487747633625
>>> rainfall_intensity(0, 0.2, 11.6, 0.81, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, -0.2, 11.6, 0.81, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, 0.2, -11.6, 0.81, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, 0.2, 11.6, -0.81, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, 0, 11.6, 0.81, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, 0.2, 0, 0.81, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, 0.2, 11.6, 0, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(0, 0.2, 11.6, 0.81, 10, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, 0.2, 11.6, 0.81, 0, 60)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.
>>> rainfall_intensity(1000, 0.2, 11.6, 0.81, 10, 0)
Traceback (most recent call last):
...
ValueError: All parameters must be positive.