Python client to retrieve data provided by the 16 German federal state flood information centers jointly known as Länderübergreifendes Hochwasser Portal (LHP)
pip install lhpapi
Get values for the Isar in Munich
from lhpapi import HochwasserPortalAPI, LHPError
try:
api = HochwasserPortalAPI("BY_16005701")
print(f"ident:\t\t{api.ident}")
print(f"name:\t\t{api.name}")
print(f"url:\t\t{api.url}")
print(f"hint:\t\t{api.hint}")
print(f"level:\t\t{api.level} cm")
print(f"stage:\t\t{api.stage}")
print(f"flow:\t\t{api.flow} m³/s")
print(f"last_update:\t{api.last_update}")
except LHPError as err:
print("Something went wrong!")
Result
ident: BY_16005701
name: München / Isar
url: https://www.hnd.bayern.de/pegel/isar/muenchen-16005701
hint: None
level: 120.0 cm
stage: 0
flow: 73.6 m³/s
last_update: 2024-03-01 21:15:00+00:00
Methods:
-
__init__(ident: str)
Create a new LHP API class instanceThe
ident
must be one of the stream gauges (Pegel
) listed in pegel.md. Some stream gauges are listed twice or even more often in pegel.md, because they are listed on more than one state portal. Select the one of your choice.Method
update()
is automatically called at the end of a successfull init. -
update()
Update data by querying the LHP servers and parsing the resultFunction should be called regularly, e.g. every 15minutes, to update the data stored in the class attributes.
Attributes (read only):
-
ident : str
The identifier of the selected stream gauge -
name : str
The name of the selected stream gauge -
url : str
An URL pointing to additional information about the selected stream gauge -
hint : str
A hint reported for the the selected stream gauge -
level : float
The actual water level (in German Pegelstand or colloquially Wasserstand). A value in centimetres, starting from 0 cm = Pegelnullpunktshöhe. -
stage : int
The actual warning stage (in German depending on ferderal state e.g. Meldestufe in Bavaria, Alarmstufe in Brandenburg). A number between 0 (=no flood) and 4 (= very large flood). -
flow : float
The actual flow rate (in German Abfluss or Durchfluss). A value in m³/s. -
last_update : datetime
A datetime object representing the last update
- ✔️ Value mostly available. Check individual state portal because not all stream gauges report all values, values not avaiable are reported as
None
. - ❌ Value generally yet not available.
Prefix | State | Level | Stage | Flow | Portal |
---|---|---|---|---|---|
BB | Brandenburg | ✔️ | ✔️ | ✔️ | Pegelportal Brandenburg |
BE | Berlin | ✔️ | ❌ | ✔️ | Wasserportal Berlin |
BW | Baden-Württemberg | ✔️ | ✔️ | ✔️ | Hochwasservorhersagezentrale Baden-Württemberg |
BY | Bayern | ✔️ | ✔️ | ✔️ | Hochwassernachrichtendienst Bayern |
HB | Bremen | ✔️ | ✔️ | ❌ | Pegelstände Bremen |
HE | Hessen | ✔️ | ✔️ | ✔️ | Hochwasserportal Hessen |
HH | Hamburg | ✔️ | ✔️ | ❌ | Warndienst Binnenhochwasser Hamburg |
MV | Mecklenburg-Vorpommern | ✔️ | ✔️ | ✔️ | Pegelportal Mecklenburg-Vorpommern |
NI | Niedersachsen | ✔️ | ✔️ | ✔️ | NLWKN Pegelonline |
NW | Nordrhein-Westfalen | ✔️ | ✔️ | ❌ | Hochwassermeldedienst NRW |
RP | Rheinland-Pfalz | ✔️ | ✔️ | ✔️ | Hochwasservorhersagedienst - Landesamt für Umwelt Rheinland-Pfalz |
SH | Schleswig-Holstein | ✔️ | ✔️ | ✔️ | Hochwasser-Sturmflut-Information Schleswig-Holstein |
SL | Saarland | ✔️ | ✔️ | ❌ | Pegel Saarland |
SN | Sachsen | ✔️ | ✔️ | ✔️ | Landeshochwasserzentrum Sachsen |
ST | Sachsen-Anhalt | ✔️ | ✔️ | ✔️ | Landesportal Sachsen-Anhalt |
TH | Thüringen | ✔️ | ✔️ | ✔️ | Hochwassernachrichtenzentrale Thüringen |