Aktionen

BOE2NC: Unterschied zwischen den Versionen

Aus BAWiki

imported>Hagen Robert
imported>Hagen Robert
Zeile 22: Zeile 22:
 
# 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.
  
'''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.
 +
# Ein nicht-Wasserstand hat keinen Wasserstand zugeordnet.
  
'''Anmerkungen'''
+
|Anmerkungen=
 
# Die [[BOEWRT.DAT]] Eingangsdaten müssen zwingend die Endung *.boewrt.dat aufweisen!
 
# 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 Wandlung selbst nimmt den Großteil der Programmlaufzeit in Anspruch. 100 Jahreszeitreihen ~70min

Version vom 27. Juni 2019, 13:40 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:

  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. Ist einer Nicht-Wasserstandsdatei kein Wasserstand zugeordnet wird die Nicht-Wasserstandsdatei nicht mit gewandelt.
  8. Nicht-Wasserstände werden anhand nur anhand des Stationsnamens der BOEWRT.DAT einander zugeordnet.
  9. Ist eine physikalische Größe für einen Pegel nicht vorhanden werden Fill_Values zugeordnet.
  10. 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.
  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 gecheckt, ob für jeden Wasserstand alle angeforderten physikalischen Größen vorhanden sind.
  7. Erstellen von Dummy-Werten falls die nicht-Wasserstandsgröße nicht vorhanden ist.
    1. Check: Soll die physikalische Größe erzeugt werden?
    2. Check: Existieren hier schon "echte" Daten?
    3. Falls nein wird ein Array mit Fill_Values erzeugt, welcher nach BOEWRT.DAT gespeichert wird.
    4. Diese BOEWRT.DAT wird mit DATACONVERT nach cf-netcdf.nc überführt und an den entsprechenden Wasserstand angehängt.
    5. Dies wird für alle angeforderten physikalischen Werte wiederholt.
  8. Anschließend werden alle cf-netcdf.nc Messdaten mit ncrcat -h (NetCDF Operators) zusammegeführt
  9. 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