Aktionen

ZEITRIO

Aus BAWiki

Basisinformationen

Programm-Name

ZEITRIO

Version

April 2021

Beschreibung

April 2021

Stichworte

Preprozessor
Zeitreihen-Verarbeitung (Input/Output)
Aneinanderhängen

Kurzbeschreibung

Dieses Programm liest und schreibt Dateien, die Zeitreihen in den unten angegebenen Formaten bereitstellen. Die Zeitreihen können dann in Dateien der Formate boewrt.dat, als spaltenorientierte ASCII-Datei (für MATLAB/SCILAB) oder als CSV-Datei geschrieben werden. Das Aneinanderhängen mehrerer Zeitreihen-Dateien zu einer einzigen Datei wird unterstützt. Der BOEWRT-Status-Flag wird ggf. als Zusatzinformation beim Schreiben von boewrt.dat erzeugt bzw. mitgeführt.

Eingabe-Dateien

  1. Zeitreihen-Datei(en) vom Typ boewrt.dat. Über das Kommandozeilenargument -srclist=<file> ist auch die Übergabe einer Liste von Dateien möglich, die zu einer Zeitreihe zusammengefasst werden sollen.
  2. Zeitreihen-Datei(en) vom Typ solwrt.dat.
  3. Zeitreihen-Datei(en) vom Typ 6dph.dat.
  4. Zeitreihen-Datei(en) vom Typ trbnk.dat.
  5. Zeitreihen-Datei(en) vom Typ aander.dat.
  6. Zeitreihen-Datei(en) vom Typ dwdwin.dat.
  7. Zeitreihen-Datei(en) vom Typ WSA Bremen.
  8. Zeitreihen-Datei(en) vom Typ peg.dat.
  9. Zeitreihen-Datei(en) vom Typ pegel.his.
  10. Zeitreihen-Datei(en) vom Typ extab.dat (Excel-Tabelle mit Trennern Blanks, Tabs, Komma oder Semikolon als Text-Datei ausgegeben).
  11. Zeitreihen-Datei(en) vom Typ WSA Emden.
  12. Zeitreihen-Datei(en) vom Typ spaltenorientierte MATLAB-Matrix.
  13. Zeitreihen-Datei(en) vom Typ ZRX.
  14. Zeitreihen-Datei(en) vom Typ WOCE-gauge.
  15. Zeitreihen-Datei(en) vom Typ knoerg.bin
  16. Zeitreihen-Datei(en) vom Typ CSV Pegel-Online der BfG
  17. Zeitreihen-Datei(en) vom Typ CSV von ftp://ftp-cdc.dwd.de/pub/CDC/ .
  18. Zeitreihen-Datei(en) vom Typ ALL (Kisters-Exportformat der WISKI-Datenbank)
  19. NetCDF-Format für Pegel aus dem Datenportal http://www.marineinsitu.eu/dashboard/
  20. Generische CSV-Schnittstelle mit frei auswählbaren Spalten
  21. Eine optionale Datei vom Typ zeitrio.dat. Sie enthaelt vordefinierte Zeitfenster für den Fall, daß nicht eine Datei vom Typ boewrt.dat erzeugt werden soll, sondern für jeden Datentag eine separate boewrt.dat.

Ausgabe-Dateien

Die Zahl der Ausgabe-Dateiformate wurde auf das Notwendige beschränkt, damit innerhalb der BAW-DH nicht zu viele verschiedene Dateiformate kursieren.

  1. Zeitreihen-Datei vom Typ boewrt.dat (Ausgabemodus 1 und 2).
  2. Zeitreihen-Datei in Spaltenorientierung mit zusätzlicher Header-Datei (geeignet für die Verarbeitung mit MATLAB, SCILAB oder Mathematica, Ausgabemodus 3)
  3. Zeitreihendatei vom Typ CSV, einzeiliger Header (Zeitpunkt; Größe 1; Größe 2; ....) für Delft-FEWS (Ausgabemodus 4). Das Einlesen dieser Dateien ist über die generische CSV-Schnittstelle möglich.
  4. Druckerprotokolldatei (zeitrio.sdr)
  5. (optional) Terminal-Protokoll vom Typ gkslog.dat. Da ZEITRIO relativ viele Nutzer-Eingaben während des interaktiven Durchlaufes verlangt, wird die Nutzung dieser makroartigen Aufzeichnung dringend empfohlen! Sie kann auch als Grundlage batchorientierter Automatisierung dienen.

Methode

Nach Eingabe eines Referenzdatums, auf welches sich Dateien mit relativen Zeitangaben (z.B. solwrt.dat) beziehen, wird eine Zeitreihe eingelesen. Dabei kann immer nur EINE Zeitreihe EINES Knotens gelesen werden. Optional können weitere Dateien direkt anschließend angehängt werden. Das Dateiformat kann bei jeder einzulesenden Datei gewechselt werden. Nach dem Einlesen wird die gesamte Zeitreihe chronologisch sortiert sowie um doppelte und ungültige Zeitpunkte bereinigt.

Die gelesenen Dateien werden dann in eine Datei geschrieben, deren Format der Anwender festlegt. Für das boewrt.dat-Format existiert zusätzlich die Möglichkeit, für jeden Tag, an dem Daten vorliegen, eine eigene Datei zu erzeugen. Der Dateiname einer solchen Datei enthält unter anderem das Datum des Tages. Gemessene Eingangsdaten werden mit dem BOEWRT-Status-Flag 2 ("ungeprüft") markiert. Berechnete Zeitreihen (aus knoerg.bin) erhalten ohne Prüfung den Status-Flag 1 ("good")!

