Zum Inhalt

Datenbank einrichten

WorldQual benötigt mehrere MySQL-Datenbanken für Konfiguration, Routing, Eingabedaten und Ergebnisse.

Datenbank-Übersicht

Datenbank Zweck
wq_general Zentrale Konfiguration: Runlist, Szenarien, Parameter
worldqual_{kontinent} Kontinentspezifisch: Routing, Fließgeschwindigkeiten, Einträge
wq_out_{kontinent} Ausgabe: Berechnete Konzentrationen
watergap_unf WaterGAP-Basisdaten: Grid-Indizes, Zuflüsse, Einzugsgebiete
wq_load_{kontinent} Berechnete Nährstoffeinträge (Output von wq_load)

Kontinentkürzel: af (Afrika), as (Asien), au (Australien), eu (Europa), na (Nordamerika), sa (Südamerika)


Schema importieren

Das mitgelieferte SQL-Skript erstellt alle Datenbanken und Tabellen:

mysql -u root -p < database_schema.sql

Alternativ können die kontinentspezifischen Datenbanken mit einer Stored Procedure erstellt werden:

CALL wq_general.create_continent_dbs();

Benutzer und Rechte

CREATE USER 'worldqual_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wq_general.* TO 'worldqual_user'@'localhost';
GRANT ALL PRIVILEGES ON `worldqual_%`.* TO 'worldqual_user'@'localhost';
GRANT ALL PRIVILEGES ON `wq_out_%`.* TO 'worldqual_user'@'localhost';
GRANT ALL PRIVILEGES ON `wq_load_%`.* TO 'worldqual_user'@'localhost';
GRANT ALL PRIVILEGES ON watergap_unf.* TO 'worldqual_user'@'localhost';
FLUSH PRIVILEGES;

Die Zugangsdaten werden in der jeweiligen OPTIONS.DAT unter MyHost, MyUser und MyPassword hinterlegt.

Wichtige Tabellen

wq_general

Tabelle Inhalt
_runlist Simulationsläufe: IDrun, Szenario, Parameter, Zeitraum
_szenario Szenario-Definitionen
_parameter Verfügbare Wasserqualitätsparameter (N, P, BOD, etc.)

worldqual_{kontinent}

Tabelle Inhalt
routing Fluss-Routing: Zelle, Zuflussanzahl, Routing-Status
flow_velocity Fließgeschwindigkeiten, Flusslängen, Routing-Reihenfolge
load Nährstoffeinträge pro Zelle, Szenario und Zeitschritt

watergap_unf

Tabelle Inhalt
gr, gc Grid-Zeilen und -Spalten-Indizes
g_inflc_arc_id Zufluss-Informationen (8 Nachbarzellen)
mother_{kontinent} Einzugsgebiets-Zuordnung
country_continent Länder-Kontinent-Mapping

Das vollständige Schema ist in Datenbank-Schema dokumentiert.

Nächster Schritt: Kompilierung — Module kompilieren und Build-Prozess.