wolfhece.eva.maxwell_hydrograph =============================== .. py:module:: wolfhece.eva.maxwell_hydrograph Module Contents --------------- .. py:class:: MaxwellHydrographSwitzerland(qmax: float, tmax: float, n: float = 6) .. py:attribute:: qmax .. py:attribute:: tmax .. py:attribute:: n :value: 6 .. py:method:: _flow_at_time(t: float) -> float Compute the flow at a given time t based on the Maxwell hydrograph formula. .. py:method:: volume() -> float Compute the total volume under the hydrograph. .. py:method:: set_qmax_from_volume_and_tmax(volume: float, tmax: float) Set qmax based on the desired volume and tmax. .. py:method:: discretized_hydrograph(duration: float, time_step: float) -> tuple[numpy.ndarray, numpy.ndarray] Generate discretized time and flow arrays for the hydrograph. .. py:method:: plot_hydrograph(duration: float, time_step: float, figaxe=None) Plot the hydrograph over a specified duration and time step. .. py:method:: set_parameters(qmax: float, tmax: float, n: float) Set the parameters of the Maxwell hydrograph. .. py:method:: get_parameters() -> tuple[float, float, float] Return the parameters of the Maxwell hydrograph. .. py:class:: _MaxwellHydrographGas(K: float, t_concentration: float) .. py:attribute:: K .. py:attribute:: t_concentration .. py:method:: convolve_rainfall(rainfall_intensity: numpy.ndarray, time_step: float) -> numpy.ndarray Convolve the rainfall intensity array with the Maxwell hydrograph to produce the runoff hydrograph. .. py:method:: deconvolve_runoff(runoff_hydrograph: numpy.ndarray, time_step: float) -> numpy.ndarray Deconvolve the runoff hydrograph to estimate the rainfall intensity array. .. py:method:: 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] Optimize the Maxwell hydrograph parameters (K and t_concentration) to fit observed runoff data. .. py:method:: _flow_at_time(t: float) -> float Compute the flow at a given time t based on the Maxwell hydrograph formula. .. py:method:: _unit_hydrograph_over_time(time_array: numpy.ndarray) -> numpy.ndarray Compute the hydrograph over an array of time values. .. py:method:: discretized_unit_hydrograph(duration: float, time_step: float) -> tuple[numpy.ndarray, numpy.ndarray] Generate discretized time and flow arrays for the hydrograph. .. py:method:: get_parameters() -> tuple[float, float] Return the parameters of the Maxwell hydrograph. .. py:method:: set_parameters(K: float, t_concentration: float) Set the parameters of the Maxwell hydrograph. .. py:method:: print_hydrograph_info() Print the hydrograph parameters and characteristics. .. py:method:: plot_hydrograph(duration: float, time_step: float, figaxe=None) Plot the hydrograph over a specified duration and time step. .. py:data:: hydrograph