NetCDF Synoptische Daten im Dreiecksgitter
Aus BAWiki
Kurze Beschreibung
Synoptische Daten für alle staggered data Positionen eines aus Dreiecken aufgebauten Gitters.
Weitere Beschreibungen
- NetCDF Dreiecksgitter: Koordinaten, Topologie und Koordinatentransformation.
- NetCDF Zeitkoordinate: Koordinatenvariable time.
- NetCDF Vertikalkoordinate: zeit- und ortsvariable Vertikalkoordinate.
Dimensionen
- nMesh2_node : Anzahl der Knoten.
- nMesh2_edge : Anzahl der Kanten.
- nMesh2_poly : Anzahl der Polygone (hier Dreiecke).
- nMesh2_class_names_strlen : max. Anzahl der Zeichen in Schwebstoffklassennamen.
- nMesh2_time : Anzahl der Zeitpunkte (Gitterdatei).
- nMesh2_data_time : UNLIMITED-Dimension, Anzahl der synoptischen Datensätze.
- nMesh2_layer_2d : Anzahl der Schichten für tiefengemittelte Daten.
- nMesh2_layer_3d : Anzahl der Schichten für tiefenstrukturierte Daten.
- nMesh2_suspension_classes : Anzahl der Schwebstoffklassen, inklusive Summe aller Fraktionen.
- two : Konstante ( = 2 ).
- three : Konstante ( = 3 ).
Datenkompression
Auf Grund der Verwendung von z-Schichten sind über jeder Position in Abhängigkeit von der Wassertiefe unterschiedlich viele (aktive) Berechnungszellen vorhanden. Zur Reduktion der Größe der Ergebnisdatensätze könnten im Prinzip verschiedene Dimensionen in einer komprimierten Dimension zusammengefasst. Dauerhaft fehlende Daten würden dann erst gar nicht in der Datei abgespeichert. Dies reduzierte bei drei-dimensionalen Simulationen mit z-Schichten den Speicheraufwand typischer Weise um 60 bis 80 Prozent.
Komprimierte Daten an Knoten
Hinweise:
- Methode kann nicht in CF-konformer Weise genutzt werden:
- Probleme bei der Verwendung von "cell_methods: mean".
- Probleme bei der Zuordnung der korrekten Koordinaten in Systemen wie ArcGIS.
- Weitere allgemeine Hinweise, siehe unter NetCDF Kompression von Daten durch Aufsammeln.
Komprimierte Daten an Kanten
Siehe Hinweise unter Knoten.
Komprimierte Daten an Polygonen
Siehe Hinweise unter Knoten.
Gewichte
Gewichte werden insbesondere im Postprocessing benötigt, um abgeleitete Daten korrekt berechnen zu können, falls die hierfür relevanten Gewichtsfaktoren, nicht in einfacher Weise aus den Koordinaten abgeleitet werden können.
Längen
Durchflusshöhe an Knoten
float Mesh2_node_z_2d(nMesh2_data_time, nMesh2_node) ;
- Mesh2_node_z_2d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
- Mesh2_node_z_2d:units = "m" ;
- Mesh2_node_z_2d:positive = "down" ;
- Mesh2_node_z_2d:bounds = "Mesh2_node_z_2d_bnd" ;
- Mesh2_node_z_2d:standard_name = "depth" ;
float Mesh2_node_z_2d_bnd(nMesh2_data_time, nMesh2_node, two)
Hinweise:
- Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
- Entspricht den Vertikalkoordinaten an Knoten (siehe nachfolgenden Abschnitt).
- Weitere Informationen siehe dort.
Durchflusshöhe an Knoten, differenziert nach Schichten
float Mesh2_node_z_3d(nMesh2_data_time, nMesh2_layer_3d, nMesh2_node) ;
- Mesh2_node_z_3d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
- Mesh2_node_z_3d:units = "m" ;
- Mesh2_node_z_3d:positive = "down" ;
- Mesh2_node_z_3d:bounds = "Mesh2_node_z_3d_bnd" ;
- Mesh2_node_z_3d:standard_name = "depth" ;
float Mesh2_node_z_3d_bnd(nMesh2_data_time, nMesh2_layer_3d, nMesh2_node, two) ;
Hinweise:
- Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
- Entspricht den Vertikalkoordinaten an Knoten (siehe nachfolgenden Abschnitt).
- Weitere Informationen siehe dort.
Flächen
Statische Fläche der Polygone
double Mesh2_poly_area(nMesh2_poly) ;
- Mesh2_poly_area:long_name = "Zellenflaeche" ;
- Mesh2_poly_area:units = "m2" ;
- Mesh2_poly_area:name_id = 1656 ;
- Mesh2_poly_area:_FillValue = 1.e+31 ;
- Mesh2_poly_area:valid_range = 0.0, 100000.0 ;
- Mesh2_poly_area:coordinates = "Mesh2_poly_x Mesh2_poly_y Mesh2_poly_lon Mesh2_poly_lat" ;
- Mesh2_poly_area:grid_mapping = "Mesh2_crs" ;
- Mesh2_poly_area:standard_name = "cell_area" ;
- Mesh2_poly_area:mesh = "Mesh2" ;
- Mesh2_poly_area:location = "poly" ;
Hinweise:
- Entspricht der statischen Fläche der Polygone.
- Wird angegeben, um als Gewicht (Attribut "cell_measure") benutzt werden zu können.
- Erspart einer Anwendung das Berechnen der Fläche aus den Koordinaten der Polygone.
Durchflussfläche über Kanten
Noch nicht näher ausgeführt.
Durchflussfläche über Kanten, differenziert nach Schichten
Noch nicht näher ausgeführt.
Volumina
Volumina über Polygonen
Noch nicht näher ausgeführt.
Volumina über Polygonen, differenziert nach Schichten
Noch nicht näher ausgeführt.
Zeitkoordinaten
Gitter-Daten
double nMesh2_time(nMesh2_time) ;
- nMesh2_time:long_name = "time" ;
- nMesh2_time:units = "seconds since 2008-07-01 00:00:00 01:00" ;
- nMesh2_time:name_id = 1640 ;
- nMesh2_time:axis = "T" ;
- nMesh2_time:bounds = "nMesh2_time_bnd" ;
- nMesh2_time:calendar = "gregorian" ;
- nMesh2_time:standard_name = "time" ;
double nMesh2_time_bnd(nMesh2_time, two) ;
Hinweise:
- Die Topografie des Gitters (der ursprünglichen Gitterdatei) gilt entweder für einen bestimmten Termin oder Zeitraum.
- Falls die topografischen Daten des Gitters für einen Zeitraum gültig sind, so ist die entsprechende Boundary-Variable ebenfalls vorhanden.
Synoptische Daten
double nMesh2_data_time(nMesh2_data_time) ;
- nMesh2_data_time:long_name = "time" ;
- nMesh2_data_time:units = "minutes since 1994-01-25 01:00:00 01:00" ;
- nMesh2_data_time:name_id = 1640 ;
- nMesh2_data_time:axis = "T" ;
- nMesh2_data_time:calendar = "gregorian" ;
- nMesh2_data_time:standard_name = "time" ;
Hinweise:
- Die synoptischen Daten gelten für bestimmte Termine. Daher ist keine ergänzende Boundary-Variable erforderlich.
Vertikalkoordinaten
Knoten
Tiefengemittelte Daten
float Mesh2_node_z_2d(nMesh2_data_time, nMesh2_node) ;
- Mesh2_node_z_2d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
- Mesh2_node_z_2d:units = "m" ;
- Mesh2_node_z_2d:positive = "down" ;
- Mesh2_node_z_2d:bounds = "Mesh2_node_z_2d_bnd" ;
- Mesh2_node_z_2d:standard_name = "depth" ;
float Mesh2_node_z_2d_bnd(nMesh2_data_time, nMesh2_node, two) ;
Hinweise:
- Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
- Über die Wassertiefe gemittelte Daten an Knoten benutzen diese zeitvariable Vertikalkoordinate.
- Der aktuelle Wert bezeichnet die Mitte zwischen aktueller Wasseroberfläche und Gewässersohle.
- Aus der Boundary-Variablen ergibt sich die Höhe (Länge), über die gemittelt wurde.
- Das Attribut "axis" ist nicht zulässig, da es sich um eine Hilfs-Vertikalkoordinate handelt.
Tiefenstrukturierte Daten
float Mesh2_node_z_3d(nMesh2_data_time, nMesh2_layer_3d, nMesh2_node) ;
- Mesh2_node_z_3d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
- Mesh2_node_z_3d:units = "m" ;
- Mesh2_node_z_3d:positive = "down" ;
- Mesh2_node_z_3d:bounds = "Mesh2_node_z_3d_bnd" ;
- Mesh2_node_z_3d:standard_name = "depth" ;
float Mesh2_node_z_3d_bnd(nMesh2_data_time, nMesh2_layer_3d, nMesh2_node, two) ;
Hinweise:
- Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
- Tiefenstrukturierte, in z-Schichten gemittelte Daten an Knoten benutzen diese zeitvariable Vertikalkoordinate.
- Der aktuelle Wert bezeichnet die Mitte der jeweiligen z-Schicht.
- Aus der Boundary-Variablen ergibt sich die Höhe (Länge), über die gemittelt wurde.
- Das Attribut "axis" ist nicht zulässig, da es sich um eine Hilfs-Vertikalkoordinate handelt.
Kanten
Tiefengemittelte Daten
Noch nicht näher ausgeführt.
Tiefenstrukturierte Daten
Noch nicht näher ausgeführt.
Polygone
Tiefengemittelte Daten
Noch nicht näher ausgeführt.
Tiefenstrukturierte Daten
Noch nicht näher ausgeführt.
Informationen für das HN-Verfahren
Kennzeichnung offener und geschlossener Kanten
- integer Mesh2_edge_type(nMesh2_edge) ;
- Mesh2_edge_type:standard_name = "???" ; \\ yet to be defined
- Mesh2_edge_type:long_name = "type of 2D mesh edges, closed or open" ;
- Mesh2_edge_type:coordinates = "Mesh2_edge_lon Mesh2_edge_lat" ;
- Mesh2_edge_type:_FillValue = fillvalue ;
- Mesh2_edge_type:valid_range = 0, 1 ;
- Mesh2_edge_type:valid_values = 0, 1 ;
- Mesh2_edge_type:flag_meanings = "closed_edge, open_edge"
- Mesh2_edge_type:grid_mapping = "crs" ;
- Mesh2_edge_type:mesh = "mesh2" ;
- Mesh2_edge_type:location = "edge"
- Anmerkung: Mit Hilfe der von Deltares vorgeschlagenen Attribute mesh und location wird die Zugehörigkeit zu einem Gitter sowie zu einer (Daten-) Position innerhalb des Gitters beschrieben.
- integer Mesh2_edge_type(nMesh2_edge) ;
Synoptische Daten an Knoten
Siehe die einschlägigen Abschnitte unter NetCDF Synoptische Daten an Einzelpositionen.
Synoptische Daten an Kanten
Noch nicht näher ausgeführt.
Synoptische Daten an Polygonen
Noch nicht näher ausgeführt.
Anmerkungen, Fragen
- Datei nutzt Deltares-CF-Erweiterungen.
- Datei ist nicht vollständig CF-konform. Für das Attribut cell_measures müsste length als Wert zugelassen werden.
- Dasselbe gilt im Prinzip für depth. Allerdings ist depth ein CF Standardname, und dann könnte dieser Wert doch gemäß Abschnitt 7.3.4 in der CF-Metadaten Konvention zulässig sein.
zurück zu NetCDF