Aktionen

BOE2NC: Unterschied zwischen den Versionen

Aus BAWiki

imported>Hagen Robert
imported>Hagen Robert
K
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
 
|name_en=BOE2NC
 
|name_en=BOE2NC
 
|name=BOE2NC
 
|name=BOE2NC
|version=Juni 2019
+
|version=August 2019
 
|version_beschr=Juni 2019
 
|version_beschr=Juni 2019
 
|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.  
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 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 34: 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 53: Zeile 55:
 
## 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.
  

Aktuelle Version vom 7. August 2019, 05:10 Uhr

Basisinformationen

Programm-Name

BOE2NC

Version

August 2019

Beschreibung

Juni 2019

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.

  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)

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, NCPOLO, NCPLOT, NetCDF Operators

Weitere Informationen

Programmiersprache

MATLAB r2018b

zusätzliche Software

keine

Originalversion

R. Hagen

Programmpflege

R. Hagen

Dokumentation/Literatur

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

zurück zu Programmkennblätter


Strukturübersicht