Auswertung Messstellen mit R

Aus Dokumentation
Wechseln zu:Navigation, Suche

Einleitung

Mit der in ++SYSTEMS implementierten Funktionalität können gemessene Werte (=Messungen) mit den Ergebnissen der Simulation verglichen werden. Die visuelle Darstellung der Gegenüberstellung von Messung und Simulation geschieht durch ein PDF-Programm (z.B. Adobe Reader). Natürlich stehen die Ergebnisse auch als Textdatei bereit. Für die Auswertung der Messstellen wird noch das externe Statistik Programm R benötigt. R ist eine Freeware und kann aus dem Internet heruntergeladen werden. Nachdem R installiert wurde, müssen noch ein paar Einstellungen, die im Nachhinein erläutert werden, vorgenommen werden. Wenn nun auch ein PDF-Programm auf dem PC vorhanden ist, dann steht dem Arbeiten mit der Funktionalität in R nichts mehr im Weg.


Mit der aktuellen Version von R 4.1.1 sind die hier benötigten Packages nicht kompatibel! Daher ist die Empfehlung die von uns mitgelieferte Version R 3.5.3 zu verwenden!

Vorbereitungen

Installieren des Programms R

Hierbei wird davon ausgegangen, dass schon ein PDF-Programm auf dem PC installiert wurde, und nur noch das Programm R benötigt wird. Es gibt zwei Möglichkeiten R zu installieren. Entweder Sie laden das Programm aus dem Internet herunter, oder Sie führen die von tandler.com mitgelieferte Installationsdatei von R aus. Sie können R auf folgender Internetseite herunterladen: https://cran.r-project.org/bin/windows/base/ Die Installationsdatei befindet sich in dem Order R, welcher in Ihrem ++SYSTEMS Ordner zu finden ist. Sie können entweder die exe-Datei in diesem Ordner ausführen, oder Sie verwenden das Shortcut in Ihrem ++SYSTEM Ordner im Startmenü.

Installieren von R-Paketen

Sie müssen zusätzlich zu dem Programm R diverse Pakete installieren, um alle Funktionen des R-Skripts nutzen zu können. Alle hierfür benötigten Pakete finden Sie auch in Ihren ++Systems Ordner ...\Programm Files\++Systems\R

Hier sind diverse Pakete abgebildet, welche für das Skript relevant sind (PNG, HydroGOF,...)

Für die Installation dieser Pakete müssen Sie nach der Installation von R die Rgui.exe starten. Diese Datei befindet sich in dem Installationsverzeichnis Ihres R-Ordners in dem bin Ordner. Hier gibt es wieder zwei Möglichkeiten die Pakete zu installieren. Entweder Sie laden es aus dem Internet herunter, oder Sie verweisen auf das schon mitgelieferte Pakete, welches sich in dem R Ordner im ++SYSTEMS Ordner befindet.

Die ersten Möglichkeit wird im Programm R über die Textbox ausgeführt. In dieser Textbox müssen Sie nun „install.packages(“png“)“ schreiben. Dies ist der Befehl zum Download und Installation des benötigten Pakets.

Image R 001.png

Mit Drücken der ENTER-Taste führen Sie diesen Befehl aus. Nun müssen Sie noch einen „mirror“ wählen. Im Prinzip ist es egal welchen. Wenn Sie nun mit OKEY bestätigen, dann wird hier als Beispiel das „R package.png“ runtergeladen und installiert. Natürlich müssen alle Pakete im mitgelieferten Verzeichnis installiert werden. Sie können aber auch im Projektmenü unter „Pakete“ die Aktion „Install package(s) from local files…“ verwenden. Hierbei müssen Sie nun die mitgelieferten Paketeauswählen. Die Pakete liegen als Zip-Datei in dem R Ordner im ++SYSTEMS Ordner vor.

Image R 003.png

Nach Auswahl dieser Zip-Dateien werde die Pakete installiert.

Pfad der R-Batch Datei anpassen

Damit das Programm R korrekt ausgeführt wird, greift ++Systems auf die Datei visualize_messtellen.R zu. Diese Datei muss sich im ++System Bin-Programmverzeichnis befinden. Außerdem sind noch zwei .bat-Dateien (visualize_messstellen.bat und visualize_messstellen_all.bat) und zwei .png-Dateien (tandler.png und ++SYSTEMS.png) erforderlich. Diese Dateien werden bei der Installation in Bin Verzeichnis angelegt und müssen jetzt noch angepasst werden. Mit diesen .bat-Dateien werden mit Hilfe des Programms R die PDF Dokumente erstellt. Hierfür muss aber in den .bat-Dateien auf R und das PDF-Programm verwiesen werden. Klicken Sie nun mit der rechten Maustaste auf eine dieser .bat-Dateien und wählen „Bearbeiten“. Diese .bat-Datei wird nun in einem Editor (z.B. Notepad) geöffnet. Die eingetragenen Pfade für „R“ und für das PDF-Programm müssen nun überprüft und auf Ihr System angepasst werden. Ergänzend hierzu muss in diesen .bat-Dateien auch das PDF-Programm, also die .exe, aufgeführt werden. Zum besseren Verständnis sind anschließend zwei Screenshots von den beiden .bat-Dateien mit den Programmpfaden und der PDF-Programm.exe dargestellt. Bei dem Programm R muss auf den bin-Ordner, bei dem PDF-Programm auf den Ordner, der die PDF-Programm.exe enthält, verwiesen werden.

