VU Visualization - Projekt
Holzmüller Julian
Mat.Nr.: 0949187
Adrigan Christopher
Mat.Nr.: 1046140
Das Ziel ist es, thermohaline Zirkulationen der Ozeane zu visualisieren. Dabei spielen einige Faktoren eine wichtige Rolle. Der Salzgehalt, die Fließgeschwindigkeit, die Temperatur und die Dichte des Wassers sind Charakteristiken, welche berücksichtigt werden müssen, um die Ströme vollständig darstellen zu können. Dazu müssen diese zuerst im Dataset gefunden und interpretiert werden. Der Schlüssel zu dem Ganzen wird das finden der richtigen Transferfunktion sein. Nach der Identifizierung dieser Thermohalinen Zirkulationen sollen diese mittels unserer Applikation visuell dargestellt werden.
Beim Dataset handelt es sich um ein 800 x 400 x 50 großes räumliches Dataset. Die Daten sind von der letzten CMIP 5 Rechnung und wurden für den nächsten IPCC Bericht erstellt. Sie umspannen die Jahre 1990 bis inklusive 2005, umfassen also 16 Jahre. Die Bestandteile der Daten sind folgende: Die horizontalen, sowie vertikalen Geschwindigkeiten, den Salzgehalt, die Temperatur, den Aufwärtsmassentransport, sowie die Dichte des Wassers. Die Landteile sind in den Daten durch entweder einheitliche Werte (Nullen) oder fehlende Werte (vermutlich blanks) markiert. Die Daten setzen sich aus dem jeweiligen Monatsmitteln zusammen, jedes Jahr hat also 12 Zeitschritte.
Der User soll einen Überblick über die Funktionsweise und den Aufbau der thermohalinen Zirkulationen bekommen. Dies soll wenn möglich durch verschiedene Ansichten der Zirkulationen möglich sein. Dem User soll es ermöglicht werden mittels Interaktion mit den Zirkulationen vertraut zu werden, indem er zum Beispiel entweder den Salzgehalt oder die Fließgeschwindigkeit der Zirkulationen visuell betrachtet. Wünschenswert wäre es, wenn der User durch die Software in der Lage wäre Zusammenhänge zwischen den einzelnen Charakteristiken herzustellen und der User dadurch ein besseres Verständnis der thermohalinen Zirkulationen erlangt.
Der User soll durch die Applikation die Möglichkeit haben, die thermohalinen Zirkulationen, am Besten auf einer Weltkarte, zu sehen. Deshalb ist unsere Wahl auf dieses Tool gefallen. Die Oberflächen- und Tiefenströme sollen mittels entsprechender Farbkennzeichnung dargestellt werden, um eine bessere Unterscheidbarkeit zu erzielen. Eventuell soll es möglich sein auch weitere Charakteristiken der Ströme anzuzeigen, wie die Fließgeschwindigkeit, den Salzgehalt, oder die Wasserdichte. Inwieweit das möglich und implementierbar sein wird wird sich im Verlauf des Projektes zeigen.
Da das Thema “Klimaforschung” und generell die Bewegungen und Abläufe innerhalb der Ozeane ein interessantes Themengebiet darstellen, war es naheliegend, dass wir uns für dieses Wissensgebiet entscheiden, um ein Projekt zu gestalten. Ein weiterer Grund für unsere Entscheidung war die Neugierde auf neue Aspekte, da in unserer Vergangenheit noch wenige Berührungspunkte mit diesem Anwendungsgebiet bestanden.
Das Userinterface soll folgendermaßen aussehen:
Dem User wird ein Fenster mit einer Weltkarte angezeigt und er hat zu Beginn die Möglichkeit Daten über den Button „Open...“ auszuwählen und zu laden. Es können die jeweiligen Wertebereiche für die Salzkonzentration, die horizontalen, vertikalen und Geschwindigkeiten, den Aufwärtsmassentransport und die Dichte des Wassers beliebig angepasst werden. Die Wertebereiche der Charakteristiken lassen sich über die zugehörigen Textboxen ändern. Als Hilfestellung für das Auffinden sinnvoller Werte, wird für jede Charakterisitk ein Streudiagramm dem Benutzer angezeigt. Diese Streudigramme veranschaulichen die Verteilung der Werte der Charakteristiken im Bezug auf die Temperatur. Es ist dem Benutzer dadurch möglich Ansammlungen von Werten oder andere interessante Strukturen in den Daten zu erkennen und zu segmentieren. Wenn der User keine Änderungen vornimmt, werden Defaultwerte für die Berechnung der thermohalinen Zirkulationen herangezogen.
Das obige Bild zeigt das Programm nachdem die Daten geladen wurden und die Berechnungen abgeschlossen sind. Die thermohalinen Zirkulationen werden dem User angezeigt. Mittels farblicher Darstellung können die Oberflächenströmungen und Tiefenströmungen unterschieden werden. Rechts unten wird dem User eine Legende eingeblendet, welche die Farben der angezeigten Strömungen konkretisieren soll.
Das dargestellte Bild kann mit Hilfe des Buttons „Save...“ auch gespeichert werden. Durch betätigen des „Quit“ Buttons kann das Programm geschlossen werden.
Unsere Implementierung beschränkt sich nicht nur auf das Userinterface, welches oben beschrieben wurde, sondern beinhaltet auch die Analyse und Verarbeitung der eingelesenen Daten sowie das Darstellen der Scatterplots und der thermohalinen Zirkulation. Wenn die Inputdaten verarbeitet wurden das heißt, die thermohalinen Zirkulationen bzw die Ströme gefunden wurden, werden diese Informationen dem User mit Hilfe unseres Programms dargestellt. Der User kann dann nach belieben die die ausgewählten Bereiche der Charakteristiken ändern und somit die Transferfunktion sowie die Darstellung verändern.
Da es unser erstes Projekt im Bereich der Visualisierung und den damit verbundenen Tools ist, sind unsere Erfahrungswerte stark limitiert. Da in früheren Lehrveranstaltungen das Entwickeln von Animationen und interaktiven Visualisierungen nicht behandelt wurde, können wir in diesem Gebiet leider auf kein umfangreiches Wissen zurückgreifen. Auch der Bereich Meeresdynamik stellt für uns Neuland dar.
Projektmeilensteine
- Projektantrag
Startdatum: 10.05.2013
Enddatum: 24.05.2013
Beschreibung:
Der Projektantrag soll fristgerecht erstellt und abgegeben sein
Involvierte Teammitglieder: Holzmüller, Adrigan
- Analyse der Daten abgeschlossen
Startdatum: 24.05.2013
Enddatum: 10.06.2013
Beschreibung:
Sobald die Daten verfügbar sind werden diese analysiert und es wird versucht ein Zusammenhang zwischen den Charakteristiken herzustellen. Die Analyse der Daten soll am Ende abgeschlossen sein und die richtige Kombination der Charakteristika soll bekannt sein.
Involvierte Teammitglieder: Holzmüller, Adrigan
- Update
Startdatum: 13.06.2013
Enddatum: 14.06.2013
Beschreibung:
Erstellen einer kurzen Projektzusammenfassung und Vorbereitung für das Meeting. Ein Meeting mit Herrn Professor Möller, wo wir den aktuellen Stand unseres Projektes präsentiert haben.
Involvierte Teammitglieder: Holzmüller, Adrigan
- Abschluss der Visualisierung/Programmierung
Startdatum:10.06.2013
Enddatum: 22.06.2013
Beschreibung:
Die erhobenen Daten werden dazu verwendet eine Visualisierung zu erstellen beziehungsweise zu programmieren. Es soll ein Tool erstellt werden, welches ermöglicht dem User die Thermohalinen Strömungen zu zeigen und gleichzeitig diesem ermöglichen eigens mit den Einstellungen (also der Transferfunktion ) herumzuspielen und dadurch ein besseres Verständnis über die Strömungen zu erhalten.
Aufgabenverteilung:
1. Programmierung des Auslesens der Daten (Hauptverantwortlicher: Adrigan)
2. Programmierung der Verarbeitung der Daten (Hauptverantwortlicher: Holzmüller)
3. Programmierung der Grafischen Darstellung der Daten (Haupverantwortlicher: Adrigan)
4. Programmierung der Plots (Hauptverantwortlicher: Holzmüller)
5. Programmierung des Interfaces (Hauptverantwortlicher: Adrigan)
6. Fehleranalyse und Debugging (Hauptverantwortlicher: Holzmüller)
Die Visualisierung soll am Ende fertig erstellt und die Anwendung soll einwandfrei benutzbar sein.
Involvierte Teammitglieder: Holzmüller, Adrigan
- Fertigstellung des Final Reports
Startdatum: 22.06.2013
Enddatum: 26.06.2013
Beschreibung:
Hier wird die gesamte Zeit zum Erstellen des Final Reports genutzt. Der Final Report soll am Ende fertig verfasst sein und Fristgerecht abgegeben werden.
Involvierte Teammitglieder: Holzmüller, Adrigan
- Präsentation und Abschluss des Projektes
Startdatum: 25.06.2013
Enddatum: 27.06.2013
Beschreibung:
Die Abschlusspräsentation soll erstellt werden und für eine geordneten Ablauf etwaig auch geprobt und abgesprochen werden. Am Ende wird die Präsentation durchgeführt und das Projekt ist somit abgeschlossen.
Involvierte Teammitglieder: Holzmüller, Adrigan
Interface
Für die Implementierung des Userinterfaces verwenden wir die Programmiersprache c++ in Kombination mit der Library “glui”, da sie einfach zu benutzen ist und wir schon Vorkenntnisse dafür besitzen.
ncview
Um die Daten zu analysieren bietet sich dieses Tool an. Es ermöglicht zwischen den verschiedenen Variablen des Datensatzes zu wechseln und diese Darzustellen. Dadurch ist ein leichtes austesten der gesuchten Transferfunktion möglich. Vor allem verschafft es einen besseren Überblick über die Daten.
Eventuell wird dieses Tool auch später von der von uns erstellten Applikation genutzt, was jedoch noch im Raum steht, da es unseren Anforderungen eventuell nicht genügt. Sonst müssen wir zu einem umfassenderen Tool, “ParaView”, greifen.
ParaView
Dieses Tool wird von uns herangezogen, falls ncview zur Auffindung und Darstellung der Ströme nicht reicht, da dieses Tool über eine größere Funktionspalette verfügt.
Transferfunktion
Engel Klaus, "Real-time Volume Graphics", A K Peters, 2006
Charles Hansen, Christopher R. Johson, The Visualization Handbook, Academic Press, 2005
ncview
http://meteora.ucsd.edu/~pierce/ncview_home_page.html
ParaView