BOE2NC: Unterschied zwischen den Versionen
Aus BAWiki
imported>Hagen Robert Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(15 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
|name_en=BOE2NC | |name_en=BOE2NC | ||
|name=BOE2NC | |name=BOE2NC | ||
|version= | |version=Februar 2021 | ||
|version_beschr= | |version_beschr=September 2022 | ||
|stichworte=Preprozessor<br /> | |stichworte=Preprozessor<br /> | ||
Wandlung | Wandlung<br /> | ||
[[BOEWRT.DAT]]<br /> | |||
[[CF-NETCDF.NC|cf-netcdf.nc]] | |||
|kurzbeschreibung= | |kurzbeschreibung= | ||
[[BOE2NC]] (siehe auch [[BOE2NC.DAT | [[BOE2NC]] (siehe auch [[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. '''ACHTUNG 28.08.2023: Dieses Programm wird nicht mehr gepflegt - die Funktionalität wird fortan durch [[TS2NC]] abgebildet.''' | ||
# 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 Wandlung ist zudem recht zeitintensiv - und bei fehlerhaften Daten muss neu gestartet werden. | # 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. | # 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. | ||
# | # [[BOEWRT.DAT]] Messdaten werden in Wasserstände und nicht-Wasserstände unterschieden. | ||
# Nicht-Wasserstände werden anhand | # Nicht-Wasserstände werden anhand anhand des Stationsnamens der [[BOEWRT.DAT]] einem Wasserstand 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. | |||
# 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. | ||
# 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. | # 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. | ||
Zeile 31: | Zeile 33: | ||
# Die Wandlung selbst nimmt den Großteil der Programmlaufzeit in Anspruch. 100 Jahreszeitreihen ~70min | # 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. | ||
# Sind mehrere Tiefen für eine Station vorhanden sollte der Stationsname geändert werden. Liegen zum Beispiel für RSS Messungen in 2 und 8m Wassertiefe vor, sollten die Stationsnamen RSS_020 und RSS_080 heißen. Für jeder der beiden Daten muss dann eine Wasserstandszeitreihe vorgegeben werden. | |||
|eingabedateien= | |eingabedateien= | ||
# req: Steuerdatei [[BOE2NC | # req: Steuerdatei [[BOE2NC.dat]] | ||
# opt: Reihenfolgedatei z.B. reihenfolge.txt | # opt: Reihenfolgedatei z.B. reihenfolge.txt | ||
Zeile 39: | Zeile 42: | ||
# Datei mit Informationen zum Programmablauf (Dateityp *.sdr) | # Datei mit Informationen zum Programmablauf (Dateityp *.sdr) | ||
# Datei mit Warnungen und Fehlern (Dateityp *.err) | # Datei mit Warnungen und Fehlern (Dateityp *.err) | ||
# Ordner mit den Originaldaten ./boewrt | |||
# Ordner mit den [[ZEITRIO]] prozessierten Daten ./boe | |||
# Ordner mit den [[ZEITRIO]] prozessierten Daten, [[DATACONVERT]] gewandelten und ncks zusammengefassten Daten ./nc | |||
# Ordner mit den zusammengefassten ./nc Daten via ncrcat ./nc_cat | |||
|methode= | |methode= | ||
Zeile 52: | Zeile 59: | ||
## Starten von [[DATACONVERT]] mit den Angaben aus der Steuerdatei [[BOE2NC.DAT]] | ## Starten von [[DATACONVERT]] mit den Angaben aus der Steuerdatei [[BOE2NC.DAT]] | ||
## Check: Haben alle Wandlungen mit [[DATACONVERT]] funktioniert? | ## Check: Haben alle Wandlungen mit [[DATACONVERT]] funktioniert? | ||
# Nun wird gecheckt, ob | # Nun wird für jede Wasserstands-Station gecheckt, ob alle angeforderten physikalischen Größen vorhanden sind. | ||
## Check: Soll die physikalische Größe erzeugt werden? | ## Check: Soll die physikalische Größe erzeugt werden? | ||
## Check: Existieren hier schon "echte" Daten? | ## Check: Existieren hier schon "echte" Daten? | ||
## Falls nein wird ein Array mit Fill_Values erzeugt, welcher nach [[BOEWRT.DAT]] gespeichert wird. | ## Falls ja, werden die Daten an die Station angehängt. | ||
## Diese [[BOEWRT.DAT]] wird mit [[DATACONVERT]] nach [[CF-NETCDF.NC|cf-netcdf.nc]] überführt und an den entsprechenden Wasserstand angehängt. | ## 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 dann an den entsprechenden Wasserstand angehängt. | |||
## Dies wird für alle angeforderten physikalischen Werte wiederholt. | ## 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]]) | # Anschließend werden alle [[CF-NETCDF.NC|cf-netcdf.nc]] Messdaten mit ncrcat -h ([[NetCDF Operators]]) zusammengeführt | ||
# Abschließend werden alle temporären Dateien gelöscht und alle Wandlungsprodukte in entsprechende Ordner verschoben. | # 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]], [[NCPLOT]], [[NetCDF Operators]] | |postprozessor=[[NCDELTA]], [[NCANALYSE]], [[NCDVAR]], [[NCMERGE]], [[NCPOLO]], [[NCPLOT]], [[NCVIEW2D]], [[NetCDF Operators]] | ||
|programmiersprache=MATLAB r2018b | |programmiersprache=MATLAB r2018b | ||
|zus_software= | |zus_software= [[ZEITRIO]] | ||
|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], [mailto:anna.wuensche@baw.de A. Wünsche] | ||
|dokumentation= | |dokumentation= | ||
* Musterdateien: | * Musterdateien: | ||
** Musterdateien finden sich in '''$PROGHOME/examples/boe2nc/''' | ** Musterdateien finden sich in '''$PROGHOME/examples/boe2nc/''' | ||
}} | }} |
Aktuelle Version vom 28. August 2023, 06:11 Uhr
Basisinformationen
Programm-Name
BOE2NC
Version
Februar 2021
Beschreibung
September 2022
Stichworte
Preprozessor
Wandlung
BOEWRT.DAT
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. ACHTUNG 28.08.2023: Dieses Programm wird nicht mehr gepflegt - die Funktionalität wird fortan durch TS2NC abgebildet.
- 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.
- BOEWRT.DAT Messdaten werden in Wasserstände und nicht-Wasserstände unterschieden.
- Nicht-Wasserstände werden anhand anhand des Stationsnamens der BOEWRT.DAT einem Wasserstand 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.
- Ist eine physikalische Größe für einen Pegel nicht vorhanden werden Fill_Values zugeordnet.
- 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.
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)
- Ordner mit den Originaldaten ./boewrt
- Ordner mit den ZEITRIO prozessierten Daten ./boe
- Ordner mit den ZEITRIO prozessierten Daten, DATACONVERT gewandelten und ncks zusammengefassten Daten ./nc
- Ordner mit den zusammengefassten ./nc Daten via ncrcat ./nc_cat
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 für jede Wasserstands-Station gecheckt, ob alle angeforderten physikalischen Größen vorhanden sind.
- Check: Soll die physikalische Größe erzeugt werden?
- Check: Existieren hier schon "echte" Daten?
- Falls ja, werden die Daten an die Station angehängt.
- 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 dann 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) zusammengeführt
- Abschließend werden alle temporären Dateien gelöscht und alle Wandlungsprodukte in entsprechende Ordner verschoben.
Vorlauf-Programme
Nachlauf-Programme
NCDELTA, NCANALYSE, NCDVAR, NCMERGE, NCPOLO, NCPLOT, NCVIEW2D, NetCDF Operators
Weitere Informationen
Programmiersprache
MATLAB r2018b
zusätzliche Software
Originalversion
Programmpflege
Dokumentation/Literatur
- Musterdateien:
- Musterdateien finden sich in $PROGHOME/examples/boe2nc/
zurück zu Programmkennblätter