Zum Inhalt

Datenbank-Schema

Übersicht

WorldQual nutzt mehrere MySQL-Datenbanken, organisiert nach Funktion und Kontinent:

MySQL-Server/
├── wq_general                # Zentrale Konfiguration
├── worldqual_af ... _sa      # Routing & Einträge (pro Kontinent)
├── wq_out_af ... _sa         # Simulationsergebnisse (pro Kontinent)
├── wq_load_af ... _sa        # Berechnete Nährstoffeinträge
└── watergap_unf              # WaterGAP-Basisdaten

wq_general (Konfiguration)

_runlist

CREATE TABLE _runlist (
    IDrun INT PRIMARY KEY,
    IDScen INT,
    parameter_id INT,
    IDTemp INT,
    IDVersion INT,
    IDReg INT,
    start_year INT,
    end_year INT,
    description TEXT
);
Jeder Simulationslauf wird durch eine Zeile in _runlist definiert. Die IDrun wird als Kommandozeilenparameter an worldqual übergeben.

_szenario

Feld Typ Beschreibung
IDScen INT (PK) Szenario-ID
ScenName VARCHAR(100) Szenarioname
description TEXT Beschreibung

_parameter

Feld Typ Beschreibung
parameter_id INT (PK) Parameter-ID
parameter_name VARCHAR(50) z.B. TN, TP, BOD, DOC
unit VARCHAR(20) Einheit (mg/l, kg/month)

worldqual_{kontinent} (Routing & Einträge)

routing

Feld Typ Beschreibung
cell INT (PK) Zellen-ID (Arc ID)
inflow_count INT Anzahl Zuflüsse
inflow_done INT Routing-Status-Zähler
### flow_velocity
Feld Typ Beschreibung
cell INT (PK) Zellen-ID
velocity FLOAT Fließgeschwindigkeit [m/s]
river_length FLOAT Flusslänge [km]
rout_order INT Routing-Reihenfolge

load

Feld Typ Beschreibung
cell INT Zellen-ID
IDScen INT Szenario-ID
parameter_id INT Parameter-ID
date INT Datum (YYYYMM)
load FLOAT Eintrag [kg/Monat]

wq_out_{kontinent} (Ergebnisse)

Ergebnistabellen werden dynamisch erstellt: concentration_{IDrun}

Feld Typ Beschreibung
date INT Datum (YYYYMM)
cell INT Zellen-ID
con FLOAT Konzentration
con2 FLOAT Sekundäre Konzentration
---

watergap_unf (WaterGAP-Basisdaten)

Tabelle Inhalt
gr Grid Row: Zellen-ID → Zeilen-Index
gc Grid Column: Zellen-ID → Spalten-Index
g_inflc_arc_id Zufluss-Informationen (8 Nachbarn: SW, S, SE, W, E, NW, N, NE)
mother_{kontinent} Einzugsgebiets-Zuordnung (arcid, bas0_id, rout_area)
country_continent Länder-Kontinent-Mapping (isonum, idreg, continent)

wq_load_{kontinent} (Nährstoffeinträge)

Tabellen werden dynamisch erstellt: calc_cell_month_load_{typ}_{IDScen}_{parameter}

Quelltypen: dom (häuslich), man (industriell), ind (Industrie), atm (atmosphärisch), fert (Dünger), ls (Vieh), etc.


Schema importieren

mysql -u root -p < database_schema.sql

Das vollständige Schema ist in database_schema.sql im Projektverzeichnis definiert.