wolfhece.eva.maxwell_hydrograph

Module Contents

class wolfhece.eva.maxwell_hydrograph.MaxwellHydrographSwitzerland(qmax: float, tmax: float, n: float = 6)[source]
qmax[source]
tmax[source]
n = 6[source]
_flow_at_time(t: float) float[source]

Compute the flow at a given time t based on the Maxwell hydrograph formula.

volume() float[source]

Compute the total volume under the hydrograph.

set_qmax_from_volume_and_tmax(volume: float, tmax: float)[source]

Set qmax based on the desired volume and tmax.

discretized_hydrograph(duration: float, time_step: float) tuple[numpy.ndarray, numpy.ndarray][source]

Generate discretized time and flow arrays for the hydrograph.

plot_hydrograph(duration: float, time_step: float, figaxe=None)[source]

Plot the hydrograph over a specified duration and time step.

set_parameters(qmax: float, tmax: float, n: float)[source]

Set the parameters of the Maxwell hydrograph.

get_parameters() tuple[float, float, float][source]

Return the parameters of the Maxwell hydrograph.

class wolfhece.eva.maxwell_hydrograph._MaxwellHydrographGas(K: float, t_concentration: float)[source]
K[source]
t_concentration[source]
convolve_rainfall(rainfall_intensity: numpy.ndarray, time_step: float) numpy.ndarray[source]

Convolve the rainfall intensity array with the Maxwell hydrograph to produce the runoff hydrograph.

deconvolve_runoff(runoff_hydrograph: numpy.ndarray, time_step: float) numpy.ndarray[source]

Deconvolve the runoff hydrograph to estimate the rainfall intensity array.

optimize_parameters(observed_runoff: numpy.ndarray, rainfall_intensity: numpy.ndarray, time_step: float, initial_guess: tuple[float, float], bounds: tuple[tuple[float, float], tuple[float, float]]) tuple[float, float][source]

Optimize the Maxwell hydrograph parameters (K and t_concentration) to fit observed runoff data.

_flow_at_time(t: float) float[source]

Compute the flow at a given time t based on the Maxwell hydrograph formula.

_unit_hydrograph_over_time(time_array: numpy.ndarray) numpy.ndarray[source]

Compute the hydrograph over an array of time values.

discretized_unit_hydrograph(duration: float, time_step: float) tuple[numpy.ndarray, numpy.ndarray][source]

Generate discretized time and flow arrays for the hydrograph.

get_parameters() tuple[float, float][source]

Return the parameters of the Maxwell hydrograph.

set_parameters(K: float, t_concentration: float)[source]

Set the parameters of the Maxwell hydrograph.

print_hydrograph_info()[source]

Print the hydrograph parameters and characteristics.

plot_hydrograph(duration: float, time_step: float, figaxe=None)[source]

Plot the hydrograph over a specified duration and time step.

wolfhece.eva.maxwell_hydrograph.hydrograph[source]