Seabird Datendarstellung
Die graphische Darstellung (XY-Diagramme und Schnitte) kann in Matlab recht komfortabel mit dem Program sbplot erfolgen. Verschiedene Optionen dieses Programs und dessen Bedienung werden nachfolgend beschrieben. Als Anhang folgt eine Kurzbeschreibung ausgewählter Unterprogramme, die zur eigenen Verarbeitung oder auch Weiterentwicklung von sbplot benutzt werden können.
Die Routinen von sbplot wurden mit Matlab 6 auf Linux entwickelt, wurden aber auch schon mit Matlab 6 unter Windows benutzt. Definitiv nicht funktioniert sbplot unter Matlab 4. Voraussetzung zum Arbeiten mit sbplot ist das Einbeziehen der CSIRO Seawater Toolbox in den Matlab Suchpfad, ebenso das Verzeichnis sbplot selbst.
Damit das Programm die Positionen und die Wassertiefe aus den Daten bestimmen kann, sollte bei der Seabird Erfassung in den vom Benutzter einzugebendem Header jeweils eine Zeile stehen mit Angabe der entsprechenden Werte, z.B.:
Latitude: -56.78
Longitude: -34.67
Waterdepth: 2356
Es werden zwar einige verschiedene Arten der Positionsangabe verstanden (z.B. -56.5; 56S30.0; 7N 45.7; 30W45.7; 20E23; etc.) aber nicht alle. Im Besonderen wird öfters der Fehler gemacht, anstatt des Dezimalpunkts ein Komma zu verwenden. Diese Daten können zwar ebenfalls manuell in sbplot gesetzt werden, muß aber bei jedem Aufruf erneut durchgeführt werden.
Nach dem Aufruf von sbplot öffnet sich ein Bedienfenster (Bild), in der man Angaben zu den Datenfiles und weitere Informationen zur Darstellung eingibt;. Die graphische Bedienfläche teilt sich dabei in drei Bereiche auf: Dateiauswahl, Datenmanipulation und Darstellungsart. Es ist sinnvoll, die Angaben auch in dieser Reihenfolge durchzuführen. Weitere Informationen entnehmen sie bitte den detailierten Beschreibungen.
Bei Anwahl von werden die eingegeben Daten eingelesen und anschließend graphisch dargestellt.
Zur Dateiangabe stehen zwei Möglichkeiten zur Verfügung: Pfadangabe oder Dateiliste. Die Auswahl der gewünschten Eingabeart erfolgt über den Wechselschalter / in der oberen rechten Ecke. Um einer fehlerhaften Bedienung entgegen zu wirken muss; an dieser Stele darauf hingewiesen werden, dass diejenige Eingabe ausgelesen wird, welche beim Verlassen des Bedienfensters mit aktiv ist.
Die Angabe der Datenfiles über eine Dateiliste (Bild) ermöglicht, Dateien aus verschiedenen Verzeichnissen gemeinsam zu plotten. Zudem kann man eine Liste dieser Dateien als Text importieren, so dass diese Zusammenstellung nicht ständig neu eingetippt werden muß. Ein weiterere Möglichkeit zum Editieren der Dateiliste bietet die interaktive Anwahl von Dateien über . Durch anklicken des entsprechenden Datenfiles im Datei-Browser (Bild) wird die Auswahl automatisch als Eintrag in die Dateiliste übernommen. Es ist zu beachten, dass Einträge manuell gelöscht werden müssen, wenn sie nicht mehr dargestellt werden sollen.
Die Pfadangabe (Bild) ist besonders zum Plotten von Schnitten geeignet. Es ist jedoch nur möglich, Dateien eines Verzeichnisses anzugeben. Für sbplot besteht eine komplette Pfadangabe aus Verzeichnisangabe und Dateiname. Letzterer setzt sich wiederum aus den Teilen erster Namensteil, Stationsnummer und Extension zusammen. Sie sind in die entsprechenden Eigabefelder einzutragen:
- Im Feld "Verzeichnisangabe" ist das Verzeichnis anzugeben, in dem die Dateien stehen.
- Bei 1. Namensteil gibt man die ersten Buchstaben und Ziffern des Dateinamens an, der in der Regel das Kürzel der Forschungsfahrt wiedergibt.
- Bei Dateinummern gibt man den zweiten Namensteil an, der die Stationsnummer(n) wiedergibt. Die Angabe sollte in Matlab Notation erfolgen. Die Eingabe [1 2 3 4 5] kann daher abgekürzt geschrieben werden durch [1:5].
- Der dritte Namensteil gibt das Dateiformat des Datenfiles an und ist allgemein als "extension" bekannt. Als Eingabeformat wird das binär und das Asciiformat von Seabird, sowie das von J.Holfort verwendete netcdf verstanden. Bei dem Seabird Format wird das Binärformat sehr viel schneller eingelesen. Ein Datenfile im Ascii Format wird nach dem ersten Einlesen in eine mat-Datei mit den Daten geschrieben, die bei folgenden Aufrufen anstatt des Seabird Formates gelesen wird. Bei Änderungen der Daten, z.B. durch eine Neubearbeitung, sind daher vor dem Aufruf von sbplot die entsprechenden mat-Dateien zu löschen.
Es sei noch anzumerken, dass im Anschluß an eine interaktive Auswahl mittels generell die Dateiliste aktiv ist. Wechselt man anschließend wieder in , so versucht sbplot die Namensteile der interaktiven Anwahl (i.A. den letzten Listeneintrag) in die Eingabemaske zu übertragen. Je nach Aufbau des Dateinamens funktioniert die Erkennung der Namensteile leider nicht korrekt und muss manuell korrigiert werden.
Datenmanipulation [zurück]
Im zweiten Abschnitt (Bild) kann man einstellen, ob und in welcher Weise die Daten vor dem Plotten bearbeitet werden sollen. Man kann z.B. bestimmen, ob das Hievprofil entfernt werden soll oder ob die obersten X-Meter (besser gesagt dbar) nicht verwendet werden sollen. Dies ist z.B. dann interessant, wenn die Deckswerte noch nicht entfernt wurden.
Die Profile können ebenfalls auf einen festen Druckabstand gemittelt werden (notwendig für Schnitte). Dazu ist der Druckabstand und die Fenstergrösse für die Mittelung anzugeben. Bei Angabe der Werte 5 für Druckabstand und 10 für Fenstergröße werden die Daten auf 5dbar Abstände gemittelt, zur Mittelung z.B. auf die Druckstufe 25dbar werden dafür die Daten im Bereich von 15 bis 35 dbar verwendet. Die Daten werden daher ziemlich stark geglättet.
Erfolgt keine Eingabe zu Druckabstand und Druckfenster, so werden Standartwerte gesetzt.
Die möglichen graphischen Darstellung werden im folgenden einzeln behandelt. Es gibt Schnitte, Gitter , XY-Darstellungen und XYZ-Darstellungen.
Schnitte/Gitter
Wählt man in der Eingangsmaske als Darstellungsart "Schnitt" oder "Gitter" an, so ist in jedem Fall der zu konturierende Parameter auszuwählen. Ferner kann man angeben ob die Darstellung farbig mit Isolinien (Bild), nur farbig (Bild) oder in S/W (Bild) erfolgen soll. Die Darstellung kann man aber auch noch im nachhinein verändern.
Ein Schnitt hat als Y-Variable immer den Druck. Der Druck muß immer gleichabständig sein (was man in der Eingabemaske auch einstellen kann). Bei der X-Variable kann man zwischen den kumulierten Entfernungen der Stationen (Distanz), der geographischen Breite oder Länge und der Zeit wählen.
Das Gitter entspricht einem Schnitt, bis auf den Unterschied, dass man ausserdem noch die Variable der Y-Achse auswählen kann. In diesem Fall sind im "command window" die Stützpunkte anzugeben (bei sigma-theta wäre z.B. [27:.02:28] eine sinnvolle Auswahl; bei Schnitten sind die Stützpunkte die gleichabständigen Druckwerte).
Zum Beenden der Eingabe wählt man an. Nach dem Einlesen aller Daten werden in einer weiteren Maske die geographischen Positionen und die Wassertiefen der einzelnen Stationen angezeigt (Bild). In diesem Fenster kann eine gegebenenfalls notwendige Korrektur der Werte erfolgen, bevor man mit die Eingabe abschließt. Werden bei Korrekturen nicht lesbare Daten eingegeben (z.B. Buchstaben oder ein Komma anstelle eines Dezimalpunktes), so wird zur Korrektur die Positionsmaske ein weiteres Mal aufgerufen. Felder, die nicht gelesen werden konnten, sind nun rot hinterlegt (Bild) und müssen korrigiert werden.
Hiernach öffnen sich zwei neue Fenster, zum einem eine Vorschau des Schnittes (steht noch auf dem Kopf) und als zweites eine Maske zur Isolinienauswahl (Bild). Man kann nun verschiedene Einstellungen bezüglich Farbpalette und Linienabstände ausprobieren. Für die Farbauswahl ist darauf hinzuweisen, daß die Farbe "weiß" Transparenz bedeutet. Hierdurch wird ermöglicht, eine Isolinie darzustellen, ohne jedoch die Farbschattierung zu ändern. Mittels werden die aktuellen Einstellungen auf die Darstellung angewandt. Ist man dann zufrieden, schließt man die Isolinienauswahl mit ab. Es erscheint dann der Schnitt und man kann mit Hilfe der Maus die Positionen der Isolinienbeschriftungen festlegen. Der Abbruch hiervon erfolgt durch Auswahl eines Punktes ausserhalb des Rahmens (aber noch innerhalb des Plotfensters) oder durch ein [Return] während das Matlab-Fenster aktiv ist. Anschließend wird im Falle eines Schnittes noch die Topographie gemalt und die Darstellung ist fertig.
Sollte das Resultat nicht den Wünschen entsprechen, so kann es an verschiedenen Fehlerquellen liegen oder die Darstellung muss noch nachbearbeitet werden (z.B. Beschriftungen, Achsenbereiche, etc.).
XY-Darstellung
XY-Darstellungen sind z.B. einfache Profile (Druck als Y-Variable) (Bild), Theta-S Diagramme (Bild) oder ähnliches. Anwählen kann man hierbei die Variable der X- und der Y-Achse, wobei sich jeweils zur Auswahl die Maske Variablenauswahl öffnet.
Nach Beenden des Bedienfensters sbplot öffnet sich ein Fenster (Bild) zur Auswahl der Markierungsart sowie Größe und Farbe der Markierung, mit der die verschiedenen Stationen dargestellt werden sollen. Nach Beenden dieser Maske werden die Daten eingelesen und geplottet.
Genauso wie für Schnitte gilt auch hier, dass das Resultat möglicherweise nicht den Wünschen entspricht. Dies kann an verschiedenen Fehlerquellen liegen oder die Darstellung muss noch nachbearbeitet werden (z.B. Beschriftungen, Achsenbereiche, etc.).
XYZ-Darstellung
XYZ-Darstellungen sind dreidimensionale Abbildungen verschiedener Parameter. Sie sind weniger gedacht zur räumlichen Darstellung eines Parameters als um Abhängigkeiten zweier Parameter mit einem Dritten zu untersuchen. XYZ-Plot sind nicht einfach zu verstehen und benötigen ein gutes räumliches Vorstellungsvermögen. Da die XYZ-Darstellung sehr speziell ist, wird auf eine nähere Beschreibung verzichtet.
Ein Anklicken des Knopfes mit der ausgewählen Variablen öffnet ein neues Fenster (Bild) in dem man verschiedene Variablen aussuchen kann. Wählt man hierbei nicht vorkommende (z.B. Sauerstoff) oder mit den vorhandenen Variablen nicht berechenbare (AOU=apparent oxygen utilisation ohne gemessenen Sauerstoff) Variablen aus, so werden die Daten zwar eingelesen, das Programm produziert aber keine Grafik.
Bei der Auswahl bekommt man in einem weiteren Auswahlfenster (Bild) angezeigt, welche Variablen in der aktuellen Datei zu Verfügung stehen. Der darzustellende Parameter ist aus dieser Liste auszuwählen.
Die meisten Variablennamen sollten selbsterklärend sein. Bei der Dichte kann man auswählen zwischen sigma-theta, sigma-1, sigma-2, etc.; entsprechend der potentiellen Dichte-1000 bei 0,1000,2000,... dbar. AOU ist die Apparent Oxygen Utilization, N**2 die Brunt-Väisälä Frequenz, P-Pmax der Druckabstand vom Maximaldruck (um z.B. die Bodenschicht des
Dänemarkstrassenoverflows gut darstellen zu können).
Beim Einlesen eines Datensatzes kann es vorkommen, dass einige Standardvariablen (Druck, Salz,...) nicht erkannt werden. Es öffnet sich dann ein Fenster (Bild), welches nach dem Namen dieser Standardvariablen in der Eingabedatei fragt, mit einer Auswahl der in der ersten eingelesenen Datei vorhandenen Namen. Hier ist dann die entsprechende Variable, bzw. wenn diese nicht zur Verfügung steht , zu wählen. Die so ausgewählten Namen werden in einer globalen Variablen gespeichert und stehen dann auch für die nachfolgenden Dateien zur Verfügung.
Isolinienauswahl [zurück]
Bei farbigen Darstellungen (Bild) kann man in der Auswahlmaske (Bild) u.a. die Farbe zur Beschriftung der Isolinien auswählen. Nach Anwahl von erscheint das Matlab typische Fenster zur Farbauswahl (Bild). Die Schrift von zeigt die aktuell ausgewählte Farbe, die Hintergrundfarbe des Knopfes ist belanglos. Im Feld "Isolinienangabe" kann man alle gewünschten Isolinien in Matlab Notation angeben (z.B. [0:3:30], jedoch maximal 40 Werte), mit einem Return werden diese dann übernommen. Rechts daneben kann man verschiedene Farbpalleten (colormaps) anwählen, die Farben werden dann auf die entsprechenden Isolinienwerte verteilt (Bild). Die Isolinien können ebenso einzelnen editiert werden, gleiches gilt für Linienart und Farben der Isoflächen (Bild). Das Resultat einer solchen Eingabe sieht dann folgendermassen aus Bild. Bei Auswahl von werden dann die eingestellten Werte übernommen (und die Vorschau erneuert). Mit wird die Isolinienauswahl beendet und die aktuelle Darstellung übernommen.
Bei S/W-Darstellungen (Bild) kann man ebenso alle Isolinien in Matlab Notation angeben, oder aber jede Isolinie einzeln editieren und den Wert, die Linienart (solid, dotted, dashed, dashdot) und Liniendicke angeben.
Fehlerquellen gibt es viele, hier werden nur einige öfters vorkommende angesprochen:
- Dateien werden nicht gefunden weil die Verzeichnissangabe nicht mit einem Slash abgeschlossen wurde. Anstatt nach /data/SB001.dat zu suchen wird dann nach /dataSB001.dat gesucht.
- Bei einem Schnitt ist der untere Teil am Ende ganz schwarz. Dies ist eigentlich so gewollt, da bei einem Schnitt die Topographie mit eingezeichnet wird, daher ist es aber wichtig dass die eingelesenen Wassertiefen stimmen. Um einen Schnitt ohne Topographie zu zeichnen, kann man diesen auch als Gitter mit der Y-Variablen gleich PRES zeichnen.
- Der Schnitt stimmt nicht und ist auch zu lang. Entweder wurden nicht die richtigen Daten eingelesen (z.B. bei dem obigen Schnitte Beispiel) oder die eingelesenen Positionen stimmen nicht. Oft kommen fehlende oder falsche Vorzeichen vor (also N-S oder E-W Verwechslungen); Breiten oder Längen =0 (dies bewirken z.B. nicht lesbare Positionsangaben) oder fehlende, bzw. falsche Minuten durch Benutzung von einem Komma anstelle des Dezimalpunktes.
- Weisse Flächen bei einem Schnitt deuten auf fehlende Daten hin, dann sollte man mit einem XY-Plot überprüfen wie tief die einzelnen Profile gemessen wurden.
- Falsche Darstellungen von Isolinien an geneigter Topographie kommen manchmal vor. Um nicht unschöne weisse Flächen an der Topographie zu bekommen, wird ein kurzes Profil bis zur Tiefe des daneben befindlichen tieferen Profils verlängert. Bei dieser Extrapolation kann es zu diesen Fehlern kommen. Ist man gerade an den bodennahen Schichten interesiert, kann vielleicht die Darstellung als Gitter und der Y-Variablen Pmax-P besser sein.
Nach dem Zeichnen eines Schnittes, bzw. Gitters, stehen die für das Zeichnen notwendige Daten in der Variablen P.
Hier sind die gebräuchlichsten Arten der Nachbearbeitung und wie sie zu bewerkstelligen sind aufgeführt.
- Einen Schnitt oder Gitter nochmals zeichnen kann man mit dem Aufruf von mk4ins(P) im Matlab Command Window.
- Zusätzliche SW-Isolinien über ein Farbschnitt zeichnen geht z.B. mit dem Aufruf mk4ins(P,[0.005 0.015],2,[],1). Dabei ist die zweite übergebende Variable die gewünschten Isolinien, 2 bedeutet SW, [] muss so stehen, da die folgende 1 bedeutet, dass das Ganze über das vorige Bild gezeichnet werden soll (siehe auch help mk4ins).
- Beschriftungen: mit title('TEXT'), xlabel('TEXT') und ylabel('TEXT') können der Titeltext und die Achsenbeschriftungen geändert werden.
- Um einen kleineren Ausschnitt auszuwählen (da z.B. die erste angegebene Station gar nicht zum Schnitt (Bild) gehörte, kann man mit axis([440 580 0 2000]) die Achsenendpunkte so einstellen, das der richtige Auschnitt (Bild) zu sehen ist. Weiterhin gibt es ja auch noch den Befehl zoom on mit dem man interaktiv Veränderungen im Grafikausschnitt machen kann.
- Der Befehl axis regelt auch ob die Y-Achse aufsteigend (axis('xy') oder absteigen axis('ij') ist. Aufsteigend bedeutet hierbei, das der obere Wert grösser als der untere Wert ist.
- Das Verändern einzelner graphischer Elemente kann durch Anwählen (siehe Menüleiste des Matlab-Grafikfensters) und
folgendem Editieren (Menü EDIT) erfolgen.
- Das Markieren der Stationen erfolgt z.B. mit plot(P.X,27.7,'rh','markersize',15), hier werden entlang von Y=27.7 die Positionen der Station mit einem grossen roten Hexagon markiert.
Die speziell für die Verarbeitung von SeaBird Daten vorhandenen Matlab Routinen sind ausserdem:
sbread(Datei,ih)
schreiben()
Jürgen Holfort
Last modified: Thu Nov 13 16:21:46 CET 2003