Zum Inhalt

Konfiguration

Voraussetzungen

Python-Umgebung

WorldQual Lite setzt Python 3.8 oder höher voraus. Die erforderlichen Pakete werden über die mitgelieferte requirements.txt installiert:

pip install -r requirements.txt

Abhängigkeiten: pandas, NumPy, SciPy, Matplotlib, seaborn, GeoPandas, GDAL, mysql-connector-python, python-dotenv, PyYAML.

Eingabedaten

Das Modell benötigt zwei Kategorien von Eingabedaten:

  1. Rasterdaten (UNF-Binärdateien) – räumlich aufgelöste Daten auf einem 5-Bogenminuten-Gitter
  2. Tabellarische Daten – Länder- und Zellparameter aus einer MySQL-Datenbank oder CSV-Dateien

Eine vollständige Auflistung aller benötigten Dateien findet sich in der Input-Daten Checkliste.


Einzugsgebiet definieren

Vor der Modellausführung muss festgelegt werden, welche Rasterzellen zum Untersuchungsgebiet gehören. Hierfür stehen zwei Vorgehensweisen zur Verfügung:

Option A: Automatische Abgrenzung mit BasinDelineation.py

Das Skript BasinDelineation.py identifiziert alle Rasterzellen innerhalb eines Einzugsgebiets. Es implementiert zwei Methoden:

Methode 1 – Routing-basiert: Ausgehend von einer oder mehreren Auslass-Zellen (MostDownstreamCell) werden über die Routing-Datei (G_OUTFLC.UNF4) alle Oberstrom-Zellen rückwärts identifiziert.

# In config.yaml anpassen:
spatial:
  downstream_cells: [82130, 82129, 82128]  # Auslass-Zell-IDs

Methode 2 – Shapefile-Overlay: Ein Einzugsgebiets-Shapefile wird räumlich mit dem WaterGAP-Referenzgitter (mother_eu.shp) verschnitten. Das Ergebnis ist eine Liste der Zell-IDs mit dem jeweiligen Flächenanteil im Einzugsgebiet.

Option B: Verwendung einer vorhandenen Zellenliste

Falls bereits eine CSV-Datei mit Zell-IDs vorliegt, kann diese direkt in config.yaml referenziert werden:

paths:
  basin_cells_csv: "data/List_of_cells_in_Möhne_basin.csv"

Format der Zellenliste

Die CSV-Datei muss eine Spalte Cell_ID mit den GCRC-Nummern der Rasterzellen enthalten. Optional kann eine Spalte Portion of Cell in Basin (%) die Flächenanteile angeben.


config.yaml bearbeiten

Sämtliche Modelleinstellungen werden in der zentralen Datei config.yaml im Projektverzeichnis vorgenommen. Bei Verwendung einer MySQL-Datenbank müssen zusätzlich die Zugangsdaten in einer .env-Datei hinterlegt werden (Vorlage: .env.example).

Konfigurations-Assistent

Mit dem Konfigurations-Assistenten kann eine config.yaml interaktiv per Dropdown-Menü erstellt und heruntergeladen werden. Die Parameterreferenz enthält Nachschlagetabellen für alle IDs und Codes.

Datenbankzugang einrichten (nur bei data_source: "DB")

cp .env.example .env
# .env bearbeiten und Zugangsdaten eintragen

Lauftyp und Szenario

run:
  type: "Historical"        # "Historical" oder "Future"
  data_source: "Excel"      # "DB" (MySQL) oder "Excel" (CSV-Dateien)
  scenario: "SSP2"          # "SSP1", "SSP2", "SSP5" (nur bei Future)
  rcp: "rcp6p0"             # "rcp2p6", "rcp6p0", "rcp8p5" (nur bei Future)
  gcm: "MIROC5"             # GCM-Modell (nur bei Future)

Simulationszeitraum

time:
  initial_year: 1990        # Startjahr
  final_year: 2016          # Endjahr (einschließlich)
  time_step: 1              # Zeitschritt in Jahren (1 für historisch, 10 für Zukunftsszenarien)

Räumliche Parameter

spatial:
  country_id: 276           # ISO-3166 Ländercode (276 = Deutschland)
  continent_index: 0        # 0=eu, 1=af, 2=as, 3=au, 4=na, 5=sa
  id_reg: 1                 # Regionskennung (1=EU, 2=AF, ...)
  parameter_id: 60          # Wasserqualitätsparameter (60 = Phosphor)
  id_scen: 27               # Szenario-ID in der Datenbank

Kalibrierungsparameter

calibration:
  lmax: 6.34e-02            # Maximale DP-Auslaugungsfraktion
  a: 900                    # Formparameter Abfluss-DP-Beziehung
  b: -2                     # Formparameter Abfluss-DP-Beziehung
  c: 1.0e-12                # Skalierungsfaktor partikulärer P mit erodiertem Sediment
  sc_corr: 1                # Korrekturfaktor Streusiedlungen
  bg_corr: 1                # Korrekturfaktor Hintergrundbelastung

Dateipfade

paths:
  basin_cells_csv: "data/example/basin_cells.csv"
  cell_input_folder: "data/Europe_Cell_Input_Files"
  output_folder: "data/output"
  data_path: "data/input"
  surface_runoff_folder: "data/Europe_Input_UNF_Files/G_SURFACE_RUNOFF"
  urban_runoff_folder: "data/Europe_Input_UNF_Files/G_URBAN_RUNOFF"
  # ... weitere UNF-Pfade siehe config.yaml
Pfad Beschreibung
basin_cells_csv CSV mit Einzugsgebiets-Zellen (Ergebnis von BasinDelineation.py)
cell_input_folder Ordner mit Zellinput-CSVs (historisch direkt, Future in SSP-Unterordnern)
output_folder Ordner für Modellergebnisse (CSV, Plots)
data_path Ordner für Länderdaten-CSVs (nur bei data_source: "Excel")

Pfadauflösung

Relative Pfade werden automatisch relativ zum Projektverzeichnis aufgelöst. Absolute Pfade werden unverändert übernommen.

Nächster Schritt: Durchführung — Modell ausführen und Ergebnisse validieren.