Image R 004.png
Image R 005.png

Ist dies geschehen, dann ist die Funktion „Messstellen“ in vollem Umfang verfügbar.

Messstellen in SYSTEM++

Messtellen anlegen

Die Funktion „Messstellen“ ist in ++SYSTEMS im Projektbaum zu finden. Zur Erstellung einer neuen Messstelle müssen Sie auf den Oberpunkt Messstelle mit der rechten Maustaste klicken und „neu“ auswählen. Es erscheint folgender Dialog.

Image R 006.png

Sie müssen nun ein Objekt (Abschnitt oder Knoten) auswählen. Sie können das Objekt entweder per Eingabe des Namens direkt über „Suchen“, oder durch Anklicken des Objektes im Bearbeitungsbildschirm über „Grafisch auswählen“, wählen. Nach dem erstellen der Messstelle wird diese auch grafisch dargestellt. Diese Anzeige kann auch individuell in der Ansichtskonfiguration angepasst werden!

Image R 015.png

Bei einem Knoten wird automatisch der Wasserstand [m], bei einem Abschnitt der Durchfluss [m³/s], als Messgröße angegeben. Sie können sich die vorgeschlagene Einheit, also [m] oder [m³/s], mit Hilfe der Umrechnungsfunktion in eine andere Einheit ausgeben lassen. Also, wenn Sie sich z.B. den Durchfluss lieber in [l/s] anstatt in [m³/s] ausgeben lassen wollen, dann müssen Sie in dem Feld neben Umrechnung*1000 eingeben.

Image R 007.png

Der Haken neben dem Feld muss natürlich gesetzt sein.

Messungen hinterlegen

Wenn Sie gemessene Werte mit den Ergebnissen der Simulation vergleichen wollen, dann ist es sehr wichtig, dass die Datei, in der die gemessenen Werte stehen:

  • an einem bestimmten Ort im Projektverzeichnis liegt
  • denselben Namen wie die in ++SYSTEMS vergebene Messstelle hat
  • keine Sonderzeichen, Umlaute, Leerzeichen
  • in einem bestimmten Format vorliegt.

Desweiteren wird durch den Messstellennamen ein Dateiname identifiziert, sodass der Messstellenname keine Zeichen enthalten, die nicht auch in einem Dateinamen vorkommen dürfen. Die Datei muss in einem Ordner mit dem Namen „Messstellen“ liegen. Dieser Ordner Messstellen (orange) befindet sich im gleichen Ordner, also auf der gleichen Ordnerebene, wie die Projektdatei (grün).

Image R 008.png

Zum Vergleich der Simulation mit der Messung, muss die Messstelle in ++SYSTEMS den gleichen Namen, wie die Datei mit den gemessenen Werten haben. Dieser Name dient quasi der Identifikation zwischen Messung und Messstelle. Als Beispiel hat die vergebene Messstelle in ++SYSTEMS den Namen „Q1“, weshalb die Messungsdatei auch „Q1“ heißen muss.

Image R 009.png


Die Messungsdatei muss eine Textdatei im csv-Format sein. Sie besteht im Prinzip aus 3 Spalten, die durch ein „;“ getrennt sind. In der ersten Spalte muss das Datum tt.mm.jj, in der zweiten Spalte die Uhrzeit hh:mm:ss und in der dritten Spalte der Messwert stehen.

Image R 010.png

Auswertung der Messung

Nachdem die Messstelle definiert und die Messungsdatei hinterlegt wurde, kann mit Hilfe einer hydraulischen Berechnung die Messung mit der Simulation verglichen werden. Zu beachten ist jedoch noch, dass bei der Berechnung die Durchflusskurven in den angrenzenden Knotenpunkte aufgezeichnet werden müssen! Zudem muss der Regen der gerechnet wird, sei es ein Gebietsniederschlag oder ein Einzelregen, zeitlich auf die Messung abgestimmt sein. Das heißt, es sollte innerhalb der Messungsaufzeichnung regnen. Die Überschneidungszeit der Regenereignisse wird automatisch ermittelt. Wichtig ist hierbei das ein Regenbeginn vorhanden ist, nur so kann die zeitliche Abstimmung erfolgen!

