Zum Inhalt

WorldQual

Modellbeschreibung

WorldQual ist ein C++-basiertes Wasserqualitätsmodell zur Simulation von Schadstoffkonzentrationen in Flusssystemen. Das Modell berechnet monatliche Konzentrationen verschiedener Wasserqualitätsparameter unter Berücksichtigung von Instream-Transport, lokalen Einträgen und biochemischen Abbauprozessen.

Zentrale Fragestellung: Wie verteilen sich Nährstoffe und Schadstoffe entlang eines Flusssystems, und welche Quellen tragen in welchem Maß dazu bei?


Installation und Ausführung

Vorgehensweise

Voraussetzungen: C++-Compiler (g++/clang++), MySQL 8.0+, MySQL++ Bibliothek, Make

# 1. Repository klonen
git clone https://github.com/Leon-Muehlenbruch/WorldQual.git
cd WorldQual

# 2. Abhängigkeiten installieren
./install_dependencies.sh

# 3. Kompilieren
cd src/worldqual
make clean && make

# 4. Modell ausführen
./worldqual IDrun startYear endYear

Eine ausführliche Anleitung findet sich unter Installation und Modellausführung.


Modellstruktur und Datenfluss

Modul-Pipeline
flowchart LR
    subgraph Input
        DB["MySQL-Datenbank\n(Routing, Szenarien,\nLänderdaten)"]
        UNF["UNF-Rasterdaten\n(Hydrologie, Klima,\nNährstoffe)"]
    end

    subgraph Verarbeitung
        direction TB
        Load["wq_load\n(Nährstoffeinträge)"]
        Temp["water_temperature\n(Wassertemperatur)"]
        Main["worldqual\n(Instream-Transport)"]
        Stat["wq_stat\n(Statistik)"]
        Load --> Main
        Temp --> Main
        Main --> Stat
    end
    subgraph Output
        Conc["Konzentrationen\n(MySQL-Tabellen)"]
        Map["MapRiverQuality\n(Karten)"]
    end

    DB --> Verarbeitung
    UNF --> Verarbeitung
    Verarbeitung --> Conc
    Verarbeitung --> Map
Simulierte Wasserqualitätsparameter
Parameter Beschreibung Einheit
BOD Biochemischer Sauerstoffbedarf mg/l
TDS Gesamtgelöste Feststoffe mg/l
FC Fäkalcoliforme Bakterien MPN/100ml
TN Gesamtstickstoff mg/l
TP Gesamtphosphor mg/l
Pestizide Pestizidrückstände µg/l
Module im Überblick

WorldQual besteht aus mehreren unabhängigen C++-Modulen, die jeweils separat kompiliert werden:

Modul Funktion Pfad
worldqual Hauptprogramm: Instream-Transport und Konzentrationsberechnung src/worldqual/
wq_load Berechnung der Nährstoffeinträge (Punkt- und diffuse Quellen) src/wq_load/
wq_stat Statistische Auswertung der Simulationsergebnisse src/wq_stat/
water_temperature Wassertemperaturmodellierung src/water_temperature/
find_river_cells Identifikation und Zuordnung von Flusszellen src/find_river_cells/
MapRiverQuality Visualisierung und Kartierung von Ergebnissen src/MapRiverQuality/

Siehe Modulübersicht für eine vollständige Beschreibung.

Abgrenzung zu WorldQual Lite

WorldQual Lite stellt eine vereinfachte Python-Reimplementierung des WorldQual-Modells dar. Die wesentlichen Unterschiede:

Eigenschaft WorldQual (Vollversion) WorldQual Lite
Implementierung C++ Python
Wasserqualitätsparameter BOD, TDS, FC, TN, TP, Pestizide Nur TP
Instream-Transport Vollständiges Fluss-Routing mit Abbau Nicht implementiert (reine Frachtsummierung)
Räumlicher Umfang Kompletter Kontinent Einzelnes Einzugsgebiet
Retention Physikbasiert (Seen, Flussabschnitte) Vereinfacht nach Vollenweider (HL-basiert)
Datenquelle MySQL (erforderlich) MySQL oder CSV-Dateien
Industriesektoren 7 Sektoren differenziert Aggregiert (1 Konzentration)
Bergbau 5 Ressourcentypen Nicht implementiert
Temperaturabhängigkeit Ja (Abbauraten) Nicht implementiert

Weiterführende Dokumentation

Anwendung:

Technische Dokumentation:


Ursprüngliche Entwicklung: Ellen Teichert (2007)
Weiterentwicklung: kynast (2015–2018)
Dokumentation & Build System: Leon Mühlenbruch
Letzte Aktualisierung: März 2026