Aktionen

NetCDF Synoptische Daten im Dreiecksgitter: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(→‎Tiefenstrukturierte Daten: Definition der Hilfs-Vertikalkoordinate für tiefenstrukturierte Daten ergänzt)
imported>Lang Guenther
Zeile 204: Zeile 204:
==Kennzeichnung offener und geschlossener Kanten==
==Kennzeichnung offener und geschlossener Kanten==


:: integer Mesh2_edge_type(nMesh2_edge) ;
int Mesh2_edge_type(nMesh2_edge) ;
::: Mesh2_edge_type:standard_name = "'''???'''" ; \\ yet to be defined     
: 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:long_name = "type of 2D mesh edges, closed or open" ;     
::: Mesh2_edge_type:coordinates = "Mesh2_edge_lon Mesh2_edge_lat" ;
: Mesh2_edge_type:coordinates = "Mesh2_edge_lon Mesh2_edge_lat" ;
::: Mesh2_edge_type:_FillValue = ''fillvalue'' ;
: Mesh2_edge_type:_FillValue = ''fillvalue'' ;
::: Mesh2_edge_type:valid_range = 0, 1 ;
: Mesh2_edge_type:valid_range = 0, 1 ;
::: Mesh2_edge_type:valid_values = 0, 1 ;
: Mesh2_edge_type:valid_values = 0, 1 ;
::: Mesh2_edge_type:flag_meanings = "closed_edge, open_edge"
: Mesh2_edge_type:flag_meanings = "closed_edge, open_edge"
::: Mesh2_edge_type:grid_mapping = "crs" ;
: Mesh2_edge_type:grid_mapping = "crs" ;
::: Mesh2_edge_type:mesh = "mesh2" ;
: Mesh2_edge_type:mesh = "mesh2" ;
::: Mesh2_edge_type:location = "edge"
: Mesh2_edge_type:location = "edge"
:: ''Anmerkung'': Mit Hilfe der von [http://www.deltares.nl/ Deltares] vorgeschlagenen Attribute ''mesh'' und ''location'' wird die Zugehörigkeit zu einem Gitter sowie zu einer (Daten-) Position innerhalb des Gitters beschrieben.
 
Hinweise:
# Mit Hilfe der von [http://www.deltares.nl/ Deltares] vorgeschlagenen Attribute ''mesh'' und ''location'' wird die Zugehörigkeit zu einem Gitter sowie zu einer (Daten-) Position innerhalb des Gitters beschrieben.


=Synoptische Daten an Knoten=
=Synoptische Daten an Knoten=

Version vom 27. April 2011, 09:11 Uhr

Kurze Beschreibung

Synoptische Daten für alle staggered data Positionen eines aus Dreiecken aufgebauten Gitters.

Weitere Beschreibungen

Dimensionen

  1. nMesh2_node : Anzahl der Knoten.
  2. nMesh2_edge : Anzahl der Kanten.
  3. nMesh2_poly : Anzahl der Polygone (hier Dreiecke).
  4. nMesh2_class_names_strlen : max. Anzahl der Zeichen in Schwebstoffklassennamen.
  5. nMesh2_time : Anzahl der Zeitpunkte (Gitterdatei).
  6. nMesh2_data_time : UNLIMITED-Dimension, Anzahl der synoptischen Datensätze.
  7. nMesh2_layer_2d : Anzahl der Schichten für tiefengemittelte Daten.
  8. nMesh2_layer_3d : Anzahl der Schichten für tiefenstrukturierte Daten.
  9. nMesh2_suspension_classes : Anzahl der Schwebstoffklassen, inklusive Summe aller Fraktionen.
  10. two : Konstante ( = 2 ).
  11. 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:

  1. 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.
  2. 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:

  1. Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
  2. Entspricht den Vertikalkoordinaten an Knoten (siehe nachfolgenden Abschnitt).
  3. 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:

  1. Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
  2. Entspricht den Vertikalkoordinaten an Knoten (siehe nachfolgenden Abschnitt).
  3. 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:

  1. Entspricht der statischen Fläche der Polygone.
  2. Wird angegeben, um als Gewicht (Attribut "cell_measure") benutzt werden zu können.
  3. 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:

  1. Die Topografie des Gitters (der ursprünglichen Gitterdatei) gilt entweder für einen bestimmten Termin oder Zeitraum.
  2. 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:

  1. 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:

  1. Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
  2. Über die Wassertiefe gemittelte Daten an Knoten benutzen diese zeitvariable Vertikalkoordinate.
  3. Der aktuelle Wert bezeichnet die Mitte zwischen aktueller Wasseroberfläche und Gewässersohle.
  4. Aus der Boundary-Variablen ergibt sich die Höhe (Länge), über die gemittelt wurde.
  5. 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:

  1. Da Hilfs-Koordinatenvariable werden die Attribute "mesh" und "location" nicht angegeben.
  2. Tiefenstrukturierte, in z-Schichten gemittelte Daten an Knoten benutzen diese zeitvariable Vertikalkoordinate.
  3. Der aktuelle Wert bezeichnet die Mitte der jeweiligen z-Schicht.
  4. Aus der Boundary-Variablen ergibt sich die Höhe (Länge), über die gemittelt wurde.
  5. 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

int 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"

Hinweise:

  1. 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.

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


Strukturübersicht