Die Zeitreihe kann vor der Ausgabe auf eine äquidistante Zeitachse interpoliert werden. Die Druckerprotokolldatei gibt Auskunft über größere Datenlücken. Datenlücken werden nach der Interpolation entweder mit einem Füllwert ("fill value") belegt (Ausgabemodus 1) oder eliminiert (Ausgabemodus 2). Der Benutzer legt die minimale Größe für Datenlücken fest. Bei der Ausgabe einer äquidistante Zeitreihe, werden alle Werte in zeitlichen Lücken, die kleiner als diese minimale Größe für Datenlücken sind, interpoliert. Es kann zwischen linearer Interpolation oder Spline-Interpolation gewählt werden. Über den BOEWRT-Status-Flag werden die interpolierten Zeitpunkte eindeutig sichtbar ("ungeprüft", "interpoliert", ggf. zusätzlich "gut" oder "merkwürdig").

Der Ausgabezeitraum umfasst den Gesamtzeitraum aller eingelesener Eingabedaten. Die vom Nutzer gemachte Angaben können die Ausgabezeitreihe auf den gewünschten Zeitraum einschränken, sofern das eingelesene Dateiformat eine Abfrage zulässt (z.B. beim Einlesen von boewrt.dat). Die Zeitangaben des Nutzers beziehen sich auf die in der Umgebungsvariable BAWZONE definierte Zeitzone. Im Ausgabemodus 1 (boewrt.dat) werden bei äquidistanter Interpolation ggf. "fill values" am Anfang und Ende ergänzt, wenn die Eingabedateien den gewünschten Gesamtzeitraum nicht vollständig abdecken. Ein wie von den früheren Versionen gewohnter Abbruch des Programms bei nicht abgedecktem Zeitraum für das Einlesen von Daten erfolgt nicht mehr. Die Ausgabedatei sollte nachträglich geprüft und die Standardausgabe auf Warnungen geprüft werden.

Achtung: In vorangegangenen Versionen konnten "fill values" noch nicht bei der Interpolation verarbeitet werden. Das Vorgehen war daher, eine einzelne Zeitreihe zunächst zu extrahieren und dann zu interpolieren. Ab Version Februar 2020 ist es möglich, die "fill values" in Zeitreihen dahingehend zu berücksichtigen, dass sie als Datenlücken interpretiert werden. Bitte dennoch das Ergebnis immer prüfen! Ab Version 2020_10_15 dürfen einzulesende BOEWRT-Zeitreihen auch mit "fill values" beginnen.

Für Eingabedateien des Typs MATLAB-Matrix, ZRX-Format und "exctab.dat" kann eine Filterung sowie eine Korrektur der Zeitreihe um einen Werte-Offset und einen Skalierungsfaktor erfolgen. Die Berechnung der absoluten Zeiten der Zeitachse erfolgt mittels hochgenauer Operatoren für absolute Zeitrechnung.

Beim Einlesen der Daten und Interpolieren wird ein vorläufiger zusätzlicher BOEWRT-Status-Flag erzeugt. Dieser sollte im Nachgang durch geeignete Prüfverfahren überarbeitet werden, bevor die Dateien weiter prozessiert werden.

Ab Version Juni 2020 werden die Werte der Nachbarstützstellen bei Berechnung des BOEWRT-Status-Flag interpolierter Werte genutzt. Sind die beiden benachbarten Stützwerte "gut", so bekommt auch der interpolierte Wert den Status "gut". Ist einer der beiden benachbarten Stützwerte "merkwürdig", so bekommt auch der interpolierte Wert diesen Status. Ob interpolierte Werte wirklich "gut" sind, wird nicht geprüft. Daher haben interpolierte Werte zunächst immer den Status "ungeprüft"!

Die Zahl der interaktiven Eingaben kann ab Version 2020_10_15 durch Angabe von Kommandozeilenargumenten reduziert werden. Welche Kommandozeilenparameter eine Wirkung haben, enthüllt der Aufruf zeitrio[.i18] -h.

Das ausführbare Programm steht sowohl für LINUX- als auch WINDOWS-Rechner zur Verfügung.

Vorlauf-Programme

Tabellenkalkulationsprogramme (z.B. MS Office EXCEL, LibreOffice Calc), FFT, FRQ2ZEITR, GVIEW2D, TSCALC, MATLAB, MESKOR, SCILAB, TRIM-2D, TRIM-3D, XTRDATA

Nachlauf-Programme

BOERND, BOE2NC, DATACONVERT, EXCELENZ, FFT, FRQWF, GVIEW2D, ROSE, TIDKEN, TSCALC, UTRRND, MATLAB, SCILAB, Delft-FEWS

Weitere Informationen

Programmiersprache

Fortran2003

zusätzliche Software

libgeodesy, NTv2-Gitterdateien für die Koordinatentransformation (siehe auch GEOTRANSFORMER).

Originalversion

J. Jürges

Programmpflege

Arbeitsgruppe PRE

Dokumentation/Literatur

unter $PROGHOME/examples/zeitrio


zurück zu Programmkennblätter


Strukturübersicht