Aktionen

NetCDF Synoptische Daten an Einzelpositionen: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(→‎Bezeichnung der Schwebstoffklassen: Modifikation nach Implementierung in DATACONVERT)
(Die LinkTitles-Erweiterung hat automatisch Links zu anderen Seiten hinzugefügt (<a target="_blank" rel="nofollow noreferrer noopener" class="external free" href="https://github.com/bovender/LinkTitles">https://github.com/bovender/LinkTitles</a>).)
 
(49 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
=Kurze Beschreibung=
=Kurze Beschreibung=


Synoptische Daten an Einzelpositionen.
Synoptische Daten an Einzelpositionen. Es werden einige Beispiele für typische, wichtige Variablen vorgestellt.


=Weitere Beschreibungen=
=Weitere Beschreibungen=
Zeile 10: Zeile 10:
* [[NetCDF Vertikalkoordinate]]: zeit- und ortsvariable Vertikalkoordinate.
* [[NetCDF Vertikalkoordinate]]: zeit- und ortsvariable Vertikalkoordinate.


=Dimensionen=
=Version ''Discrete Sampling Geometry'' '''timeSeriesProfile'''=


# nMesh0_node : Anzahl der Einzelpositionen.
Zur Ablage von Daten an Einzelpositionen wird die in CF beschriebene ''Discrete Sampling Geometry'' mit '''featureType=timeSeriesProfile''' verwendet. Ein vereinfachtes Beispiel (NCDUMP) für Geometrie und synoptische Daten ist in [[Medium:L_synop_ncdump_2D.pdf|L_synop_ncdump_2D.pdf]] zu sehen.
# nMesh0_strlen1 : max. Anzahl der Zeichen für lange Namen.
# nMesh0_strlen2 : max. Anzahl der Zeichen für Code-Bezeichnungen.
# nMesh0_strlen3 : max. Anzahl der Zeichen für Kurzbezeichnungen.
# nMesh0_class_names_strlen : max. Anzahl der Zeichen in Schwebstoffklassennamen.
# nMesh0_time : Anzahl der Zeitpunkte (Gitterdatei).
# nMesh0_data_time : UNLIMITED-Dimension, Anzahl der synoptischen Datensätze.
# nMesh0_layer_2d : Anzahl der Schichten für tiefengemittelte Daten.
# nMesh0_layer_3d : Anzahl der Schichten für tiefenstrukturierte Daten.
# nMesh0_suspension_classes : Anzahl der Schwebstoffklassen, inklusive Summe aller Fraktionen.
# two : Konstante.


=Positionsbezeichnungen=


==Langer Name==
==Daten ohne z-Abhängigkeit==
 
Die Lage des Wasserspiegels ist nur von der Zeit und der Position abhängig. Eine Abhängigkeit von der z-Koordinate ist nicht vorhanden. Daher dient der [[Wasserstand]] als Beispiel für eine geophysikalische Variable ohne z-Abhängigkeit.
 
float '''Mesh0_node_[[Wasserstand]]_2d'''(nMesh0_data_time, nMesh0_node) ;
: :long_name = "[[Wasserstand]] [ node ]" ;
: :units = "m" ;
: :name_id = 3 ;
: :_FillValue = 1.e+31f ;
: :ancillary_variables = "Mesh0_node_Gesamtwassertiefe_2d" ;
: :cell_measures = "area: Mesh0_node_Wasserflaeche_2d" ;
: :cell_methods = "nMesh0_data_time: point nMesh0_node: mean" ;
: :comment = "ancillary variables may be used ..." ;
: :coordinates = "Mesh0_node_lon Mesh0_node_lat Mesh0_node_x Mesh0_node_y Mesh0_node_long_name" ;
: :grid_mapping = "Mesh0_crs" ;
: :standard_name = "sea_surface_height" ;
 
Anmerkungen:
# Es können ungültige Daten vorhanden sein (siehe ''_FillValue'').
# Die Hilfsvariable (siehe ''ancillary_variables'') '''Mesh0_node_Gesamtwassertiefe_2d''' kann bei der weiteren Verarbeitung (Analyse, Visualisierung) dazu verwendet werden, Orte mit sehr geringer Wasserbedeckung nicht auszuwerten.
# Der [[Wasserstand]] ist ein (synoptischer) Augenblickswert und ein Flächen-Mittelwert (siehe ''cell_methods'').
# In der Variable '''Mesh0_node_Wasserflaeche_2d''' ist die für den räumlichen Mittelwert relevante Fläche enthalten.
# Die Label-Koordinatenvariable '''Mesh0_node_long_name''' kann zur Auswahl von Position(en) verwendet werden (siehe ''coordinates'').
 
==Daten mit z-Abhängigkeit==
 
Der über die [[Wassertiefe]] gemittelte Salzgehalt ist von der Zeit und der Position abhängig. Eine Abhängigkeit von der z-Koordinate ist hier vorhanden, da in unserem Fall die z-Koordinate den Schwerpunkt (des Wasserkörpers) beschreibt. Daher dient der Salzgehalt als Beispiel für eine geophysikalische Variable mit z-Abhängigkeit.
 
float Mesh0_node_Salzgehalt_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
: :long_name = "Salzgehalt [ node ]" ;
: :units = "1e-3" ;
: :name_id = 5 ;
: :_FillValue = 1.e+31f ;
: :ancillary_variables = "Mesh0_node_Gesamtwassertiefe_2d" ;
: :cell_measures = "volume: Mesh0_node_Wasservolumen_2d area: Mesh0_node_Wasserflaeche_2d" ;
: :cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean nMesh0_node: mean" ;
: :comment = "ancillary variables may be used ..." ;
: :coordinates = "Mesh0_node_lon Mesh0_node_lat Mesh0_node_x Mesh0_node_y Mesh0_node_z_node_2d Mesh0_node_long_name" ;
: :grid_mapping = "Mesh0_crs" ;
: :standard_name = "sea_water_salinity" ;
 
 
Anmerkungen:
# Es können ungültige Daten vorhanden sein (siehe ''_FillValue'').
# Die Hilfsvariable (siehe ''ancillary_variables'') '''Mesh0_node_Gesamtwassertiefe_2d''' kann bei der weiteren Verarbeitung (Analyse, Visualisierung) dazu verwendet werden, Orte mit sehr geringer Wasserbedeckung nicht auszuwerten.
# Der Salzgehalt ist ein (synoptischer) Augenblickswert und ein Volumen-Mittelwert (siehe ''cell_methods'').
# In der Variable '''Mesh0_node_Wasservolumen_2d''' ist das für den Volumen-Mittelwert relevante Volumen enthalten.
# Mit zusätzlicher Hilfe von '''Mesh0_node_Wasserflaeche_2d''' kann in exakter Weise das Salzvolumen/Fläche ermittelt werden.
# Die Label-Koordinatenvariable '''Mesh0_node_long_name''' kann zur Auswahl von Position(en) verwendet werden (siehe ''coordinates'').
 
==Daten für mehrere Fraktionen==
 
Der über die [[Wassertiefe]] gemittelte Sschwebstoffgehalt ist von der Zeit und der Position abhängig. Eine Abhängigkeit von der z-Koordinate ist hier vorhanden, da in unserem Fall die z-Koordinate den Schwerpunkt des Wasserkörpers beschreibt. Zusätzlich kann der [[Schwebstoffgehalt]] für mehrere Schwebstoff-Fraktionen ''nMesh0_suspension_classes'' vorhanden sein. Daher dient der [[Schwebstoffgehalt]] als Beispiel für eine geophysikalische Variable mit mehreren Fraktionen.
 
float Mesh0_node_[[Schwebstoffgehalt]]_2d(nMesh0_data_time, nMesh0_suspension_classes, nMesh0_layer_2d, nMesh0_node) ;
: :long_name = "[[Schwebstoffgehalt]] [ node ]" ;
: :units = "kg m-3" ;
: :name_id = 7 ;
: :_FillValue = 1.e+31f ;
: :ancillary_variables = "Mesh0_node_Gesamtwassertiefe_2d" ;
: :cell_measures = "volume: Mesh0_node_Wasservolumen_2d area: Mesh0_node_Wasserflaeche_2d" ;
: :cell_methods = "nMesh0_data_time: point nMesh0_suspension_classes: point nMesh0_layer_2d: mean nMesh0_node: mean" ;
: :comment = "ancillary variables may be used ..." ;
: :coordinates = "Mesh0_node_lon Mesh0_node_lat Mesh0_node_x Mesh0_node_y Mesh0_node_z_node_2d Mesh0_node_long_name Mesh0_Schwebstoffklassen_2d" ;
: :grid_mapping = "Mesh0_crs" ;
: :standard_name = "concentration_of_suspended_matter_in_sea_water" ;
 
Anmerkungen:
# Es können ungültige Daten vorhanden sein (siehe ''_FillValue'').
# Die Hilfsvariable (siehe ''ancillary_variables'') '''Mesh0_node_Gesamtwassertiefe_2d''' kann bei der weiteren Verarbeitung (Analyse, Visualisierung) dazu verwendet werden, Orte mit sehr geringer Wasserbedeckung nicht auszuwerten.
# Der [[Schwebstoffgehalt]] ist für jede Fraktion ein (synoptischer) Augenblickswert und ein Volumen-Mittelwert (siehe ''cell_methods'').
# In der Variable '''Mesh0_node_Wasservolumen_2d''' ist das für den Volumen-Mittelwert relevante Volumen enthalten.
# Mit zusätzlicher Hilfe von '''Mesh0_node_Wasserflaeche_2d''' kann in exakter Weise die Schwebstoffmasse/Fläche ermittelt werden.
# Die Label-Koordinatenvariable '''Mesh0_node_long_name''' kann zur Auswahl von Position(en) verwendet werden (siehe ''coordinates'').
# Die Label-Koordinatenvariable '''Mesh0_Schwebstoffklassen_2d''' kann zur Auswahl von Fraktionen verwendet werden (siehe ''coordinates'').
 
=Version [[DATACONVERT]]=
 
==Dimensionen==
 
# '''nMesh0_node''' : Anzahl der Einzelpositionen.
# '''nMesh0_strlen1''' : max. Anzahl der Zeichen für lange Namen.
# '''nMesh0_strl'''en2 : max. Anzahl der Zeichen für Code-Bezeichnungen.
# '''nMesh0_strlen3''' : max. Anzahl der Zeichen für Kurzbezeichnungen.
# '''nMesh0_class_names_strlen''' : max. Anzahl der Zeichen in Schwebstoffklassennamen.
# '''nMesh0_time''' : Anzahl der Zeitpunkte (Gitterdatei).
# '''nMesh0_data_time''' : UNLIMITED-Dimension, Anzahl der synoptischen Datensätze.
# '''nMesh0_layer_2d''' : Anzahl der Schichten für tiefengemittelte Daten.
# '''nMesh0_layer_3d''' : Anzahl der Schichten für tiefenstrukturierte Daten.
# '''nMesh0_suspension_classes''' : Anzahl der Schwebstoffklassen, inklusive Summe aller Fraktionen.
# '''two''' : Konstante.
 
==Positionsbezeichnungen==
 
===Langer Name===
char Mesh0_node_long_name(nMesh0_node, nMesh0_strlen1) ;
char Mesh0_node_long_name(nMesh0_node, nMesh0_strlen1) ;
: Mesh0_node_long_name:long_name = "Name Geoposition" ;
: Mesh0_node_long_name:long_name = "Name Geoposition" ;
Zeile 33: Zeile 116:
Hinweise:
Hinweise:
# Variable wird als Label-Koordinate benutzt, daher werden die Attribute "coordinates" und "grid_mapping" hier nicht benutzt.
# Variable wird als Label-Koordinate benutzt, daher werden die Attribute "coordinates" und "grid_mapping" hier nicht benutzt.
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-[[Kennung]] der Variablen.


==Code-Name==
===Code-Name===
char Mesh0_node_code_name(nMesh0_node, nMesh0_strlen2) ;
char Mesh0_node_code_name(nMesh0_node, nMesh0_strlen2) ;
: Mesh0_node_code_name:long_name = "Kennung der Geoposition" ;
: Mesh0_node_code_name:long_name = "[[Kennung]] der Geoposition" ;
: Mesh0_node_code_name:name_id = 1394 ;
: Mesh0_node_code_name:name_id = 1394 ;
: Mesh0_node_code_name:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
: Mesh0_node_code_name:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
: Mesh0_node_code_name:grid_mapping = "Mesh0_crs" ;
: Mesh0_node_code_name:grid_mapping = "Mesh0_crs" ;


==Kurzer Name==
===Kurzer Name===
char Mesh0_node_short_name(nMesh0_node, nMesh0_strlen3) ;
char Mesh0_node_short_name(nMesh0_node, nMesh0_strlen3) ;
: Mesh0_node_short_name:long_name = "Kuerzel Geoposition" ;
: Mesh0_node_short_name:long_name = "Kuerzel Geoposition" ;
Zeile 49: Zeile 132:
: Mesh0_node_short_name:grid_mapping = "Mesh0_crs" ;
: Mesh0_node_short_name:grid_mapping = "Mesh0_crs" ;


=Positions-Farbcodes=
==Positions-Farbcodes==
int Mesh0_node_colour(nMesh0_node) ;
int Mesh0_node_colour(nMesh0_node) ;
: Mesh0_node_colour:long_name = "colour code of location" ;
: Mesh0_node_colour:long_name = "colour code of location" ;
Zeile 60: Zeile 143:
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.


=Positions-Identifikationsnummern=
==Positions-Identifikationsnummern==
int Mesh0_node_id(nMesh0_node) ;
int Mesh0_node_id(nMesh0_node) ;
: Mesh0_node_id:long_name = "identification number of location" ;
: Mesh0_node_id:long_name = "identification number of location" ;
Zeile 71: Zeile 154:
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.


=Datenkompression=
==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.  
Siehe [[NetCDF Kompression von Daten durch Aufsammeln]].


==Komprimierte Daten an Knoten==
==Gewichte==
 
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]].
 
=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.
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==
===Längen===


===Durchflusshöhe an Positionen===
====Durchflusshöhe an Positionen====
float Mesh0_node_z_2d_bnd(nMesh0_data_time, nMesh0_node, two) ;


Hinweise:
Hinweise:
# Kann aus den Vertikalkoordinaten abgeleitet werden:
# Weitere Informationen unter [[#Vertikalkoordinaten|Vertikalkoordinaten]] (siehe nachfolgenden Abschnitt).
#* Vertikalkoordinate ''Mesh0_node_z_2d'', und
#* Boundary-Variable ''Mesh0_node_z_2d_bnd''.


===Durchflusshöhe an Positionen, differenziert nach Schichten===
====Durchflusshöhe an Positionen, differenziert nach Schichten====
float Mesh0_node_z_3d_bnd(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node, two) ;


Hinweise:
Hinweise:
# Kann aus den Vertikalkoordinaten abgeleitet werden:
# Weitere Informationen unter [[#Vertikalkoordinaten|Vertikalkoordinaten]] (siehe nachfolgenden Abschnitt).
#* Vertikalkoordinate ''Mesh0_node_z_3d'', und
#* Boundary-Variable ''Mesh0_node_z_3d_bnd''.


=Zeitkoordinaten=
==Zeitkoordinaten==


==Gitter-Daten==
===Gitter-Daten===
double nMesh0_time(nMesh0_time) ;
double nMesh0_time(nMesh0_time) ;
: nMesh0_time:long_name = "time" ;
: nMesh0_time:long_name = "time" ;
Zeile 121: Zeile 194:
# Falls die topografischen Daten des Gitters für einen Zeitraum gültig sind, so ist die entsprechende Boundary-Variable ebenfalls vorhanden.
# Falls die topografischen Daten des Gitters für einen Zeitraum gültig sind, so ist die entsprechende Boundary-Variable ebenfalls vorhanden.


==Synoptische Daten==
===Synoptische Daten===
double nMesh0_data_time(nMesh0_data_time) ;
double nMesh0_data_time(nMesh0_data_time) ;
: nMesh0_data_time:long_name = "time" ;
: nMesh0_data_time:long_name = "time" ;
Zeile 133: Zeile 206:
# Die synoptischen Daten gelten für bestimmte Termine. Daher ist keine ergänzende Boundary-Variable erforderlich.
# Die synoptischen Daten gelten für bestimmte Termine. Daher ist keine ergänzende Boundary-Variable erforderlich.


=Vertikalkoordinaten=
==Vertikalkoordinaten==


==Tiefengemittelte Daten==
===Tiefengemittelte Daten===
float Mesh0_node_z_2d(nMesh0_data_time, nMesh0_node) ;
float Mesh0_node_z_2d(nMesh0_data_time, nMesh0_node) ;
: Mesh0_node_z_2d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
: Mesh0_node_z_2d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
Zeile 146: Zeile 219:


Hinweise:
Hinweise:
# Über die Wassertiefe gemittelte Daten benutzen diese zeitvariable Vertikalkoordinate.
# Über die [[Wassertiefe]] gemittelte Daten benutzen diese zeitvariable Vertikalkoordinate.
# Der aktuelle Wert bezeichnet die Mitte zwischen aktueller Wasseroberfläche und Gewässersohle.
# 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.
# 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==
===Tiefenstrukturierte Daten===
float Mesh0_node_z_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
float Mesh0_node_z_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
: Mesh0_node_z_3d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
: Mesh0_node_z_3d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
Zeile 164: Zeile 238:
# Der aktuelle Wert bezeichnet die Mitte der jeweiligen z-Schicht.
# 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.
# 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.


=Aktuelle (zeitvariable) Topografie=
==Aktuelle (zeitvariable) Topografie==
Es werden hier Angaben nur für zeitvariable Topografie gemacht. Bei stationärer Topografie entfällt die Dimension ''time''.
===Knoten===
==Knoten==
====Konstant in Zeitraum====
:: double Mesh0_node_depth(<font color=green>time</font>,nMesh0_node) ;
double Mesh0_node_depth(nMesh0_time, nMesh0_node) ;
::: Mesh0_node_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ;  
: Mesh0_node_depth:long_name = "Topographie" ;
::: Mesh0_node_depth:long_name = "sea floor depth at locations" ;  
: Mesh0_node_depth:units = "m" ;
::: Mesh0_node_depth:units = "m" ;
: Mesh0_node_depth:name_id = 17 ;
::: Mesh0_node_depth:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat Mesh0_node_x Mesh0_node_y" ;
: Mesh0_node_depth:valid_range = -2000., 2000. ;
::: Mesh0_node_depth:_FillValue = ''fillvalue'' ;
: Mesh0_node_depth:_FillValue = 1.e+31 ;
::: Mesh0_node_depth:valid_range = ''valid minimum'', ''valid maximum'' ;
: Mesh0_node_depth:cell_methods = "nMesh0_time: mean area: point" ;
::: Mesh0_node_depth:grid_mapping = "crs" ;
: Mesh0_node_depth:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
::''Hinweise'':
: Mesh0_node_depth:grid_mapping = "Mesh0_crs" ;
::# Zugriff auch über Label-Koordinatenvariable ''Mesh0_node_long_name'' möglich.
: Mesh0_node_depth:standard_name = "sea_floor_depth_below_geoid" ;


=Maximale zulässige Tiefe=
Hinweise:
# Das Attribut "cell_methods" beschreibt hier u. a., dass die Tiefen Mittelwerte für einen Zeitraum sind.


* Vollständig analog zu ''Aktuelle Tiefe'' vorgehen, jedoch ohne Dimension ''time''.
====Zeitvariabel====
* Vorschlag für die Namensgebung:
float Mesh0_zeitvariable_Topographie_2d(nMesh0_data_time, nMesh0_node) ;
** Knoten: "Mesh0_node_max_depth(nMesh0_node)" .
: Mesh0_zeitvariable_Topographie_2d:long_name = "zeitvariable Topographie" ;
*:''Hinweise'':  
: Mesh0_zeitvariable_Topographie_2d:units = "m" ;
*# Die in einer Gitterdatei, z. B. [[NetCDF Einzelpositionen]], abgelegte Tiefe wird derzeit in BAW-Anwendungen unterschiedlich interpretiert:
: Mesh0_zeitvariable_Topographie_2d:name_id = 617 ;
*#* aktuelle bzw. für einen bestimmten Zeitraum gültige Tiefe, oder
: Mesh0_zeitvariable_Topographie_2d:_FillValue = 1.e+31f ;
*#* Tiefe der nicht weiter erodierbaren Schicht.
: Mesh0_zeitvariable_Topographie_2d:cell_methods = "nMesh0_data_time: point area: point" ;
*#: Hierfür müssen unterschiedliche Standardnamen gewählt werden, um die jeweilige Bedeutung korrekt zu beschreiben.
: Mesh0_zeitvariable_Topographie_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
*# Es erscheint sinnvoll, dass diese Variable in jedem Fall die Zeit als Koordinate enthält, da die gespeicherten Daten i.d.R. immer für einen bestimmten Termin oder Zeitraum (''Bounds'') gelten.
: Mesh0_zeitvariable_Topographie_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_zeitvariable_Topographie_2d:standard_name = "sea_floor_depth_below_geoid" ;


=Wasserstand=
==Maximale zulässige Tiefe==
double Mesh0_node_depth(nMesh0_time, nMesh0_node) ;
: Mesh0_node_depth:long_name = "Tiefe der unerodierbaren Schicht" ;
: Mesh0_node_depth:units = "m" ;
: Mesh0_node_depth:name_id = 1149 ;
: Mesh0_node_depth:valid_range = -2000., 2000. ;
: Mesh0_node_depth:_FillValue = 1.e+31 ;
: Mesh0_node_depth:cell_methods = "nMesh0_time: mean area: point" ;
: Mesh0_node_depth:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
: Mesh0_node_depth:grid_mapping = "Mesh0_crs" ;
: Mesh0_node_depth:standard_name = "depth" ;


==Knoten==
Hinweise:
float Mesh0_Wasserstand_2d(nMesh0_data_time, nMesh0_node) ;
# Das Attribut "cell_methods" beschreibt hier u. a., dass die Tiefen Mittelwerte für einen Zeitraum sind.
: Mesh0_Wasserstand_2d:long_name = "Wasserstand" ;
# Ggf. muss noch ein spezifischerer Standardname gefunden werden, z. B. "bedrock_altitude".
: Mesh0_Wasserstand_2d:units = "m" ;
: Mesh0_Wasserstand_2d:name_id = 3 ;
: Mesh0_Wasserstand_2d:_FillValue = 1.e+31f ;
: Mesh0_Wasserstand_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
: Mesh0_Wasserstand_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Wasserstand_2d:standard_name = "sea_surface_height" ;


=Tiefengemittelter Salzgehalt=
==Wasserstand==


==Knoten==
===Knoten===
float Mesh0_[[Wasserstand]]_2d(nMesh0_data_time, nMesh0_node) ;
: Mesh0_[[Wasserstand]]_2d:long_name = "[[Wasserstand]]" ;
: Mesh0_[[Wasserstand]]_2d:units = "m" ;
: Mesh0_[[Wasserstand]]_2d:name_id = 3 ;
: Mesh0_[[Wasserstand]]_2d:_FillValue = 1.e+31f ;
: Mesh0_[[Wasserstand]]_2d:cell_methods = "nMesh0_data_time: point area: point" ;
: Mesh0_[[Wasserstand]]_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
: Mesh0_[[Wasserstand]]_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_[[Wasserstand]]_2d:standard_name = "sea_surface_height" ;
 
==Tiefengemittelter Salzgehalt==
 
===Knoten===
float Mesh0_Salzgehalt_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
float Mesh0_Salzgehalt_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
: Mesh0_Salzgehalt_2d:long_name = "Salzgehalt" ;
: Mesh0_Salzgehalt_2d:long_name = "Salzgehalt" ;
Zeile 211: Zeile 305:
: Mesh0_Salzgehalt_2d:name_id = 5 ;
: Mesh0_Salzgehalt_2d:name_id = 5 ;
: Mesh0_Salzgehalt_2d:_FillValue = 1.e+31f ;
: Mesh0_Salzgehalt_2d:_FillValue = 1.e+31f ;
: Mesh0_Salzgehalt_2d:cell_methods = "nMesh0_layer_2d: mean" ;
: Mesh0_Salzgehalt_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
: Mesh0_Salzgehalt_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Salzgehalt_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Salzgehalt_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Salzgehalt_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Salzgehalt_2d:standard_name = "sea_water_salinity" ;
: Mesh0_Salzgehalt_2d:standard_name = "sea_water_salinity" ;


=Tiefenstrukturierter Salzgehalt=
==Tiefenstrukturierter Salzgehalt==


==Knoten==
===Knoten===
float Mesh0_Salzgehalt_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
float Mesh0_Salzgehalt_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
: Mesh0_Salzgehalt_3d:long_name = "Salzgehalt" ;
: Mesh0_Salzgehalt_3d:long_name = "Salzgehalt" ;
Zeile 224: Zeile 318:
: Mesh0_Salzgehalt_3d:name_id = 5 ;
: Mesh0_Salzgehalt_3d:name_id = 5 ;
: Mesh0_Salzgehalt_3d:_FillValue = 1.e+31f ;
: Mesh0_Salzgehalt_3d:_FillValue = 1.e+31f ;
: Mesh0_Salzgehalt_3d:cell_methods = "nMesh0_layer_3d: mean" ;
: Mesh0_Salzgehalt_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
: Mesh0_Salzgehalt_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Salzgehalt_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Salzgehalt_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Salzgehalt_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Salzgehalt_3d:standard_name = "sea_water_salinity" ;
: Mesh0_Salzgehalt_3d:standard_name = "sea_water_salinity" ;


=Tiefengemittelte Strömungsgeschwindigkeit=
==Tiefengemittelte Strömungsgeschwindigkeit==


==Knoten==
===Knoten===
===x-Komponente===
====x-Komponente====
float Mesh0_Stroemungsgeschwindigkeit_x_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
float Mesh0_Stroemungsgeschwindigkeit_x_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:long_name = "Stroemungsgeschwindigkeit (x-Komponente)" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:long_name = "Stroemungsgeschwindigkeit (x-Komponente)" ;
Zeile 238: Zeile 332:
: Mesh0_Stroemungsgeschwindigkeit_x_2d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:cell_methods = "nMesh0_layer_2d: mean" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:standard_name = "sea_water_x_velocity" ;
: Mesh0_Stroemungsgeschwindigkeit_x_2d:standard_name = "sea_water_x_velocity" ;


===y-Komponente===
====y-Komponente====
float Mesh0_Stroemungsgeschwindigkeit_y_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
float Mesh0_Stroemungsgeschwindigkeit_y_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:long_name = "Stroemungsgeschwindigkeit (y-Komponente)" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:long_name = "Stroemungsgeschwindigkeit (y-Komponente)" ;
Zeile 249: Zeile 343:
: Mesh0_Stroemungsgeschwindigkeit_y_2d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:cell_methods = "nMesh0_layer_2d: mean" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:standard_name = "sea_water_y_velocity" ;
: Mesh0_Stroemungsgeschwindigkeit_y_2d:standard_name = "sea_water_y_velocity" ;
===Betrag===
====Betrag====
float Mesh0_Stroemungsgeschwindigkeit_m_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
float Mesh0_Stroemungsgeschwindigkeit_m_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:long_name = "Stroemungsgeschwindigkeit (Betrag)" ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:long_name = "Stroemungsgeschwindigkeit (Betrag)" ;
Zeile 260: Zeile 354:
: Mesh0_Stroemungsgeschwindigkeit_m_2d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:cell_methods = "nMesh0_layer_2d: mean" ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_m_2d:standard_name = "magnitude_of_sea_water_velocity" ;


=Tiefenstrukturierte Strömungsgeschwindigkeit=
==Tiefenstrukturierte Strömungsgeschwindigkeit==


==Knoten==
===Knoten===
===x-Komponente===
====x-Komponente====
float Mesh0_Stroemungsgeschwindigkeit_x_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
float Mesh0_Stroemungsgeschwindigkeit_x_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:long_name = "Stroemungsgeschwindigkeit (x-Komponente)" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:long_name = "Stroemungsgeschwindigkeit (x-Komponente)" ;
Zeile 273: Zeile 368:
: Mesh0_Stroemungsgeschwindigkeit_x_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:cell_methods = "nMesh0_layer_3d: mean" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:standard_name = "sea_water_x_velocity" ;
: Mesh0_Stroemungsgeschwindigkeit_x_3d:standard_name = "sea_water_x_velocity" ;


===y-Komponente===
====y-Komponente====
float Mesh0_Stroemungsgeschwindigkeit_y_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
float Mesh0_Stroemungsgeschwindigkeit_y_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:long_name = "Stroemungsgeschwindigkeit (y-Komponente)" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:long_name = "Stroemungsgeschwindigkeit (y-Komponente)" ;
Zeile 284: Zeile 379:
: Mesh0_Stroemungsgeschwindigkeit_y_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:cell_methods = "nMesh0_layer_3d: mean" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:standard_name = "sea_water_y_velocity" ;
: Mesh0_Stroemungsgeschwindigkeit_y_3d:standard_name = "sea_water_y_velocity" ;


===z-Komponente===
====z-Komponente====
float Mesh0_Stroemungsgeschwindigkeit_z_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
float Mesh0_Stroemungsgeschwindigkeit_z_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:long_name = "Stroemungsgeschwindigkeit (z-Komponente)" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:long_name = "Stroemungsgeschwindigkeit (z-Komponente)" ;
Zeile 295: Zeile 390:
: Mesh0_Stroemungsgeschwindigkeit_z_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:cell_methods = "nMesh0_layer_3d: mean" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:standard_name = "upward_sea_water_velocity" ;
: Mesh0_Stroemungsgeschwindigkeit_z_3d:standard_name = "upward_sea_water_velocity" ;


===Betrag===
====Betrag====
float Mesh0_Stroemungsgeschwindigkeit_m_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
float Mesh0_Stroemungsgeschwindigkeit_m_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:long_name = "Stroemungsgeschwindigkeit (Betrag)" ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:long_name = "Stroemungsgeschwindigkeit (Betrag)" ;
Zeile 306: Zeile 401:
: Mesh0_Stroemungsgeschwindigkeit_m_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:name_id = 2 ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:_FillValue = 1.e+31f ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:cell_methods = "nMesh0_layer_3d: mean" ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_Stroemungsgeschwindigkeit_m_3d:standard_name = "magnitude_of_sea_water_velocity" ;


=Bezeichnung der Schwebstoffklassen=
==Bezeichnung der Schwebstoffklassen==
char Mesh0_suspension_classes(nMesh0_suspension_classes, nMesh0_class_names_strlen) ;
char Mesh0_suspension_classes(nMesh0_suspension_classes, nMesh0_class_names_strlen) ;
: Mesh0_suspension_classes:long_name = "Klassenbezeichner" ;
: Mesh0_suspension_classes:long_name = "Klassenbezeichner" ;
: Mesh0_suspension_classes:name_id = 1655 ;
: Mesh0_suspension_classes:name_id = 1655 ;


=Tiefengemittelter Schwebstoffgehalt=
==Tiefengemittelter Schwebstoffgehalt==


==Knoten==
===Knoten===
===Gesamtmenge===
float Mesh0_[[Schwebstoffgehalt]]_2d(nMesh0_data_time, nMesh0_suspension_classes, nMesh0_layer_2d, nMesh0_node) ;
: Mesh0_[[Schwebstoffgehalt]]_2d:long_name = "[[Schwebstoffgehalt]]" ;
: Mesh0_[[Schwebstoffgehalt]]_2d:units = "kg m-3" ;
: Mesh0_[[Schwebstoffgehalt]]_2d:name_id = 7 ;
: Mesh0_[[Schwebstoffgehalt]]_2d:_FillValue = 1.e+31f ;
: Mesh0_[[Schwebstoffgehalt]]_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
: Mesh0_[[Schwebstoffgehalt]]_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name Mesh0_suspension_classes" ;
: Mesh0_[[Schwebstoffgehalt]]_2d:grid_mapping = "Mesh0_crs" ;
: Mesh0_[[Schwebstoffgehalt]]_2d:standard_name = "concentration_of_suspended_matter_in_sea_water" ;
: Mesh0_[[Schwebstoffgehalt]]_2d:comment = "class_names No  1 : Summe aller Fraktionen\\nclass_names No  2 : Schluff" ;


Analog zu [[#Tiefengemittelter Salzgehalt|tiefengemittelter Salzgehalt]] definieren, jedoch mit folgenden Änderungen in den Attributen:
Hinweise:
# Sowohl die Summe aller Fraktionen als auch die einzelnen Fraktionen sind in einer Variablen abgelegt.
# Unter dem Attribut "comment" sind auch noch ein Mal die Definitionen der einzelnen Klassen angegeben.


::: Mesh0_node_suspended_matter_2d:standard_name = "'''mass_concentration_of_suspended_matter_in_sea_water'''" ;   
==Tiefenstrukturierter Schwebstoffgehalt==
::: Mesh0_node_suspended_matter_2d:long_name = "mass concentration of suspended sediments at locations, depth averaged" ;   
::: Mesh0_node_suspended_matter_2d:units = "kg m-3" ;


===Fraktionen===
===Knoten===
float Mesh0_[[Schwebstoffgehalt]]_3d(nMesh0_data_time, nMesh0_suspension_classes, nMesh0_layer_3d, nMesh0_node) ;
: Mesh0_[[Schwebstoffgehalt]]_3d:long_name = "[[Schwebstoffgehalt]]" ;
: Mesh0_[[Schwebstoffgehalt]]_3d:units = "kg m-3" ;
: Mesh0_[[Schwebstoffgehalt]]_3d:name_id = 7 ;
: Mesh0_[[Schwebstoffgehalt]]_3d:_FillValue = 1.e+31f ;
: Mesh0_[[Schwebstoffgehalt]]_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
: Mesh0_[[Schwebstoffgehalt]]_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name Mesh0_suspension_classes" ;
: Mesh0_[[Schwebstoffgehalt]]_3d:grid_mapping = "Mesh0_crs" ;
: Mesh0_[[Schwebstoffgehalt]]_3d:standard_name = "concentration_of_suspended_matter_in_sea_water" ;
: Mesh0_[[Schwebstoffgehalt]]_3d:comment = "class_names No  1 : Summe aller Fraktionen\\nclass_names No  2 : Schluff" ;


Analog zu ''Gesamtmenge'' definieren, jedoch mit folgenden Änderungen in den Attributen:
Hinweise:
 
# Sowohl die Summe aller Fraktionen als auch die einzelnen Fraktionen sind in einer Variablen abgelegt.
:: double Mesh0_node_suspended_matter_classes_2d((<font color=green>time</font>,nMesh0_susp_classes,nMesh0_layer_2d,nMesh0_node) ;
# Unter dem Attribut "comment" sind auch noch ein Mal die Definitionen der einzelnen Klassen angegeben.
::: Mesh0_node_suspended_matter_classes_2d:standard_name = "'''mass_concentration_of_suspended_matter_in_sea_water'''" ;   
::: Mesh0_node_suspended_matter_classes_2d:long_name = "mass concentration of suspended sediments fractions at locations, depth averaged" ;   
::: Mesh0_node_suspended_matter_classes_2d:units = "kg m-3" ;
::: Mesh0_node_suspended_matter_classes_2d:coordinates = "Mesh0_suspended_matter_classes_long_name ''weitere Hilfs-Koordinaten analog zu Salzgehalt''" ;
:: ''Hinweise'':
::# Zugriff auch über Label-Koordinatenvariablen ''Mesh0_node_long_name'' sowie ''Mesh0_suspended_matter_classes_long_name'' möglich.
::# Sehr allgemeine Lösung, alle Arten von ''Fraktionen'' können damit abgespeichert und beschrieben werden.
 
=Tiefenstrukturierter Schwebstoffgehalt=
 
==Knoten==
===Gesamtmenge===
 
Analog zu [[#Tiefenstrukturierter Salzgehalt|tiefenstrukturierter Salzgehalt]] definieren, jedoch mit folgenden Änderungen in den Attributen:
 
::: Mesh0_node_suspended_matter_3d:standard_name = "'''mass_concentration_of_suspended_matter_in_sea_water'''" ;   
::: Mesh0_node_suspended_matter_3d:long_name = "mass concentration of suspended sediments at locations, vertically structured" ;   
::: Mesh0_node_suspended_matter_3d:units = "kg m-3" ;
 
===Fraktionen===
 
Analog zu [[#Tiefenstrukturierter Salzgehalt|tiefenstrukturierter Salzgehalt]] definieren, jedoch mit folgenden Änderungen in den Attributen:
 
:: double Mesh0_node_suspended_matter_classes_3d((<font
color=green>time</font>,nMesh0_susp_classes,nMesh0_vedge) ; \\ compression used
:: double Mesh0_node_suspended_matter_classes_3d((<font
color=green>time</font>,nMesh0_susp_classes,nMesh0_layer_3d,nMesh0_node) ; \\ uncompressed definition
::: Mesh0_node_suspended_matter_classes_3d:standard_name = "'''mass_concentration_of_suspended_matter_in_sea_water'''" ;   
::: Mesh0_node_suspended_matter_classes_3d:long_name = "mass concentration of suspended sediments fractions at locations, depth structured" ;   
::: Mesh0_node_suspended_matter_classes_3d:units = "kg m-3" ;
::: Mesh0_node_suspended_matter_classes_3d:coordinates = "Mesh0_suspended_matter_classes_long_name ''weitere Hilfs-Koordinaten analog zu Salzgehalt''" ;
:: ''Hinweise'':
::# Zugriff auch über Label-Koordinatenvariablen ''Mesh0_node_long_name'' sowie ''Mesh0_suspended_matter_classes_long_name'' möglich.
::# Sehr allgemeine Lösung, alle Arten von ''Fraktionen'' können damit abgespeichert und beschrieben werden.


=Anmerkungen, Fragen=
==Anmerkungen==
* Datei ist nicht vollständig CF-konform. Für das Attribut ''cell_measures'' müsste ''<font color=red>length</font>'' als Wert zugelassen werden. Allerdings ist ''depth'' ein [http://cf-pcmdi.llnl.gov/documents/cf-standard-names/standard-name-table/15/cf-standard-name-table.html CF Standardname], und dann könnte vielleicht dieser Wert gemäß Abschnitt 7.3.4 in der [http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.4/cf-conventions.pdf CF-Metadaten Konvention] zulässig sein.
* Datei ist CF-konform gemäß [http://puma.nerc.ac.uk/cgi-bin/cf-checker.pl NCAS ''CF Compliance Checker''].
* Soll das BAW-Attribut ''name_id'' (für den Code) zusätzlich benutzt werden?
* Bislang fehlende CF konforme Standardnamen der physikalischen Größen sollten nur bei echtem Bedarf gemäß den dafür vorgesehenen Regeln ergänzt werden. Details siehe [http://cfconventions.org/Data/cf-standard-names/docs/guidelines.html ''Guidelines of Construction for CF Standard Names''].
* Wie kann ein sicherer Zusammenhang zwischen den Daten für die Schwebstoffklassen und den Klassennamen hergestellt werden?
* Kann der "Mesh0_suspended_matter_class_long_name" in dem Attribut ''coordinates'' genutzt werden?
* Auf die Daten einer Position kann auch über die Namensbezeichnungen zugegriffen werden, daher erscheint der Wert "Mesh0_node_long_name" in dem Attribut ''coordinates''. Dies entspricht der Empfehlung in Abschnitt 6.1 der [http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.4/cf-conventions.pdf CF-Metadaten Konvention].
----
----
zurück zu [[NetCDF]]
zurück zu [[NetCDF]]
----
----
[[Strukturübersicht]]
[[Strukturübersicht]]

Aktuelle Version vom 21. Oktober 2022, 09:32 Uhr

Kurze Beschreibung

Synoptische Daten an Einzelpositionen. Es werden einige Beispiele für typische, wichtige Variablen vorgestellt.

Weitere Beschreibungen

Version Discrete Sampling Geometry timeSeriesProfile

Zur Ablage von Daten an Einzelpositionen wird die in CF beschriebene Discrete Sampling Geometry mit featureType=timeSeriesProfile verwendet. Ein vereinfachtes Beispiel (NCDUMP) für Geometrie und synoptische Daten ist in L_synop_ncdump_2D.pdf zu sehen.


Daten ohne z-Abhängigkeit

Die Lage des Wasserspiegels ist nur von der Zeit und der Position abhängig. Eine Abhängigkeit von der z-Koordinate ist nicht vorhanden. Daher dient der Wasserstand als Beispiel für eine geophysikalische Variable ohne z-Abhängigkeit.

float Mesh0_node_Wasserstand_2d(nMesh0_data_time, nMesh0_node) ;

:long_name = "Wasserstand [ node ]" ;
:units = "m" ;
:name_id = 3 ;
:_FillValue = 1.e+31f ;
:ancillary_variables = "Mesh0_node_Gesamtwassertiefe_2d" ;
:cell_measures = "area: Mesh0_node_Wasserflaeche_2d" ;
:cell_methods = "nMesh0_data_time: point nMesh0_node: mean" ;
:comment = "ancillary variables may be used ..." ;
:coordinates = "Mesh0_node_lon Mesh0_node_lat Mesh0_node_x Mesh0_node_y Mesh0_node_long_name" ;
:grid_mapping = "Mesh0_crs" ;
:standard_name = "sea_surface_height" ;

Anmerkungen:

  1. Es können ungültige Daten vorhanden sein (siehe _FillValue).
  2. Die Hilfsvariable (siehe ancillary_variables) Mesh0_node_Gesamtwassertiefe_2d kann bei der weiteren Verarbeitung (Analyse, Visualisierung) dazu verwendet werden, Orte mit sehr geringer Wasserbedeckung nicht auszuwerten.
  3. Der Wasserstand ist ein (synoptischer) Augenblickswert und ein Flächen-Mittelwert (siehe cell_methods).
  4. In der Variable Mesh0_node_Wasserflaeche_2d ist die für den räumlichen Mittelwert relevante Fläche enthalten.
  5. Die Label-Koordinatenvariable Mesh0_node_long_name kann zur Auswahl von Position(en) verwendet werden (siehe coordinates).

Daten mit z-Abhängigkeit

Der über die Wassertiefe gemittelte Salzgehalt ist von der Zeit und der Position abhängig. Eine Abhängigkeit von der z-Koordinate ist hier vorhanden, da in unserem Fall die z-Koordinate den Schwerpunkt (des Wasserkörpers) beschreibt. Daher dient der Salzgehalt als Beispiel für eine geophysikalische Variable mit z-Abhängigkeit.

float Mesh0_node_Salzgehalt_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;

:long_name = "Salzgehalt [ node ]" ;
:units = "1e-3" ;
:name_id = 5 ;
:_FillValue = 1.e+31f ;
:ancillary_variables = "Mesh0_node_Gesamtwassertiefe_2d" ;
:cell_measures = "volume: Mesh0_node_Wasservolumen_2d area: Mesh0_node_Wasserflaeche_2d" ;
:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean nMesh0_node: mean" ;
:comment = "ancillary variables may be used ..." ;
:coordinates = "Mesh0_node_lon Mesh0_node_lat Mesh0_node_x Mesh0_node_y Mesh0_node_z_node_2d Mesh0_node_long_name" ;
:grid_mapping = "Mesh0_crs" ;
:standard_name = "sea_water_salinity" ;


Anmerkungen:

  1. Es können ungültige Daten vorhanden sein (siehe _FillValue).
  2. Die Hilfsvariable (siehe ancillary_variables) Mesh0_node_Gesamtwassertiefe_2d kann bei der weiteren Verarbeitung (Analyse, Visualisierung) dazu verwendet werden, Orte mit sehr geringer Wasserbedeckung nicht auszuwerten.
  3. Der Salzgehalt ist ein (synoptischer) Augenblickswert und ein Volumen-Mittelwert (siehe cell_methods).
  4. In der Variable Mesh0_node_Wasservolumen_2d ist das für den Volumen-Mittelwert relevante Volumen enthalten.
  5. Mit zusätzlicher Hilfe von Mesh0_node_Wasserflaeche_2d kann in exakter Weise das Salzvolumen/Fläche ermittelt werden.
  6. Die Label-Koordinatenvariable Mesh0_node_long_name kann zur Auswahl von Position(en) verwendet werden (siehe coordinates).

Daten für mehrere Fraktionen

Der über die Wassertiefe gemittelte Sschwebstoffgehalt ist von der Zeit und der Position abhängig. Eine Abhängigkeit von der z-Koordinate ist hier vorhanden, da in unserem Fall die z-Koordinate den Schwerpunkt des Wasserkörpers beschreibt. Zusätzlich kann der Schwebstoffgehalt für mehrere Schwebstoff-Fraktionen nMesh0_suspension_classes vorhanden sein. Daher dient der Schwebstoffgehalt als Beispiel für eine geophysikalische Variable mit mehreren Fraktionen.

float Mesh0_node_Schwebstoffgehalt_2d(nMesh0_data_time, nMesh0_suspension_classes, nMesh0_layer_2d, nMesh0_node) ;

:long_name = "Schwebstoffgehalt [ node ]" ;
:units = "kg m-3" ;
:name_id = 7 ;
:_FillValue = 1.e+31f ;
:ancillary_variables = "Mesh0_node_Gesamtwassertiefe_2d" ;
:cell_measures = "volume: Mesh0_node_Wasservolumen_2d area: Mesh0_node_Wasserflaeche_2d" ;
:cell_methods = "nMesh0_data_time: point nMesh0_suspension_classes: point nMesh0_layer_2d: mean nMesh0_node: mean" ;
:comment = "ancillary variables may be used ..." ;
:coordinates = "Mesh0_node_lon Mesh0_node_lat Mesh0_node_x Mesh0_node_y Mesh0_node_z_node_2d Mesh0_node_long_name Mesh0_Schwebstoffklassen_2d" ;
:grid_mapping = "Mesh0_crs" ;
:standard_name = "concentration_of_suspended_matter_in_sea_water" ;

Anmerkungen:

  1. Es können ungültige Daten vorhanden sein (siehe _FillValue).
  2. Die Hilfsvariable (siehe ancillary_variables) Mesh0_node_Gesamtwassertiefe_2d kann bei der weiteren Verarbeitung (Analyse, Visualisierung) dazu verwendet werden, Orte mit sehr geringer Wasserbedeckung nicht auszuwerten.
  3. Der Schwebstoffgehalt ist für jede Fraktion ein (synoptischer) Augenblickswert und ein Volumen-Mittelwert (siehe cell_methods).
  4. In der Variable Mesh0_node_Wasservolumen_2d ist das für den Volumen-Mittelwert relevante Volumen enthalten.
  5. Mit zusätzlicher Hilfe von Mesh0_node_Wasserflaeche_2d kann in exakter Weise die Schwebstoffmasse/Fläche ermittelt werden.
  6. Die Label-Koordinatenvariable Mesh0_node_long_name kann zur Auswahl von Position(en) verwendet werden (siehe coordinates).
  7. Die Label-Koordinatenvariable Mesh0_Schwebstoffklassen_2d kann zur Auswahl von Fraktionen verwendet werden (siehe coordinates).

Version DATACONVERT

Dimensionen

  1. nMesh0_node : Anzahl der Einzelpositionen.
  2. nMesh0_strlen1 : max. Anzahl der Zeichen für lange Namen.
  3. nMesh0_strlen2 : max. Anzahl der Zeichen für Code-Bezeichnungen.
  4. nMesh0_strlen3 : max. Anzahl der Zeichen für Kurzbezeichnungen.
  5. nMesh0_class_names_strlen : max. Anzahl der Zeichen in Schwebstoffklassennamen.
  6. nMesh0_time : Anzahl der Zeitpunkte (Gitterdatei).
  7. nMesh0_data_time : UNLIMITED-Dimension, Anzahl der synoptischen Datensätze.
  8. nMesh0_layer_2d : Anzahl der Schichten für tiefengemittelte Daten.
  9. nMesh0_layer_3d : Anzahl der Schichten für tiefenstrukturierte Daten.
  10. nMesh0_suspension_classes : Anzahl der Schwebstoffklassen, inklusive Summe aller Fraktionen.
  11. two : Konstante.

Positionsbezeichnungen

Langer Name

char Mesh0_node_long_name(nMesh0_node, nMesh0_strlen1) ;

Mesh0_node_long_name:long_name = "Name Geoposition" ;
Mesh0_node_long_name:name_id = 1395 ;

Hinweise:

  1. Variable wird als Label-Koordinate benutzt, daher werden die Attribute "coordinates" und "grid_mapping" hier nicht benutzt.
  2. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.

Code-Name

char Mesh0_node_code_name(nMesh0_node, nMesh0_strlen2) ;

Mesh0_node_code_name:long_name = "Kennung der Geoposition" ;
Mesh0_node_code_name:name_id = 1394 ;
Mesh0_node_code_name:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_node_code_name:grid_mapping = "Mesh0_crs" ;

Kurzer Name

char Mesh0_node_short_name(nMesh0_node, nMesh0_strlen3) ;

Mesh0_node_short_name:long_name = "Kuerzel Geoposition" ;
Mesh0_node_short_name:name_id = 1396 ;
Mesh0_node_short_name:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_node_short_name:grid_mapping = "Mesh0_crs" ;

Positions-Farbcodes

int Mesh0_node_colour(nMesh0_node) ;

Mesh0_node_colour:long_name = "colour code of location" ;
Mesh0_node_colour:valid_range = 0, 9999 ;
Mesh0_node_colour:_FillValue = -999 ;
Mesh0_node_colour:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_node_colour:grid_mapping = "Mesh0_crs" ;

Hinweise:

  1. Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.

Positions-Identifikationsnummern

int Mesh0_node_id(nMesh0_node) ;

Mesh0_node_id:long_name = "identification number of location" ;
Mesh0_node_id:valid_range = 0, 9999 ;
Mesh0_node_id:_FillValue = -999 ;
Mesh0_node_id:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_node_id:grid_mapping = "Mesh0_crs" ;

Hinweise:

  1. Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.

Datenkompression

Siehe NetCDF Kompression von Daten durch Aufsammeln.

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 Positionen

float Mesh0_node_z_2d_bnd(nMesh0_data_time, nMesh0_node, two) ;

Hinweise:

  1. Weitere Informationen unter Vertikalkoordinaten (siehe nachfolgenden Abschnitt).

Durchflusshöhe an Positionen, differenziert nach Schichten

float Mesh0_node_z_3d_bnd(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node, two) ;

Hinweise:

  1. Weitere Informationen unter Vertikalkoordinaten (siehe nachfolgenden Abschnitt).

Zeitkoordinaten

Gitter-Daten

double nMesh0_time(nMesh0_time) ;

nMesh0_time:long_name = "time" ;
nMesh0_time:units = "seconds since 2005-07-01 00:00:00 01:00" ;
nMesh0_time:name_id = 1640 ;
nMesh0_time:axis = "T" ;
nMesh0_time:bounds = "nMesh0_time_bnd" ;
nMesh0_time:calendar = "gregorian" ;
nMesh0_time:standard_name = "time" ;

double nMesh0_time_bnd(nMesh0_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 nMesh0_data_time(nMesh0_data_time) ;

nMesh0_data_time:long_name = "time" ;
nMesh0_data_time:units = "seconds since 2005-05-01 01:30:00 01:00" ;
nMesh0_data_time:name_id = 1640 ;
nMesh0_data_time:axis = "T" ;
nMesh0_data_time:calendar = "gregorian" ;
nMesh0_data_time:standard_name = "time" ;

Hinweise:

  1. Die synoptischen Daten gelten für bestimmte Termine. Daher ist keine ergänzende Boundary-Variable erforderlich.

Vertikalkoordinaten

Tiefengemittelte Daten

float Mesh0_node_z_2d(nMesh0_data_time, nMesh0_node) ;

Mesh0_node_z_2d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
Mesh0_node_z_2d:units = "m" ;
Mesh0_node_z_2d:positive = "down" ;
Mesh0_node_z_2d:bounds = "Mesh0_node_z_2d_bnd" ;
Mesh0_node_z_2d:standard_name = "depth" ;

float Mesh0_node_z_2d_bnd(nMesh0_data_time, nMesh0_node, two) ;

Hinweise:

  1. Über die Wassertiefe gemittelte Daten benutzen diese zeitvariable Vertikalkoordinate.
  2. Der aktuelle Wert bezeichnet die Mitte zwischen aktueller Wasseroberfläche und Gewässersohle.
  3. Aus der Boundary-Variablen ergibt sich die Höhe (Länge), über die gemittelt wurde.
  4. Das Attribut "axis" ist nicht zulässig, da es sich um eine Hilfs-Vertikalkoordinate handelt.

Tiefenstrukturierte Daten

float Mesh0_node_z_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;

Mesh0_node_z_3d:long_name = "zeit- und ortsvariable Tiefe der Datenpunkte" ;
Mesh0_node_z_3d:units = "m" ;
Mesh0_node_z_3d:positive = "down" ;
Mesh0_node_z_3d:bounds = "Mesh0_node_z_3d_bnd" ;
Mesh0_node_z_3d:standard_name = "depth" ;
float Mesh0_node_z_3d_bnd(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node, two) ;

Hinweise:

  1. Tiefenstrukturierte, in z-Schichten gemittelte Daten benutzen diese zeitvariable Vertikalkoordinate.
  2. Der aktuelle Wert bezeichnet die Mitte der jeweiligen z-Schicht.
  3. Aus der Boundary-Variablen ergibt sich die Höhe (Länge), über die gemittelt wurde.
  4. Das Attribut "axis" ist nicht zulässig, da es sich um eine Hilfs-Vertikalkoordinate handelt.

Aktuelle (zeitvariable) Topografie

Knoten

Konstant in Zeitraum

double Mesh0_node_depth(nMesh0_time, nMesh0_node) ;

Mesh0_node_depth:long_name = "Topographie" ;
Mesh0_node_depth:units = "m" ;
Mesh0_node_depth:name_id = 17 ;
Mesh0_node_depth:valid_range = -2000., 2000. ;
Mesh0_node_depth:_FillValue = 1.e+31 ;
Mesh0_node_depth:cell_methods = "nMesh0_time: mean area: point" ;
Mesh0_node_depth:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_node_depth:grid_mapping = "Mesh0_crs" ;
Mesh0_node_depth:standard_name = "sea_floor_depth_below_geoid" ;

Hinweise:

  1. Das Attribut "cell_methods" beschreibt hier u. a., dass die Tiefen Mittelwerte für einen Zeitraum sind.

Zeitvariabel

float Mesh0_zeitvariable_Topographie_2d(nMesh0_data_time, nMesh0_node) ;

Mesh0_zeitvariable_Topographie_2d:long_name = "zeitvariable Topographie" ;
Mesh0_zeitvariable_Topographie_2d:units = "m" ;
Mesh0_zeitvariable_Topographie_2d:name_id = 617 ;
Mesh0_zeitvariable_Topographie_2d:_FillValue = 1.e+31f ;
Mesh0_zeitvariable_Topographie_2d:cell_methods = "nMesh0_data_time: point area: point" ;
Mesh0_zeitvariable_Topographie_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_zeitvariable_Topographie_2d:grid_mapping = "Mesh0_crs" ;
Mesh0_zeitvariable_Topographie_2d:standard_name = "sea_floor_depth_below_geoid" ;

Maximale zulässige Tiefe

double Mesh0_node_depth(nMesh0_time, nMesh0_node) ;

Mesh0_node_depth:long_name = "Tiefe der unerodierbaren Schicht" ;
Mesh0_node_depth:units = "m" ;
Mesh0_node_depth:name_id = 1149 ;
Mesh0_node_depth:valid_range = -2000., 2000. ;
Mesh0_node_depth:_FillValue = 1.e+31 ;
Mesh0_node_depth:cell_methods = "nMesh0_time: mean area: point" ;
Mesh0_node_depth:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_node_depth:grid_mapping = "Mesh0_crs" ;
Mesh0_node_depth:standard_name = "depth" ;

Hinweise:

  1. Das Attribut "cell_methods" beschreibt hier u. a., dass die Tiefen Mittelwerte für einen Zeitraum sind.
  2. Ggf. muss noch ein spezifischerer Standardname gefunden werden, z. B. "bedrock_altitude".

Wasserstand

Knoten

float Mesh0_Wasserstand_2d(nMesh0_data_time, nMesh0_node) ;

Mesh0_Wasserstand_2d:long_name = "Wasserstand" ;
Mesh0_Wasserstand_2d:units = "m" ;
Mesh0_Wasserstand_2d:name_id = 3 ;
Mesh0_Wasserstand_2d:_FillValue = 1.e+31f ;
Mesh0_Wasserstand_2d:cell_methods = "nMesh0_data_time: point area: point" ;
Mesh0_Wasserstand_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
Mesh0_Wasserstand_2d:grid_mapping = "Mesh0_crs" ;
Mesh0_Wasserstand_2d:standard_name = "sea_surface_height" ;

Tiefengemittelter Salzgehalt

Knoten

float Mesh0_Salzgehalt_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;

Mesh0_Salzgehalt_2d:long_name = "Salzgehalt" ;
Mesh0_Salzgehalt_2d:units = "1e-3" ;
Mesh0_Salzgehalt_2d:name_id = 5 ;
Mesh0_Salzgehalt_2d:_FillValue = 1.e+31f ;
Mesh0_Salzgehalt_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
Mesh0_Salzgehalt_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
Mesh0_Salzgehalt_2d:grid_mapping = "Mesh0_crs" ;
Mesh0_Salzgehalt_2d:standard_name = "sea_water_salinity" ;

Tiefenstrukturierter Salzgehalt

Knoten

float Mesh0_Salzgehalt_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;

Mesh0_Salzgehalt_3d:long_name = "Salzgehalt" ;
Mesh0_Salzgehalt_3d:units = "1e-3" ;
Mesh0_Salzgehalt_3d:name_id = 5 ;
Mesh0_Salzgehalt_3d:_FillValue = 1.e+31f ;
Mesh0_Salzgehalt_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
Mesh0_Salzgehalt_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
Mesh0_Salzgehalt_3d:grid_mapping = "Mesh0_crs" ;
Mesh0_Salzgehalt_3d:standard_name = "sea_water_salinity" ;

Tiefengemittelte Strömungsgeschwindigkeit

Knoten

x-Komponente

float Mesh0_Stroemungsgeschwindigkeit_x_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;

Mesh0_Stroemungsgeschwindigkeit_x_2d:long_name = "Stroemungsgeschwindigkeit (x-Komponente)" ;
Mesh0_Stroemungsgeschwindigkeit_x_2d:units = "m s-1" ;
Mesh0_Stroemungsgeschwindigkeit_x_2d:name_id = 2 ;
Mesh0_Stroemungsgeschwindigkeit_x_2d:_FillValue = 1.e+31f ;
Mesh0_Stroemungsgeschwindigkeit_x_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
Mesh0_Stroemungsgeschwindigkeit_x_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
Mesh0_Stroemungsgeschwindigkeit_x_2d:grid_mapping = "Mesh0_crs" ;
Mesh0_Stroemungsgeschwindigkeit_x_2d:standard_name = "sea_water_x_velocity" ;

y-Komponente

float Mesh0_Stroemungsgeschwindigkeit_y_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;

Mesh0_Stroemungsgeschwindigkeit_y_2d:long_name = "Stroemungsgeschwindigkeit (y-Komponente)" ;
Mesh0_Stroemungsgeschwindigkeit_y_2d:units = "m s-1" ;
Mesh0_Stroemungsgeschwindigkeit_y_2d:name_id = 2 ;
Mesh0_Stroemungsgeschwindigkeit_y_2d:_FillValue = 1.e+31f ;
Mesh0_Stroemungsgeschwindigkeit_y_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
Mesh0_Stroemungsgeschwindigkeit_y_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
Mesh0_Stroemungsgeschwindigkeit_y_2d:grid_mapping = "Mesh0_crs" ;
Mesh0_Stroemungsgeschwindigkeit_y_2d:standard_name = "sea_water_y_velocity" ;

Betrag

float Mesh0_Stroemungsgeschwindigkeit_m_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;

Mesh0_Stroemungsgeschwindigkeit_m_2d:long_name = "Stroemungsgeschwindigkeit (Betrag)" ;
Mesh0_Stroemungsgeschwindigkeit_m_2d:units = "m s-1" ;
Mesh0_Stroemungsgeschwindigkeit_m_2d:name_id = 2 ;
Mesh0_Stroemungsgeschwindigkeit_m_2d:_FillValue = 1.e+31f ;
Mesh0_Stroemungsgeschwindigkeit_m_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
Mesh0_Stroemungsgeschwindigkeit_m_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name" ;
Mesh0_Stroemungsgeschwindigkeit_m_2d:grid_mapping = "Mesh0_crs" ;
Mesh0_Stroemungsgeschwindigkeit_m_2d:standard_name = "magnitude_of_sea_water_velocity" ;

Tiefenstrukturierte Strömungsgeschwindigkeit

Knoten

x-Komponente

float Mesh0_Stroemungsgeschwindigkeit_x_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;

Mesh0_Stroemungsgeschwindigkeit_x_3d:long_name = "Stroemungsgeschwindigkeit (x-Komponente)" ;
Mesh0_Stroemungsgeschwindigkeit_x_3d:units = "m s-1" ;
Mesh0_Stroemungsgeschwindigkeit_x_3d:name_id = 2 ;
Mesh0_Stroemungsgeschwindigkeit_x_3d:_FillValue = 1.e+31f ;
Mesh0_Stroemungsgeschwindigkeit_x_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
Mesh0_Stroemungsgeschwindigkeit_x_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
Mesh0_Stroemungsgeschwindigkeit_x_3d:grid_mapping = "Mesh0_crs" ;
Mesh0_Stroemungsgeschwindigkeit_x_3d:standard_name = "sea_water_x_velocity" ;

y-Komponente

float Mesh0_Stroemungsgeschwindigkeit_y_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;

Mesh0_Stroemungsgeschwindigkeit_y_3d:long_name = "Stroemungsgeschwindigkeit (y-Komponente)" ;
Mesh0_Stroemungsgeschwindigkeit_y_3d:units = "m s-1" ;
Mesh0_Stroemungsgeschwindigkeit_y_3d:name_id = 2 ;
Mesh0_Stroemungsgeschwindigkeit_y_3d:_FillValue = 1.e+31f ;
Mesh0_Stroemungsgeschwindigkeit_y_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
Mesh0_Stroemungsgeschwindigkeit_y_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
Mesh0_Stroemungsgeschwindigkeit_y_3d:grid_mapping = "Mesh0_crs" ;
Mesh0_Stroemungsgeschwindigkeit_y_3d:standard_name = "sea_water_y_velocity" ;

z-Komponente

float Mesh0_Stroemungsgeschwindigkeit_z_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;

Mesh0_Stroemungsgeschwindigkeit_z_3d:long_name = "Stroemungsgeschwindigkeit (z-Komponente)" ;
Mesh0_Stroemungsgeschwindigkeit_z_3d:units = "m s-1" ;
Mesh0_Stroemungsgeschwindigkeit_z_3d:name_id = 2 ;
Mesh0_Stroemungsgeschwindigkeit_z_3d:_FillValue = 1.e+31f ;
Mesh0_Stroemungsgeschwindigkeit_z_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
Mesh0_Stroemungsgeschwindigkeit_z_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
Mesh0_Stroemungsgeschwindigkeit_z_3d:grid_mapping = "Mesh0_crs" ;
Mesh0_Stroemungsgeschwindigkeit_z_3d:standard_name = "upward_sea_water_velocity" ;

Betrag

float Mesh0_Stroemungsgeschwindigkeit_m_3d(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node) ;

Mesh0_Stroemungsgeschwindigkeit_m_3d:long_name = "Stroemungsgeschwindigkeit (Betrag)" ;
Mesh0_Stroemungsgeschwindigkeit_m_3d:units = "m s-1" ;
Mesh0_Stroemungsgeschwindigkeit_m_3d:name_id = 2 ;
Mesh0_Stroemungsgeschwindigkeit_m_3d:_FillValue = 1.e+31f ;
Mesh0_Stroemungsgeschwindigkeit_m_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
Mesh0_Stroemungsgeschwindigkeit_m_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name" ;
Mesh0_Stroemungsgeschwindigkeit_m_3d:grid_mapping = "Mesh0_crs" ;
Mesh0_Stroemungsgeschwindigkeit_m_3d:standard_name = "magnitude_of_sea_water_velocity" ;

Bezeichnung der Schwebstoffklassen

char Mesh0_suspension_classes(nMesh0_suspension_classes, nMesh0_class_names_strlen) ;

Mesh0_suspension_classes:long_name = "Klassenbezeichner" ;
Mesh0_suspension_classes:name_id = 1655 ;

Tiefengemittelter Schwebstoffgehalt

Knoten

float Mesh0_Schwebstoffgehalt_2d(nMesh0_data_time, nMesh0_suspension_classes, nMesh0_layer_2d, nMesh0_node) ;

Mesh0_Schwebstoffgehalt_2d:long_name = "Schwebstoffgehalt" ;
Mesh0_Schwebstoffgehalt_2d:units = "kg m-3" ;
Mesh0_Schwebstoffgehalt_2d:name_id = 7 ;
Mesh0_Schwebstoffgehalt_2d:_FillValue = 1.e+31f ;
Mesh0_Schwebstoffgehalt_2d:cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean area: point" ;
Mesh0_Schwebstoffgehalt_2d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_2d Mesh0_node_long_name Mesh0_suspension_classes" ;
Mesh0_Schwebstoffgehalt_2d:grid_mapping = "Mesh0_crs" ;
Mesh0_Schwebstoffgehalt_2d:standard_name = "concentration_of_suspended_matter_in_sea_water" ;
Mesh0_Schwebstoffgehalt_2d:comment = "class_names No 1 : Summe aller Fraktionen\\nclass_names No 2 : Schluff" ;

Hinweise:

  1. Sowohl die Summe aller Fraktionen als auch die einzelnen Fraktionen sind in einer Variablen abgelegt.
  2. Unter dem Attribut "comment" sind auch noch ein Mal die Definitionen der einzelnen Klassen angegeben.

Tiefenstrukturierter Schwebstoffgehalt

Knoten

float Mesh0_Schwebstoffgehalt_3d(nMesh0_data_time, nMesh0_suspension_classes, nMesh0_layer_3d, nMesh0_node) ;

Mesh0_Schwebstoffgehalt_3d:long_name = "Schwebstoffgehalt" ;
Mesh0_Schwebstoffgehalt_3d:units = "kg m-3" ;
Mesh0_Schwebstoffgehalt_3d:name_id = 7 ;
Mesh0_Schwebstoffgehalt_3d:_FillValue = 1.e+31f ;
Mesh0_Schwebstoffgehalt_3d:cell_methods = "nMesh0_data_time: point nMesh0_layer_3d: mean area: point" ;
Mesh0_Schwebstoffgehalt_3d:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_z_3d Mesh0_node_long_name Mesh0_suspension_classes" ;
Mesh0_Schwebstoffgehalt_3d:grid_mapping = "Mesh0_crs" ;
Mesh0_Schwebstoffgehalt_3d:standard_name = "concentration_of_suspended_matter_in_sea_water" ;
Mesh0_Schwebstoffgehalt_3d:comment = "class_names No 1 : Summe aller Fraktionen\\nclass_names No 2 : Schluff" ;

Hinweise:

  1. Sowohl die Summe aller Fraktionen als auch die einzelnen Fraktionen sind in einer Variablen abgelegt.
  2. Unter dem Attribut "comment" sind auch noch ein Mal die Definitionen der einzelnen Klassen angegeben.

Anmerkungen


zurück zu NetCDF


Strukturübersicht