NCPLOT: DataSet definieren
Aus BAWiki
Diese Seite soll beim Setzen der korrekten Start-, Step- und Stride-Werte in einem Dataset-Block
der NCPLOT-Steuerdatei helfen.
Vorbemerkung
Der Befehl
ncdump -h <filename>.nc
zeigt den Header einer CF-NetCDF-Datei in CDL- Syntax. Diesen Metadaten kann man die Namen der angebotenen Variablen und deren Dimensionen entnehmen.
1.) Dimensionen der Variablen
dimensions: nMesh2_node = 19508 ; nMesh2_edge = 37784 ; nMesh2_face = 18274 ; nMesh2_time = 1 ; two = 2 ; nMaxMesh2_face_nodes = 4 ; nMesh2_data_time = UNLIMITED ; // (4177 currently) nMesh2_layer_2d = 1 ; nMesh2_layer_3d = 50 ;
Hinweis: Die Dimensionen stehen ganz am Anfang der Datei.
2.) Liste der Variablen
float Mesh2_face_Wasserstand_2d(nMesh2_data_time, nMesh2_face) ; Mesh2_face_Wasserstand_2d:long_name = "Wasserstand [ face ]" ; Mesh2_face_Wasserstand_2d:units = "m" ; ... float Mesh2_face_Salzgehalt_3d(nMesh2_data_time, nMesh2_layer_3d, nMesh2_face) ; Mesh2_face_Salzgehalt_3d:long_name = "Salzgehalt [ face ]" ; Mesh2_face_Salzgehalt_2d:units = "1e-3" ;
Hinweise:
- Die DUMP-Datei liegt in CDL-Syntax vor.
- Die Reihenfolge der Dimensionen in Fortran ist genau umgekehrt wie in der DUMP Datei angegeben.
- Für die Eingabesteuerdaten wird die Fortran-Syntax benutzt.
Beispiel: Wasserstand
CDL : Mesh2_face_Wasserstand_2d(nMesh2_data_time, nMesh2_face) Fortran : Mesh2_face_Wasserstand_2d(nMesh2_face, nMesh2_data_time)
Beispiel: Salzgehalt
CDL : Mesh2_face_Salzgehalt_3d(nMesh2_data_time, nMesh2_layer_3d, nMesh2_face) Fortran : Mesh2_face_Salzgehalt_3d(nMesh2_face, nMesh2_layer_3d, nMesh2_data_time)
Beispiel: Datensatz 1
Es soll der Wasserstand geplottet werden.
Es soll mit dem 1234-ten Ergebniszeitpunkt begonnen werden.
Insgesamt soll eine Darstellung erzeugt werden.
Es soll jedes Ergebnis für den Wasserstand dargestellt werden.
File = <fileName>.nc NETCDF Variable = Mesh2_face_Wasserstand_2d Start = 1 1234 Step = 18274 1 Stride = 1 1
Fazit:
Es wird nur ein Bild des Wasserstands für den 1234-ten Ausgabe-Termin erzeugt.
Beispiel: Datensatz 2
Es soll der Wasserstand geplottet werden.
Es soll mit dem 100-ten Ergebniszeitpunkt begonnen werden.
Es sollen Darstellungen für 50 Zeitpunkte angefertigt werden.
Es soll jeder sechste Zeitpunkt dargestellt werden.
File = <fileName>.nc NETCDF Variable = Mesh2_face_Wasserstand_2d Start = 1 100 Step = 18274 50 Stride = 1 6
Fazit:
Es werden 50 Bilder erzeugt.
Beispiel: Datensatz 3
Es soll der 3D-Salzgehalt geplottet werden.
Es soll mit der 5. Schicht und dem 100-ten Zeitpunkt begonnen werden.
Es sollen Darstellungen für 9 Schichten und 50 Zeitpunkte angefertigt werden.
Es soll jede 5. Schicht und jeder 6. Zeitpunkt dargestellt werden.
File = <fileName>.nc NETCDF Variable = Mesh2_face_Salzgehalt_3d Start = 1 5 100 Step = 18274 9 50 Stride = 1 5 6
Fazit:
Es werden 50 x 9 = 450 Darstellungen erzeugt.
Für jeden der gewählten 50 Zeitpunkte wird von der 5. bis zur 45. Schicht jede 5. Schicht dargestellt.
Zusammenfassung
- Verwende NCDUMP.
- Ermittle die Dimensionen.
- Ermittle den Namen der Variablen und ihre Dimensionen.
- Invertiere die CDL-Reihenfolge der Dimensionen.
- Ermittle start(:) (für Ortsdimension = 1).
- Ermittle step(:) (für Ortsdimension = max. Anzahl der Orte).
- Ermittle stride(:) (für Ortsdimension = 1).
zurück zu NCPLOT.DAT