Aktionen

BOE2NC: Unterschied zwischen den Versionen

Aus BAWiki

imported>Hagen Robert
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(13 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
|name_en=BOE2NC
|name_en=BOE2NC
|name=BOE2NC
|name=BOE2NC
|version=Juni 2019
|version=Februar 2021
|version_beschr=Juni 2019
|version_beschr=September 2022
|stichworte=Preprozessor<br />
|stichworte=Preprozessor<br />
Wandlung einer Menge von [[BOEWRT.DAT]] in eine zusammengefasste [[CF-NETCDF.NC|cf-netcdf.nc]]<br />
Wandlung<br />
[[BOEWRT.DAT]]<br />
[[CF-NETCDF.NC|cf-netcdf.nc]]


|kurzbeschreibung=
|kurzbeschreibung=
[[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.  
[[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.'''


|anwenderhinweise=
# 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!
# [[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.
# 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.
# 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.
Zeile 35: Zeile 36:


|eingabedateien=
|eingabedateien=
# req: Steuerdatei [[BOE2NC.dat|boe2nc.dat]]
# req: Steuerdatei [[BOE2NC.dat]]
# opt: Reihenfolgedatei z.B. reihenfolge.txt
# opt: Reihenfolgedatei z.B. reihenfolge.txt


Zeile 41: 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 54: 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 für jeden Wasserstand alle angeforderten physikalischen Größen vorhanden sind.
# Nun wird für jede Wasserstands-Station gecheckt, ob 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: 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]]) zusammegeführt
# 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= keine
|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.

  1. Alle Messdaten müssen in einem Ordner vorliegen
  2. Erlaubte physikalische Größen sind zur Zeit: Wasserstand, Salzgehalt, Temperatur, Strömungsgeschwindigkeit
  3. Zur Strömungsgeschwindigkeit muss eine Magnitude und eine Richtung vorliegen
  4. Die BOEWRT.DAT Header müssen zwingend enthalten (Zeitzone, Koordinatensystem, Koordinaten, ID)
  5. 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.
  6. 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.
  7. BOEWRT.DAT Messdaten werden in Wasserstände und nicht-Wasserstände unterschieden.
  8. Nicht-Wasserstände werden anhand anhand des Stationsnamens der BOEWRT.DAT einem Wasserstand zugeordnet.
  9. 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.
  10. Ist eine physikalische Größe für einen Pegel nicht vorhanden werden Fill_Values zugeordnet.
  11. 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

  1. req: Steuerdatei BOE2NC.dat
  2. opt: Reihenfolgedatei z.B. reihenfolge.txt

Ausgabe-Dateien

  1. Datei mit Informationen zum Programmablauf (Dateityp *.sdr)
  2. Datei mit Warnungen und Fehlern (Dateityp *.err)
  3. Ordner mit den Originaldaten ./boewrt
  4. Ordner mit den ZEITRIO prozessierten Daten ./boe
  5. Ordner mit den ZEITRIO prozessierten Daten, DATACONVERT gewandelten und ncks zusammengefassten Daten ./nc
  6. 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:

  1. Lesen der Steuerdatei des Anwenders.
  2. Prüfen der Steuerdatei auf req. und opt Angaben
  3. Auswerten der BOEWRT.DAT Headerinformationen
  4. Auswerten der nutzerdef. Angaben der Dateiliste
  5. Wandlung I: Vorgegebene BOEWRT.DAT Daten
    1. Starten von ZEITRIO mit den Angaben aus der Steuerdatei BOE2NC.DAT
    2. Check: Haben alle Wandlungen mit ZEITRIO funktioniert? (nur mit Reihenfolge)
    3. Starten von DATACONVERT mit den Angaben aus der Steuerdatei BOE2NC.DAT
    4. Check: Haben alle Wandlungen mit DATACONVERT funktioniert?
  6. Nun wird für jede Wasserstands-Station gecheckt, ob alle angeforderten physikalischen Größen vorhanden sind.
    1. Check: Soll die physikalische Größe erzeugt werden?
    2. Check: Existieren hier schon "echte" Daten?
    3. Falls ja, werden die Daten an die Station angehängt.
    4. Falls nein, wird ein Array mit Fill_Values erzeugt, welcher nach BOEWRT.DAT gespeichert wird.
    5. Diese BOEWRT.DAT wird mit DATACONVERT nach cf-netcdf.nc überführt und dann an den entsprechenden Wasserstand angehängt.
    6. Dies wird für alle angeforderten physikalischen Werte wiederholt.
  7. Anschließend werden alle cf-netcdf.nc Messdaten mit ncrcat -h (NetCDF Operators) zusammengeführt
  8. Abschließend werden alle temporären Dateien gelöscht und alle Wandlungsprodukte in entsprechende Ordner verschoben.

Vorlauf-Programme

ZEITRIO, DATACONVERT

Nachlauf-Programme

NCDELTA, NCANALYSE, NCDVAR, NCMERGE, NCPOLO, NCPLOT, NCVIEW2D, NetCDF Operators

Weitere Informationen

Programmiersprache

MATLAB r2018b

zusätzliche Software

ZEITRIO

Originalversion

R. Hagen

Programmpflege

R. Hagen, A. Wünsche

Dokumentation/Literatur

  • Musterdateien:
    • Musterdateien finden sich in $PROGHOME/examples/boe2nc/

zurück zu Programmkennblätter


Strukturübersicht