BOEWRT.DAT: Unterschied zwischen den Versionen
Aus BAWiki
imported>Schade Peter K (Class als Subklasse einer physikalischen Größe) |
imported>Seiss Guntram (Korrekturen Metadatenbeschreibung "Klassisch"-"Neu", Hinweis auf MATLAB-Schnittstelle) |
||
Zeile 3: | Zeile 3: | ||
|dateityp=boewrt.dat | |dateityp=boewrt.dat | ||
|version=Februar 2018 | |version=Februar 2018 | ||
|version_beschr= | |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 | * $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= | ||
=== | ===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 | # 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)". Seit Februar 2018 kann eine physikalische Größe mehrfach angegeben werden. | # 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 | ===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 | ===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 ] | ||
# 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 70: | 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
- 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)").
- 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)". 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.
- 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
- 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!
- 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
- Instrument_Name (optional)
- Instrument_Comment: kommentiert das durch Instrument_Name gekennzeichnete Instrument (optional)
- Platform_Name: Name der geophysikalischen Platform, die das Instrument beherbergt (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)
- 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)
- 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