BOE2NC: Unterschied zwischen den Versionen
Aus BAWiki
imported>Hagen Robert Keine Bearbeitungszusammenfassung |
imported>Hagen Robert Keine Bearbeitungszusammenfassung |
||
Zeile 5: | Zeile 5: | ||
|version_beschr=Juni 2019 | |version_beschr=Juni 2019 | ||
|stichworte=Preprozessor<br /> | |stichworte=Preprozessor<br /> | ||
Wandlung einer Menge von [[BOEWRT.DAT]] in [[CF-NETCDF.NC|cf-netcdf.nc]]<br /> | Wandlung einer Menge von [[BOEWRT.DAT]] in eine zusammengefasste [[CF-NETCDF.NC|cf-netcdf.nc]]<br /> | ||
|kurzbeschreibung= | |kurzbeschreibung= | ||
[[BOE2NC]] (siehe auch [[BOE2NC.DAT|boe2nc.dat]]) wird angewendet um eine beliebige Menge von Messdaten vom [[BOEWRT.DAT]] in [[CF-NETCDF.NC|cf-netcdf.nc]] zu überführen. Hierbei gilt es zu beachten: | [[BOE2NC]] (siehe auch [[BOE2NC.DAT|boe2nc.dat]]) wird angewendet um eine beliebige Menge von Messdaten vom [[BOEWRT.DAT]] in eine zusammengefasste [[CF-NETCDF.NC|cf-netcdf.nc]] zu überführen. | ||
Hierbei gilt es zu beachten: | |||
# Alle Messdaten müssen in einem Ordner vorliegen | # Alle Messdaten müssen in einem Ordner vorliegen | ||
# Erlaubte physikalische Größen sind zur Zeit: Wasserstand, Salzgehalt, Temperatur, Strömungsgeschwindigkeit | # Erlaubte physikalische Größen sind zur Zeit: Wasserstand, Salzgehalt, Temperatur, Strömungsgeschwindigkeit | ||
# Zur Strömungsgeschwindigkeit muss eine Magnitude und eine Richtung vorliegen | # Zur Strömungsgeschwindigkeit muss eine Magnitude und eine Richtung vorliegen | ||
# Die [[BOEWRT.DAT]] Header müssen zwingend enthalten (Zeitzone, Koordinatensystem, Koordinaten, ID) | # 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 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 | # 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. | ||
# Nicht-Wasserstände werden anhand des | # 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. | # 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. | # 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: | '''Mögliche Fehlerquellen:''' | ||
# Einer oder mehrere [[BOEWRT.DAT]] Header sind fehlerhaft. | # Einer oder mehrere [[BOEWRT.DAT]] Header sind fehlerhaft. | ||
# Die Stationsnamen stimmt nicht überein. | # Die Stationsnamen stimmt nicht überein. | ||
Anmerkungen | '''Anmerkungen''' | ||
# Die | # Die [[BOEWRT.DAT]] Eingangsdaten müssen zwingend die Endung *.boewrt.dat aufweisen! | ||
# Die Wandlung selbst nimmt den Großteil der Programmlaufzeit in Anspruch. | # 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|cf-netcdf.nc]] zu bearbeiten. Entsprechend wird empfohlen sich alle Daten vor dem Wandeln anzugucken. | # Die Anwendung kann sich bei schwankender Messdatenqualität recht mühsam gestalten, da keine Möglichkeit besteht gewandelte [[CF-NETCDF.NC|cf-netcdf.nc]] zu bearbeiten. Entsprechend wird empfohlen sich alle Daten vor dem Wandeln anzugucken. | ||
|eingabedateien= | |eingabedateien= | ||
# | # req: Steuerdatei [[BOE2NC.dat|boe2nc.dat]] | ||
# opt: Reihenfolgedatei z.B. reihenfolge.txt | |||
|ausgabedateien= | |ausgabedateien= | ||
# Datei mit | # Datei mit Informationen zum Programmablauf (Dateityp *.sdr) | ||
# | # Datei mit Warnungen und Fehlern (Dateityp *.err) | ||
|methode= | |methode= | ||
Zeile 45: | Zeile 43: | ||
# Lesen der Steuerdatei des Anwenders. | # 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: | ## 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|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|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. | ||
# | |||
|preprozessor=[[ZEITRIO]],[[DATACONVERT]] | |preprozessor=[[ZEITRIO]], [[DATACONVERT]] | ||
|postprozessor=[[NCDELTA]], [[NCANALYSE]], [[NCPOLO]] | |postprozessor=[[NCDELTA]], [[NCANALYSE]], [[NCPOLO]], [[NCPLOT]], [[NetCDF Operators]] | ||
|programmiersprache=MATLAB r2018b | |programmiersprache=MATLAB r2018b | ||
|zus_software= keine | |zus_software= keine | ||
|kontakt_original=[mailto:robert.hagen@baw.de R. Hagen | |kontakt_original=[mailto:robert.hagen@baw.de R. Hagen] | ||
|kontakt_pflege=[mailto:robert.hagen@baw.de R. Hagen] | |kontakt_pflege=[mailto:robert.hagen@baw.de R. Hagen] | ||
|dokumentation= | |dokumentation= |
Version vom 27. Juni 2019, 13:39 Uhr
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