Aktionen

BOEWRT.DAT

Aus BAWiki

Basisinformationen

Datei-Typ

boewrt.dat

Version

Februar 2018

Beschreibung

September 2018

Bedeutung der Datei

enthält Zeitserien gemessener oder berechneter Daten als ASCII für die Benutzung in verschiedenen Programmen, vor Allem im Pre-Prozessing. Zu diesem Dateiformat existiert auch eine MATLAB-Schnittstelle.

Allgemeines

Die Datei hat einen Header in dem Metadaten anhand ihrer Position in der Datei identifiziert werden, die erste Datenzeile beginnt bspw. mit der Knotennummer. Diese klassischen boewrt.dat Dateien können mit den den Methoden der BAW-Bibliothek io verarbeitet werden. Seit Mai 2014 kann der neue boewrt.dat Header Key-Value Paare mit zusätzlichen Metadaten enthalten, der Key Fill_Value wird z.B. mit einer reellen Zahl als Value verbunden. Programme, die die klassische io- oder die neue io_dataset-Bibliothek benutzen, können beide Dateiversionen fehlerfrei lesen. Die zusätzlichen Metainformationen werden aber nur von io_dataset ausgewertet.

Der eigentliche Datenteil zeichnet sich durch flexible Datums- und Zeitangaben aus. Zweistellige Jahreszahlen sollten allerdings nicht weiter verwendet werden. Ein Semikolon empfiehlt sich zum Trennen von Datum- und Zeitangaben von den Werten der physikalischen Größen.

Gerade die Metadaten werden von den beiden Libraries unterschiedlich interpretiert.

Io-Bibliothek vorzugsweise für klassische boewrt.dat-Dateien mit Unterstützung von Umgebungsvariablen

Diese Bibliothek kann Umgebungsvariablen auswerten.

  • $BAWCRS: Wenn die Umgebungsvariable $BAWCRS auf einen gültigen Wert (EPSG code) gesetzt wurde, wird die enthaltene Koordinate von dem in der Datei enthaltenen CRS in das durch $BAWCRS gesetzte System "on the fly" konvertiert. Enthält die Datei kein sinnvolles CRS, so wird die Koordinate nicht transformiert. Der Nutzer sollte daher beim Aufruf der untenstehenden Programme sicherheitshalber die Variable BAWCRS gezielt setzen!
  • $BAWCENTURY: Falls im Datenteil zweistellige Jahreszahlen verwendet werden, wird das ab $BAWCENTURY einschließlich folgende Jahrhundert implizit angenommen. Der Nutzer sollte $BAWCENTURY innerhalb seiner Umgebung spezifizieren (DEFAULT: 1900).
  • Die Zeitzone wird nur interpretiert, wenn das gewünschte Anfangs- oder Enddatum eine definierte Zeitzone besitzt.
    Besitzt die Datei in diesem Fall eine undefinierte Zeitzone, so wird MEZ angenommen!
  • Der FillValue wird beim Lesen ausgewertet. Zeitpunkte, an denen alle gelesenen physikalischen Größen diesen Wert besitzen, wird der Zeitpunkt aus der Zeitserie entfernt.

Io_dataset-Bibliothek vorzugsweise für neue boewrt.dat-Dateien

Wenn vom io_dataset-Package aus auf eine Boewrt-Datei zugegriffen wird, muss der Header weitere verpflichtende Metainformationen enthalten um Fehlinterpretationen auszuschließen. Dazu gehören Angaben zu Zeitzone, Koordinatenreferenzsystem und Fill Value, s. Datei-Inhalt. Die o.g. Umgebungsvariablen werden von io_dataset nicht ausgewertet. Metainformationen werden in Objekte der Typen Dimension (dim), Variable (var) and Attribut (att) verpackt, wie es üblicherweise auch für NetCDF-Dateien getan wird. Von außerhalb des Packages wird auf die Daten in generischer Weise zugegriffen, d.h. für unterschiedliche Dateitypen werden die gleichen Methoden verwendet.

Datei-Inhalt

