BOE2NC
Aus BAWiki
Basisinformationen
Programm-Name
BOE2NC
Version
Juni 2019
Beschreibung
Juni 2019
Stichworte
Preprozessor
Wandlung einer Menge von BOEWRT.DAT in eine zusammengefasste cf-netcdf.nc
Kurzbeschreibung
BOE2NC (siehe auch boe2nc.dat) wird angewendet um eine beliebige Menge von Messdaten vom BOEWRT.DAT in eine zusammengefasste cf-netcdf.nc zu überführen. Hierbei gilt es zu beachten:
- Alle Messdaten müssen in einem Ordner vorliegen
- Erlaubte physikalische Größen sind zur Zeit: Wasserstand, Salzgehalt, Temperatur, Strömungsgeschwindigkeit
- Zur Strömungsgeschwindigkeit muss eine Magnitude und eine Richtung vorliegen
- Die BOEWRT.DAT Header müssen zwingend enthalten (Zeitzone, Koordinatensystem, Koordinaten, ID)
- Die Messdaten sollten geprüft sein. Eine Prüfung des Wertebereichs wird nicht vorgenommen. Die Wandlung ist zudem recht zeitintensiv - und bei fehlerhaften Daten muss neu gestartet werden.)
- Es ist möglich den Messstationen eine Reihenfolge in einem Textfile vorzugeben. Dafür bitte die Stationsnamen in der gewünschten Reihenfolge in einer Text-Datei hinterlegen. Dieser Textfile muss bei den Messdaten liegen.
- Ist einer Nicht-Wasserstandsdatei kein Wasserstand zugeordnet wird die Nicht-Wasserstandsdatei nicht mit gewandelt.
- Nicht-Wasserstände werden anhand nur anhand des Stationsnamens der BOEWRT.DAT einander zugeordnet.
- Ist eine physikalische Größe für einen Pegel nicht vorhanden werden Fill_Values zugeordnet.
- Messdaten die keine Wasserstände sind, müssen einen Wasserstand zugeordnet bekommen. Vorschlag hierfür: Kopieren eines nahegelegenen Wasserstandspegels und ändern des Stationsnamen auf den Namen der Nicht-Wasserstandgröße.
- Es ist möglich nicht alle physikalischen Größen zu verwenden. Dies spart massiv Rechenzeit, da keine Dummys erstellt, gewandelt und angehängt werden müssen.
Mögliche Fehlerquellen:
- Einer oder mehrere BOEWRT.DAT Header sind fehlerhaft.
- Die Stationsnamen stimmt nicht überein.
Anmerkungen
- Die BOEWRT.DAT Eingangsdaten müssen zwingend die Endung *.boewrt.dat aufweisen!
- Die Wandlung selbst nimmt den Großteil der Programmlaufzeit in Anspruch. 100 Jahreszeitreihen ~70min
- Die Anwendung kann sich bei schwankender Messdatenqualität recht mühsam gestalten, da keine Möglichkeit besteht gewandelte cf-netcdf.nc zu bearbeiten. Entsprechend wird empfohlen sich alle Daten vor dem Wandeln anzugucken.
Eingabe-Dateien
- req: Steuerdatei boe2nc.dat
- opt: Reihenfolgedatei z.B. reihenfolge.txt
Ausgabe-Dateien
- Datei mit Informationen zum Programmablauf (Dateityp *.sdr)
- Datei mit Warnungen und Fehlern (Dateityp *.err)
Methode
Das Programm wurde mit MATLAB erstellt und mit PROGHOME Methoden ergänzt. Der Programmablauf wird nachfolgend skizziert:
- Lesen der Steuerdatei des Anwenders.
- Prüfen der Steuerdatei auf req. und opt Angaben
- Auswerten der BOEWRT.DAT Headerinformationen
- Auswerten der nutzerdef. Angaben der Dateiliste
- Wandlung I: Vorgegebene BOEWRT.DAT Daten
- Starten von ZEITRIO mit den Angaben aus der Steuerdatei BOE2NC.DAT
- Check: Haben alle Wandlungen mit ZEITRIO funktioniert? (nur mit Reihenfolge)
- Starten von DATACONVERT mit den Angaben aus der Steuerdatei BOE2NC.DAT
- Check: Haben alle Wandlungen mit DATACONVERT funktioniert?
- Nun wird gecheckt, ob für jeden Wasserstand alle angeforderten physikalischen Größen vorhanden sind.
- Erstellen von Dummy-Werten falls die nicht-Wasserstandsgröße nicht vorhanden ist.
- Check: Soll die physikalische Größe erzeugt werden?
- Check: Existieren hier schon "echte" Daten?
- Falls nein wird ein Array mit Fill_Values erzeugt, welcher nach BOEWRT.DAT gespeichert wird.
- Diese BOEWRT.DAT wird mit DATACONVERT nach cf-netcdf.nc überführt und an den entsprechenden Wasserstand angehängt.
- Dies wird für alle angeforderten physikalischen Werte wiederholt.
- Anschließend werden alle cf-netcdf.nc Messdaten mit ncrcat -h (NetCDF Operators) zusammegeführt
- Abschließend werden alle temporären Dateien gelöscht und alle Wandlungsprodukte in entsprechende Ordner verschoben.
Vorlauf-Programme
Nachlauf-Programme
NCDELTA, NCANALYSE, NCPOLO, NCPLOT, NetCDF Operators
Weitere Informationen
Programmiersprache
MATLAB r2018b
zusätzliche Software
keine
Originalversion
Programmpflege
Dokumentation/Literatur
- Musterdateien:
- Musterdateien finden sich in $PROGHOME/examples/boe2nc/
zurück zu Programmkennblätter