Der Regenbeginn ist für Gebietsniederschläge in der jeweiligen Regenmessstation definiert.

Image R 012.png

Für Natur-/Modellregen können Sie den Regenbeginn direkt in der jeweiligen Regeneingabemaske vergeben.

Image R 011.png

In der zu berechnenden Hydraulikvariante kann jetzt noch eingestellt werden, dass alle definierten Messstellen automatisch nach einer hydraulischen Berechnung ausgewertet werden. Diese Einstellung finden Sie im Reiter Ausgabe in der Hydraulikvariante.

Image R 013.png

Dieser Automatismus ist jedoch nicht zwingend relevant. Sie können auch nach einer hydraulischen Berechnung die Messstellen einzeln manuell auswerten. Hierzu müssen Sie mit der Maustaste auf die betroffene Messstelle rechtsklicken und die Funktion „Vergleichen in R“ auswählen. Auf den Vergleich in AquaZIS bzw. den Export im AquaZIS wird hier nicht näher eingegangen, da dies an AquaZIS gekoppelt ist. Unabhängig, ob der manuelle Weg oder die Automatik gewählt wurde, werden für die einzelne bzw. die Messstellen zunächst ein paar Werte ausgegeben.

Image R 014.png

Der Dialog bietet die Möglichkeit einzelne Regenereignisse auszuwählen, welche miteinander verknüpft werden sollen. Mit Ok werden für die ausgewählten Regenereignisse dann jeweils zwei PDF's erstellt. Anschließend wird die .bat Datei mit Hilfe der cmd.exe (schwarzes Fenster) ausgeführt. Hierbei werden die PDF-Dokumente erstellt.

Image R 016.png

Anschließend öffnet sich das PDF-Programm mit der jeweiligen Messstelle (=Simulation) und Messung.

Image R 018.png

Falls einer Messstelle keine Messung hinterlegt ist, dann wird nur die Simulation als PDF ausgegeben.

Image R 017.png

Desweiteren wird eine weitere PDF-Seite ausgegeben, welche Auskunft gibt inwieweit die simulierten Ergebnisse mit denen der Messung übereinstimmen. Hier ein Beispiel für die folgenden Messskurvenvergleich:

Image R 019.png
Image R 020.png
  • Nash-Sutcliffe-Effizienz (NSE)

Hierfür wird der bekannte Nash-Sutcliff-Effizienz-Koeffizient (Nash–Sutcliffe model efficiency coefficient NSE) ausgerechnet und bewertet. Nash-Sutcliffe Effizienz kann von -∞ bis 1. eine Effizienz von 1 entspricht eine perfekte Übereinstimmung von modellierten Entladung zu den beobachteten Daten. Ein Wirkungsgrad von 0 zeigt an, dass die Modellvorhersagen so genau wie die Mittel der beobachteten Daten sind, während ein Wirkungsgrad von weniger als Null auftritt , wenn die beobachtete mittler ein besserer Prädiktor als das Modell ist. Im Wesentlichen ist, desto näher das Modell Effizienz zu 1 ist, desto genauer das Modell ist.

  • Bestimmtheitsmaß

Das Bestimmtheitsmaß gibt Auskunft über den linearen Zusammenhang zwischen gemessenen und simulierten Werten. Die Größenordnung der Kennzahl liegt zwischen null und eins. Ein Wert von eins würde einen perfekten linearen Zusammenhang zwischen Messung und Simulation bedeuten, während ein Wert von Null keinen linearen Zusammenhang bedeutet. Das Maß beschreibt demnach nicht die Differenz oder den Größenunterschied zweier Kurven, sondern nur wie sich deren Verlauf ähnelt bzw. übereinstimmt.

Wichtige Hinweise:

  • Für die Auswertung der Messstellen müssen vor der Berechnung für alle anschließenden Knoten die Durchflusskurven gespeichert werden.

  • Falls einer Messstelle keine Messung hinterlegt ist, dann wird nur die Simulation als PDF ausgegeben.

  • In dem jeweiligen Verzeichnis der Hydraulikvariante wird eine .Rout-Datei geschrieben. Diese Datei schreibt vom R-Skript gemeldet Fehler aus und gibt somit einen ersten Anhaltspunkt falls das Skript nicht Ordnungsgemäß funktioniert.

  • Das R-Skript soll einen ersten Ansatz zur Datenauswertung und Kalibrierung in ++System bieten. Es kann bei Bedarf jederzeit an die jeweiligen Bedürfnisse angepasst werden.