Modulübersicht¶
Modul-Pipeline¶
graph LR
A["wq_load\nNährstoffberechnung"] --> B["worldqual\nHauptsimulation"]
B --> C["wq_stat\nStatistik"]
C --> D["MapRiverQuality\nVisualisierung"]
B --> E["wq_instream_daily\nTägliche Berechnung"]
E --> C
F["water_temperature\nTemperaturmodell"] --> B
G["find_river_cells\nZellen-Zuordnung"] --> B
Hauptmodule¶
worldqual (Hauptprogramm)¶
Verzeichnis: src/worldqual/
Berechnet den Instream-Transport von Wasserqualitätsparametern entlang des Flussnetzwerks. Das Modul liest Routing-Informationen und Nährstoffeinträge aus der Datenbank, simuliert Transport und biochemischen Abbau und schreibt Konzentrationen in die Ausgabedatenbank.
Dateien:
| Datei | Funktion |
|---|---|
WorldQual.cpp |
Hauptprogramm: Routing-Schleife, Transportberechnung |
def.h |
Globale Definitionen und Konstanten |
options_wq.cpp/h |
Optionsklasse (erbt von optionsClass) |
wq_load (Nährstoffeinträge)¶
Verzeichnis: src/wq_load/
Berechnet monatliche Nährstoffeinträge aus Punkt- und diffusen Quellen pro Rasterzelle. Unterstützt verschiedene Parameter (BOD, TDS, FC, TN, TP, Pestizide).
Dateien:
| Datei | Funktion |
|---|---|
wq_load.cpp |
Hauptprogramm |
ClassWQload.cpp/h |
Kernklasse: Eintragberechnung für alle Quelltypen |
crop.cpp/h |
Ackerbau-Klasse: Düngemittel, Ernteentzug |
gb.cpp/h |
Gewässer-Bilanz-Klasse |
ls.cpp/h |
Viehwirtschafts-Klasse: Exkremente nach Tierart |
options_wq_load.cpp/h |
Optionsklasse |
| ### wq_stat (Statistik) |
Verzeichnis: src/wq_stat/
Statistische Auswertung der Simulationsergebnisse. Liest Konzentrationsdaten aus wq_out_{kontinent} und berechnet zusammenfassende Statistiken.
Varianten:
| Modul | Verzeichnis | Funktion |
|---|---|---|
wq_stat |
src/wq_stat/ |
Standard-Statistik |
wq_stat_scen |
src/wq_stat_scen/ |
Szenario-Vergleich |
wq_stat_stations |
src/wq_stat_stations/ |
Stationsbasierte Auswertung |
wq_stat_riverdef |
src/wq_stat_riverdef/ |
Flussabschnitts-Definition |
water_temperature (Wassertemperatur)¶
Verzeichnis: src/water_temperature/
Berechnet Wassertemperaturen aus Klimadaten (Kurzwellenstrahlung, Lufttemperatur). Wird vom Hauptprogramm genutzt, um temperaturabhängige Abbauraten zu bestimmen.
find_river_cells (Flusszellen)¶
Verzeichnis: src/find_river_cells/
Identifiziert Flusszellen im Raster und ordnet sie dem Routing-Netzwerk zu. Muss vor der Hauptsimulation ausgeführt werden.
MapRiverQuality (Visualisierung)¶
Verzeichnis: src/MapRiverQuality/
Liest Simulationsergebnisse und erstellt Karten der Wasserqualität. Für erweiterte Visualisierung stehen zusätzlich R-Skripte in src/R-scripte/ zur Verfügung.
Hilfsmodule¶
| Modul | Verzeichnis | Funktion |
|---|---|---|
copy_run |
src/copy_run/ |
Run-Daten zwischen Datenbanken kopieren |
copy_scen |
src/copy_scen/ |
Szenario-Daten kopieren |
create_scenarios |
src/create_scenarios/ |
Neue Szenarien erstellen |
fill_worldqual_load |
src/fill_worldqual_load/ |
Load-Tabellen aus wq_load-Ergebnissen befüllen |
rtf_input_corr_factor |
src/rtf_input_corr_factor/ |
Return-Flow-Korrekturfaktoren berechnen |
rtf_input |
src/rtf_input/ |
Return-Flow-Input verarbeiten |
pop_dens_input |
src/pop_dens_input/ |
Bevölkerungsdichte-Daten einlesen |
Gemeinsame Bibliotheken¶
| Verzeichnis | Funktion |
|---|---|
src/general_function/ |
Hilfsfunktionen: Länderverwaltung (country.cpp), Zeitstrings (timestring.cpp) |
src/options/ |
Basis-Optionsklasse zum Einlesen von OPTIONS.DAT-Dateien |
src/newton/ |
Newton-Verfahren für numerische Berechnungen, Länderinformationen |