Aktionen

NCPLOT: DataSet definieren: Unterschied zwischen den Versionen

Aus BAWiki

K
K
 
Zeile 11: Zeile 11:
 
ncdump -h <filename>.nc
 
ncdump -h <filename>.nc
 
  </nowiki>
 
  </nowiki>
zeigt den Header einer CF-[[NetCDF]]-Datei in ''CDL''- Syntax.
+
zeigt den Header einer CF-NetCDF-Datei in ''CDL''- Syntax.
 
Diesen Metadaten kann man die Namen der angebotenen Variablen und deren
 
Diesen Metadaten kann man die Namen der angebotenen Variablen und deren
 
Dimensionen entnehmen.  
 
Dimensionen entnehmen.  

Aktuelle Version vom 5. Juli 2018, 11:26 Uhr


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:

  1. Die DUMP-Datei liegt in CDL-Syntax vor.
  2. Die Reihenfolge der Dimensionen in Fortran ist genau umgekehrt wie in der DUMP Datei angegeben.
  3. 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

  1. Verwende NCDUMP.
  2. Ermittle die Dimensionen.
  3. Ermittle den Namen der Variablen und ihre Dimensionen.
  4. Invertiere die CDL-Reihenfolge der Dimensionen.
  5. Ermittle start(:) (für Ortsdimension = 1).
  6. Ermittle step(:) (für Ortsdimension = max. Anzahl der Orte).
  7. Ermittle stride(:) (für Ortsdimension = 1).



zurück zu NCPLOT.DAT