wolfhece.RatingCurve_xml

Author: HECE - University of Liege, Pierre Archambeau Date: 2024

Copyright (c) 2024 University of Liege. All rights reserved.

This script and its content are protected by copyright law. Unauthorized copying or distribution of this file, via any medium, is strictly prohibited.

Module Contents

wolfhece.RatingCurve_xml.get_power_law()[source]
wolfhece.RatingCurve_xml.get_power_law_(*args)[source]
wolfhece.RatingCurve_xml.get_poly3_law()[source]
wolfhece.RatingCurve_xml.get_poly3_law_(*args)[source]
wolfhece.RatingCurve_xml.get_poly2_law()[source]
wolfhece.RatingCurve_xml.get_poly2_law_(*args)[source]
class wolfhece.RatingCurve_xml.laws[source]

Bases: enum.Enum

Inheritance diagram of wolfhece.RatingCurve_xml.laws

Generic enumeration.

Derive from this class to define new enumerations.

poly2 = ()[source]
poly3 = ()[source]
power = ()[source]
class wolfhece.RatingCurve_xml.Gauging(date: datetime.datetime, waterdepth: float, discharge: float, wet_area: float = np.nan, width: float = np.nan, wet_perimeter: float = np.nan)[source]

Class pour un jaugeage

date: datetime.datetime[source]
waterdepth: float[source]
discharge: float[source]
width: float[source]
wet_area: float[source]
wet_perimeter: float[source]
class wolfhece.RatingCurve_xml.FragmentCurve(expression: str | sympy.Function, h_min: float, h_max: float, river: str = None)[source]

Fragment de courbe de tarage

expression: str[source]
h_min: float[source]
h_max: float[source]
river: str[source]
plot_frag(figax=None, ls='solid', color='k')[source]

Graphique du fragment de courbe de tarage

Parameters:
  • figax – figure et axes matplotlib (optionel) – si non fourni, une nouvelle figure est créée

  • ls – style de ligne (optionel) – solide par défaut

  • color – couleur de la courbe (optionel) – noir par défaut

class wolfhece.RatingCurve_xml.RatingCurve(date_start: datetime.datetime, date_end: datetime.datetime, active: bool = True)[source]

Class pour les courbes de tarage

date_start: datetime.datetime[source]
date_end: datetime.datetime[source]
fragments: list[FragmentCurve][source]
active: bool[source]
add(expression: str | sympy.Function, h_min: float, h_max: float)[source]

Ajout d’un fragment de courbe de tarage

Parameters:
  • expression – expression analytique de la courbe – chaîne de caractères ou fonction

  • h_min – hauteur minimale

  • h_max – hauteur maximale

plot_curve(figax=None, color='k')[source]

Graphique de la courbe de tarage

Parameters:
  • figax – figure et axes matplotlib (optionel) – si non fourni, une nouvelle figure est créée

  • color – couleur de la courbe (optionel) – noir par défaut

compute_q_from_h(h: pandas.Series) pandas.Series[source]

Conversion mesure de hauteur H en débit Q

Parameters:

h – série Pandas de hauteur H

Returns:

série Pandas de débit Q

compute_h_from_q(q: pandas.Series) pandas.Series[source]

Conversion mesure de débit Q en Hauteur H

Parameters:

q – série Pandas de débit Q

Returns:

série Pandas de hauteur H

class wolfhece.RatingCurve_xml.StationCurvesGaugings(filename: str = None)[source]

Une station avec courbes de tarage et jaugeages

curves: list[RatingCurve][source]
gaugings: list[Gauging][source]
get_href(hydrometry)[source]

Récupération de l’altitude de référence depuis le site hydrometrie.wallonie.be

add_ratingcurve(rc: RatingCurve)[source]

Ajout d’une courbe de tarage

_read_xml(file_xml: str)[source]

Lecture des infos au format XML –> DCENN export KIWIS

Remark:

Si le format change, il faut adapter cette méthode

_read_gaugings(fichier_xls: str)[source]

Récupération des données de jaugeages sur base d’un fichier Excel

get_periods()[source]

Récupération des périodes de validité des courbes de tarage

get_curves(date_debut: datetime.datetime = None, date_fin: datetime.datetime = None, only_active=True, only_last=False) list[RatingCurve][source]

Récupération des courbes sur base de dates

Parameters:
  • date_debut – date de début d’intervalle

  • date_fin – date de fin d’intervalle

  • only_active – ne prendre que les courbes actives (dépend si lu via xml ou xlsx)

  • only_last – ne prendre que la dernière courbe encodée

return: liste de courbes de tarage

get_gaugings(date_debut: datetime.datetime = None, date_fin: datetime.datetime = None) list[Gauging][source]

Récupération des jaugeages sur base de dates

Parameters:
  • date_debut – date de début d’intervalle

  • date_fin – date de fin d’intervalle

return: liste de jaugeages

print_gaugings(date_debut: datetime.datetime = None, date_fin: datetime.datetime = None)[source]

Affichage des jaugeages sur base de dates

get_max_gauging(date_debut: datetime.datetime = None, date_fin: datetime.datetime = None)[source]

Récupération du jaugeage avec le débit le plus élevé

plot_curves(figax=None, date_debut: datetime.datetime = None, date_fin: datetime.datetime = None, only_active=True, only_last=False) tuple[matplotlib.figure.Figure, matplotlib.axes.Axes][source]

Affichage des courbes de tarage

Parameters:
  • figax – figure et axes matplotlib

  • date_debut – date de début d’intervalle

  • date_fin – date de fin d’intervalle

  • only_active – ne prendre que les courbes actives (dépend si lu via xml ou xlsx)

  • only_last – ne prendre que la dernière courbe encodée

return: figure et axes matplotlib

plot_gaugings(figax=None, date_debut: datetime.datetime = None, date_fin: datetime.datetime = None, pointsize: float = 1.0, confidence_h: float = None, confidence_q: float = None) tuple[matplotlib.figure.Figure, matplotlib.axes.Axes][source]

Affichage des jaugeages

Parameters:
  • figax – figure et axes matplotlib

  • date_debut – date de début d’intervalle

  • date_fin – date de fin d’intervalle

  • pointsize – taille des points – 1 par défaut

  • confidence_h – incertitude sur la hauteur [m]

  • confidence_q – pourcentage d’incertitude sur le débit [-] – 0.1 pour 10%

return: figure et axes matplotlib

fit(date_debut: datetime.datetime = None, date_fin: datetime.datetime = None, which=laws.power)[source]

Ajustement d’une courbe de tarage

Parameters:
  • date_debut – date de début d’intervalle

  • date_fin – date de fin d’intervalle

  • which – type de courbe de tarage (puissance, polynome 2 ou 3) –see laws enum

class wolfhece.RatingCurve_xml.StationsCurvesGaugings(dir: str)[source]

Liste des stations avec courbes de tarage et jaugeages

stations: dict[str, StationCurvesGaugings][source]
add_data_SPWDCENN(dir: str)[source]

Gestion des stations SPW-DCENN

1 station = 1 fichier xml

add_data_SPWMI(dir: str)[source]

Gestion des sttaions SPW-MI

1 fichier xlsx = plusieurs stations

wolfhece.RatingCurve_xml.func[source]