Aktionen

BOEWRT.DAT: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(zusätzliche Überschriften zur besseren Lesbarkeit und Beschreibung Status-Flag)
imported>Seiss Guntram
(Korrekturen Metadatenbeschreibung "Klassisch"-"Neu", Hinweis auf MATLAB-Schnittstelle)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 2: Zeile 2:
|name_en=BOEWRT.DAT
|name_en=BOEWRT.DAT
|dateityp=boewrt.dat
|dateityp=boewrt.dat
|version=Oktober 2017
|version=Februar 2018
|version_beschr=Oktober 2017
|version_beschr=September 2018
|bedeutung=enthält Zeitserien gemessener oder berechneter Daten als ASCII für die Benutzung in verschiedenen Programmen.
|bedeutung=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===
===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.<br/>
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.<br/>


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.
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.
Zeile 15: Zeile 15:


Diese Bibliothek kann Umgebungsvariablen auswerten. <BR>
Diese Bibliothek kann Umgebungsvariablen auswerten. <BR>
* $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 immer die Variable BAWCRS gezielt setzen!<br />
* $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!<br />


* $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).
* $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.<br />Besitzt die Datei in diesem Fall eine undefinierte Zeitzone, so wird MEZ angenommen! <br />
* Die Zeitzone wird nur interpretiert, wenn das gewünschte Anfangs- oder Enddatum eine definierte Zeitzone besitzt.<br />Besitzt die Datei in diesem Fall eine undefinierte Zeitzone, so wird MEZ angenommen! <br />
* 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===
===Io_dataset-Bibliothek vorzugsweise für neue boewrt.dat-Dateien===
Zeile 26: Zeile 28:
|dateiinhalt=
|dateiinhalt=


===Daten für klassisch und neu formatierte Dateien===
===Metainformation, die sowohl in klassischer als auch neuer Software ausgewertet wird ===


# 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 as "GK3B" or "SPHW" sind ebenfalls erlaubt.
# 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.
# Stationsname (im FORTRAN-Format "(A)").
# Stationsname (im FORTRAN-Format "(A)").
# Räumliche Position, gegeben durch Rechtswert, Hochwert und optionaler Tiefe, d.h. die positive Achsrichtung zeigt nach unten. (unformatiert, getrennt mit Leerzeichen).
# Räumliche Position, gegeben durch Rechtswert, Hochwert und optionaler Tiefe, d.h. die positive Achsrichtung zeigt nach unten. (unformatiert, getrennt mit Leerzeichen).
# Anzahl n der abgespeicherten physikalischen Größen und deren ICODE-Kennungen (FORTRAN-Format "(I10,nI8)"
# 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.
# 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.<br />
# 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.<br />
# 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 klassisch formatierten Dateien zulässige Daten===
===Ausschließlich in klassischer Software ausgewertete Metainformation===


# 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!<br>
# 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!<br>
# 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!
# 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 neu formatierten Dateien zulässige Daten===
===Ausschließlich in neuer Software ausgewertete Metainformation===


Die folgenden Schlüsselwörter beziehen sich  auf die  
Die folgenden Schlüsselwörter beziehen sich  auf die  
[http://www.nodc.noaa.gov/data/formats/netcdf/#guidancetable Standard-Attribut-Tabelle der NODC ]
[http://www.nodc.noaa.gov/data/formats/netcdf/#guidancetable Standard-Attribut-Tabelle der NODC ]
# Fill_Value: eine reelle Zahl, die die ungültigen Werte physikalische Größen festlegt. (verpflichtend)
# Instrument_Name (optional)
# Instrument_Name (optional)
# Instrument_Comment: kommentiert das durch Instrument_Name gekennzeichnete Instrument (optional)
# Instrument_Comment: kommentiert das durch Instrument_Name gekennzeichnete Instrument (optional)
Zeile 49: Zeile 51:
# Platform_Comment: kommentiert die durch Platform_Name gekennzeichnete Platform (optional)
# Platform_Comment: kommentiert die durch Platform_Name gekennzeichnete Platform (optional)
# Valid_Range: definiert minimale and maximale Grenzwerte für physikalische Größen, die durch ihr BAW ICODE-Kennung identifiziert werden (optional)
# Valid_Range: definiert minimale and maximale Grenzwerte für physikalische Größen, die durch ihr BAW ICODE-Kennung identifiziert werden (optional)
# Class: Subklasse physikalischer Größen, z.B. "Summe aller Fraktionen", die durch ihre BAW ICODE-Kennung identifiziert werden, bspw. 7 für Schwebstoffgehalt (optional)
# Measure_Comment: Kommentar für jeweils eine physikalische Größe (optional)
# Measure_Comment: Kommentar für jeweils eine physikalische Größe (optional)
# 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:<br/>
# 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:<br/>
Zeile 69: Zeile 72:
|schreibmodule=klassisch: $PROGHOME/fortran/lib/io/*/mod_boewrt_io.f90:write_boewrt_info,<BR>
|schreibmodule=klassisch: $PROGHOME/fortran/lib/io/*/mod_boewrt_io.f90:write_boewrt_info,<BR>
neu: -
neu: -
MATLAB: writeBoewrtTimeseries.m
|lesemodule=klassisch: $PROGHOME/fortran/lib/io/*/mod_boewrt_io.f90:read_boewrt_info,<BR>
|lesemodule=klassisch: $PROGHOME/fortran/lib/io/*/mod_boewrt_io.f90:read_boewrt_info,<BR>
neu: $PROGHOME/fortran/lib/io_dataset/*/mod_io_dataset_ui.f90, mod_m_dataset_boewrt_info.f90 and mod_m_dataset_boewrt.f90.
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
|kontakt_original=[mailto:ingrid.uliczka@baw.de I. Uliczka]
|kontakt_original=[mailto:ingrid.uliczka@baw.de I. Uliczka]
|kontakt_pflege=[mailto:guntram.seiss@baw.de G. Seiß], [mailto:peter.schade@baw.de P. Schade]
|kontakt_pflege=[mailto:guntram.seiss@baw.de G. Seiß], [mailto:peter.schade@baw.de P. Schade]

Aktuelle Version vom 10. September 2018, 08:52 Uhr

Basisinformationen

Datei-Typ

boewrt.dat

Datei-Form

FORMATTED

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

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