Metainformation, die sowohl in klassischer als auch neuer Software ausgewertet wird

  1. Punktnummer und (optional) Kürzel für Zeitzone und Koordinatenreferenzsystem. Diese Zeile ist formatiert im FORTRAN-Format "(I10,1X,A4,1X,A5)" zu schreiben. Vorzugsweise sollten für Zeitzonen die bekannten Kürzel ("MEZ ", "MESZ", "UTC ") und für das Koordinatensystem die in der BAW gebräuchlichen EPSG-Codes (siehe z.B. bei GEOTRANSFORMER) verwendet werden. Einige Kürzel wie "GK3B" or "SPHW" sind ebenfalls erlaubt, sollten aber nicht mehr eingetragen werden.
  2. Stationsname (im FORTRAN-Format "(A)").
  3. Räumliche Position, gegeben durch Rechtswert, Hochwert und optionaler Tiefe, d.h. die positive Achsrichtung zeigt nach unten. (unformatiert, getrennt mit Leerzeichen).
  4. Anzahl n der abgespeicherten physikalischen Größen und deren ICODE-Kennungen (FORTRAN-Format "(I10,nI8)". Seit Februar 2018 kann eine physikalische Größe mehrfach angegeben werden.
  5. Im Datenteil Datum, Uhrzeit und Werte der physikalischen Größen für jeden gespeicherten Zeitpunkt. Vorzugsweise sollte der Datums-String mit einem Semikolon von den physikalischen Werten getrennt werden.
  6. Fill_Value: eine reelle Zahl, die die ungültigen Werte physikalische Größen festlegt. (in neu formatierten Dateien verpflichtend). In klassischer Software werden FillValues beim Lesen der Datei durch Datenlücken ersetzt, sofern keine der ausgewählten Zeitreihen an dem betroffenen Zeitpunkt einen gültigen Wert besitzt.

Ausschließlich in klassischer Software ausgewertete Metainformation

  1. Minimaler und maximaler Zeitschritt; hier entfällt eine Überprüfung der Zeitreihe auf Monotonie in der Zeit. Sollte das Lesen einer Datei fehlschlagen, sollten sie sicherheitshalber entfernt werden. Werden Dateien per Editor manipuliert, so sollten diese Zeilen immer entfernt werden!
  2. FORTRAN-Format der Datenzeilen. Es dient der Beschleunigung des Lesevorgangs, d.h. eine einheitliche Formatierung der Datenzeilen wird vorausgesetzt. Sollte das Lesen einer Datei fehlschlagen, sollten das Format sicherheitshalber entfernt werden. Werden Dateien per Editor manipuliert, so sollte es immer entfernt werden!

Ausschließlich in neuer Software ausgewertete Metainformation

Die folgenden Schlüsselwörter beziehen sich auf die Standard-Attribut-Tabelle der NODC

  1. Instrument_Name (optional)
  2. Instrument_Comment: kommentiert das durch Instrument_Name gekennzeichnete Instrument (optional)
  3. Platform_Name: Name der geophysikalischen Platform, die das Instrument beherbergt (optional)
  4. Platform_Comment: kommentiert die durch Platform_Name gekennzeichnete Platform (optional)
  5. Valid_Range: definiert minimale and maximale Grenzwerte für physikalische Größen, die durch ihr BAW ICODE-Kennung identifiziert werden (optional)
  6. Class: Subklasse physikalischer Größen, z.B. "Summe aller Fraktionen", die durch ihre BAW ICODE-Kennung identifiziert werden, bspw. 7 für Schwebstoffgehalt (optional)
  7. Measure_Comment: Kommentar für jeweils eine physikalische Größe (optional)
  8. Zeilenkommentar: optionaler Kommentar zu den Werten einer Zeile im Datenteil, wie im nachfolgenden Beispiel in dem "!" die Werte der physik. Größen vom Zeilenkommentar "2_QMag 2_QDir" trennt:
         29.02.2004 12:00:31;    0.066  122.010     !2_QMag 2_QDir

Status-Flag Variable

Diese Variable dient der Kennzeichnung von Qualität bzw. Güte einzelner Datenwerte. Der PHYDEF-Code für diese Größe ist 3180. Bei Konversion mit DATACONVERT wird ein mit dem CF Metadaten Standard konform gehender Flag (Variable) erzeugt. Der Standardname dieser Variable enthält den Modifikator status_flag. Die Variable enthält die Attribute flag_masks und flag_meanings zur Beschreibung der Qualität:

  • flag_mask=1b, flag_meaning=good: gültige Daten, die von Nachlaufprogrammen wie NCANALYSE und NCDELTA ausgewertet werden;
  • flag_mask=2b, flag_meaning=unchecked: nicht qualitätsgesicherte Daten;
  • flag_mask=4b, flag_meaning=estimated: aus benachbarten Datenwerten abgleitete Daten;
  • flag_mask=8b, flag_meaning=suspect: zweifel- oder offensichtlich fehlerhafte Daten.

Programme, welche diesen Datei-Typ benutzen

klassisch: EVENTFILTER, EXCELENZ, EXKNO, FD2MET, FRQ2ZEITR, FRQWF, GEOTRANSFORMER, GVIEW2D, HVIEW2D, MESKOR, ROSE, TIDKEN, TSCALC, UNTRIM2007MONITOR, UTRRND, VVIEW2D, XTRDATA, ZEITRIO
neu: DATACONVERT

Weitere Informationen

Programmiersprache

Fortran95

Datei-Form

FORMATTED

Datei-Zugriff

SEQUENTIAL

Datei-Endung

.dat

Schreib-Unterprogramm(e)/Modul(e)

klassisch: $PROGHOME/fortran/lib/io/*/mod_boewrt_io.f90:write_boewrt_info,
neu: - MATLAB: writeBoewrtTimeseries.m

Lese-Unterprogramm(e)/Modul(e)

klassisch: $PROGHOME/fortran/lib/io/*/mod_boewrt_io.f90:read_boewrt_info,
neu: $PROGHOME/fortran/lib/io_dataset/*/mod_io_dataset_ui.f90, mod_m_dataset_boewrt_info.f90 and mod_m_dataset_boewrt.f90. MATLAB: readBoewrtTimeseries.m

Originalversion

I. Uliczka

Pflege

G. Seiß, P. Schade

Beispiel-Datei

klassisch: $PROGHOME/examples/zeitrio/boewrt.new.dat und $PROGHOME/examples/zeitrio/boewrt.dat
neu: $PROGHOME/examples/dataconvert/boewrt.optionalheader.dat und $PROGHOME/examples/dataconvert/boewrt.linecomments.dat


zurück zu: Dateikennblätter


Strukturübersicht