Aktionen

NetCDF Synoptische Daten an Einzelpositionen: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(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>).)
 
(239 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=
* [[NetCDF Einzelpositionen]]: Koordinaten und Namensbezeichnungen sowie Koordinatentransformation;
* [[NetCDF Zeitkoordinate]]: Koordinatenvariable ''time'';
* [[NetCDF Vertikalkoordinate]]: Vertikalkoordinate ''depth'' oder ''height'':
*# ''node_depth_3d'' : Vertikalkoordinate für tiefenstrukturierte Daten an Knoten.


=Dimensionen=
* [[NetCDF Einzelpositionen]]: Koordinaten und Koordinatentransformation für Einzelpositionen.
* [[NetCDF Zeitkoordinate]]: Koordinatenvariable ''time''.
* [[NetCDF Vertikalkoordinate]]: zeit- und ortsvariable Vertikalkoordinate.


Soweit nicht schon oben festgelegt, kommen noch folgende Dimensionen hinzu:
=Version ''Discrete Sampling Geometry'' '''timeSeriesProfile'''=
: dimensions:
:: nMesh0_vedge = ''total number of computational data above nodes'' ;
:: nMesh0_susp_classes = ''number of suspended sediment classes'' ;
:: nMesh0_strlen1 = ''maximum number of characters used in long names'' ;
:: nMesh0_strlen2 = ''maximum number of characters used in code names'' ;
:: nMesh0_strlen3 = ''maximum number of characters used in short names'' ;


=Positionsbezeichnungen=
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.


==Langer Name==
:: char Mesh0_node_long_name(nMesh0_node,nMesh0_strlen1) ;
::: Mesh0_node_long_name:standard_name = "'''???'''" ; \\ no standard name available
::: Mesh0_node_long_name:long_name = "long name of location"
::: Mesh0_node_long_name:coordinates = "Mesh0_node_lon Mesh0_node_lat"
::: Mesh0_node_long_name:grid_mapping = "crs"


==Code-Name==
==Daten ohne z-Abhängigkeit==
::char Mesh0_node_code_name(nMesh0_node,nMesh0_strlen2) ;
::: Mesh0_node_code_name:standard_name = "'''???'''" ; \\ no standard name available
::: Mesh0_node_code_name:long_name = "code name of location"
::: Mesh0_node_code_name:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat"
::: Mesh0_node_code_name:grid_mapping = "crs"


==Kurzer Name==
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.
:: char Mesh0_node_short_name(nMesh0_node,nMesh0_strlen3) ;
::: Mesh0_node_short_name:standard_name = "'''???'''" ; \\ no standard name available
::: Mesh0_node_short_name:long_name = "short name of location"
::: Mesh0_node_short_name:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat"
::: Mesh0_node_short_name:grid_mapping = "crs"


=Datenkompression=
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" ;


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 werden verschiedene Dimensionen in einer komprimierten Dimension zusammengefasst. Dauerhaft fehlende Daten werden daher erst gar nicht in der Datei abgespeichert. Dies reduziert bei drei-dimensionalen Simulationen mit z-Schichten den Speicheraufwand typischer Weise um 60 bis 80 Prozent.  
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'').


==Komprimierte Daten an Knoten==
==Daten mit z-Abhängigkeit==
:: integer nMesh0_vedge(nMesh0_vedge) ;
::: nMesh0_vedge:compress = "node_depth_3d nMesh0_node"


=Gewichte=
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.


Gewichte werden insbesondere im Postprocessing benötigt, um abgeleitete Daten korrekt berechnen zu können, falls die hierfür relevanten Gewichtsfaktoren, hier Längen, nicht in einfacher Weise aus den Koordinaten abgeleitet werden können. Die Verwendung von Gewichten bringt daher eine große Sicherheit in die späteren Weiterverarbeitung der Daten. Beispiele für abgeleitete Daten sind insbesondere Tiefenmittelwerte oder (spezifische) Durchflussberechnungen.
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" ;


==Längen==


===Durchflusshöhe an Positionen, summiert über alle Schichten===
Anmerkungen:
:: double Mesh0_node_water_depth_2d(time,nMesh0_node) ;
# Es können ungültige Daten vorhanden sein (siehe ''_FillValue'').
::: Mesh0_node_water_depth_2d:standard_name = "'''sea_floor_depth_below_sea_surface'''" ; 
# 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.
::: Mesh0_node_water_depth_2d:long_name = "water depth at locations, vertically integrated" ;   
# Der Salzgehalt ist ein (synoptischer) Augenblickswert und ein Volumen-Mittelwert (siehe ''cell_methods'').
::: Mesh0_node_water_depth_2d:units = "m" ;
# In der Variable '''Mesh0_node_Wasservolumen_2d''' ist das für den Volumen-Mittelwert relevante Volumen enthalten.
::: Mesh0_node_water_depth_2d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
# Mit zusätzlicher Hilfe von '''Mesh0_node_Wasserflaeche_2d''' kann in exakter Weise das Salzvolumen/Fläche ermittelt werden.
::: Mesh0_node_water_depth_2d:_FillValue = ''fillvalue'' ;
# Die Label-Koordinatenvariable '''Mesh0_node_long_name''' kann zur Auswahl von Position(en) verwendet werden (siehe ''coordinates'').
::: Mesh0_node_water_depth_2d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_water_depth_2d:grid_mapping = "crs"
::''Hinweis: entspricht der Wassertiefe an den Positionen.''


===Duchflusshöhe an Positionen, differenziert nach Schichten===
==Daten für mehrere Fraktionen==
:: double Mesh0_node_water_depth_3d(time,nMesh0_vedge) ; \\ compression used
::: Mesh0_node_water_depth_3d:standard_name = "'''???'''" ; \\ eventually not required 
::: Mesh0_node_water_depth_3d:long_name = "water depth above locations, vertically structured" ;   
::: Mesh0_node_water_depth_3d:units = "m" ;
::: Mesh0_node_water_depth_3d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_water_depth_3d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_water_depth_3d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_water_depth_3d:grid_mapping = "crs" ;
::''Hinweis: die Wassertiefe in den einzelnen Schichten ist bei Verwendung von z-Schichten sowohl vom Wasserstand, der Lage der Gewässersohle, und zusätzlich noch von der Position der z-Schichten abhängig. Diese Daten sind für einen Postprozessor nur unter Kenntnis der in dem erzeugenden HN-Verfahren benutzten Algorithmen exakt rekonstruierbar.''


=Aktuelle (zeitvariable) Topografie=
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.
Es werden nur die Angaben für zeitvariable Topografie gemacht. Bei stationärer Topografie entfällt die Dimension ''time''.
==Knoten==
:: double Mesh0_node_depth(time,nMesh0_node) ;
::: Mesh0_node_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ;   
::: Mesh0_node_depth:long_name = "sea floor depth at locations" ;   
::: Mesh0_node_depth:units = "m" ;
::: Mesh0_node_depth:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_depth:_FillValue = ''fillvalue'' ;
::: Mesh0_node_depth:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_depth:cell_methods = "nMesh0_node: point" \\ depth is pointwise
::: Mesh0_node_depth:grid_mapping = "crs"


=Maximale zulässige Tiefe=
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" ;


* Vollständig analog zu ''Aktuelle Tiefe'' vorgehen, jedoch ohne Dimension ''time''.  
Anmerkungen:
* Vorschlag für die Namensgebung:
# Es können ungültige Daten vorhanden sein (siehe ''_FillValue'').
*# Knoten: "Mesh0_node_max_depth(nMesh0_node)" .
# 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'').


=Wasserstand=
=Version [[DATACONVERT]]=


==Knoten==
==Dimensionen==
:: double Mesh0_node_water_level(time,nMesh0_node) ;
::: Mesh0_node_water_level:standard_name = "'''sea_surface_height_above_geoid'''" ;   
::: Mesh0_node_water_level:long_name = "water level for locations" ;   
::: Mesh0_node_water_level:units = "m" ;
::: Mesh0_node_water_level:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_water_level:_FillValue = ''fillvalue'' ;
::: Mesh0_node_water_level:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_water_level:cell_methods = "nMesh0_node: point" ; \\ pointwise data
::: Mesh0_node_water_level:grid_mapping = "crs" ;


=Tiefengemittelter Salzgehalt=
# '''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.


==Knoten==
==Positionsbezeichnungen==
:: double Mesh0_node_salinity_2d(time,nMesh0_node) ;
::: Mesh0_node_salinity_2d:standard_name = "'''sea_water_salinity'''" ;   
::: Mesh0_node_salinity_2d:long_name = "salinity for locations, depth averaged" ;   
::: Mesh0_node_salinity_2d:units = "0.001" ;
::: Mesh0_node_salinity_2d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_salinity_2d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_salinity_2d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_salinity_2d:cell_methods = "nMesh0_node: mean" ;
::: Mesh0_node_salinity_2d:cell_measures = "length: Mesh0_node_water_depth_2d" \\ depth averaged
::: Mesh0_node_salinity_2d:grid_mapping = "crs" ;


=Tiefenstrukturierter Salzgehalt=
===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 ;


==Knoten==
Hinweise:
:: double Mesh0_node_salinity_3d(time,nMesh0_vedge) ; \\ compression used
# Variable wird als Label-Koordinate benutzt, daher werden die Attribute "coordinates" und "grid_mapping" hier nicht benutzt.
::: Mesh0_node_salinity_3d:standard_name = "'''sea_water_salinity'''" ;   
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-[[Kennung]] der Variablen.
::: Mesh0_node_salinity_3d:long_name = "salinity for locations, vertically structured" ;   
::: Mesh0_node_salinity_3d:units = "0.001" ;
::: Mesh0_node_salinity_3d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_salinity_3d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_salinity_3d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_salinity_3d:cell_methods = "nMesh0_vedge: mean" ;
::: Mesh0_node_salinity_3d:cell_measures = "length: Mesh0_node_water_depth_3d" \\ depth averaged
::: Mesh0_node_salinity_3d:grid_mapping = "crs" ;


=Tiefengemittelte Strömungsgeschwindigkeit=
===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" ;


==Knoten==
===Kurzer Name===
:: double Mesh0_node_velocity_x_2d(time,nMesh0_node) ;
char Mesh0_node_short_name(nMesh0_node, nMesh0_strlen3) ;
::: Mesh0_node_velocity_x_2d:standard_name = "'''sea_water_x_velocity'''" ; \\ or better '''eastward_sea_water_velocity'''
: Mesh0_node_short_name:long_name = "Kuerzel Geoposition" ;
::: Mesh0_node_velocity_x_2d:long_name = "current velocity in x-direction for locations, depth integrated" ;  
: Mesh0_node_short_name:name_id = 1396 ;
::: Mesh0_node_velocity_x_2d:units = "m s-1" ;
: Mesh0_node_short_name:coordinates = "Mesh0_node_x Mesh0_node_y Mesh0_node_lon Mesh0_node_lat Mesh0_node_long_name" ;
::: Mesh0_node_velocity_x_2d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
: Mesh0_node_short_name:grid_mapping = "Mesh0_crs" ;
::: Mesh0_node_velocity_x_2d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_velocity_x_2d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_velocity_x_2d:cell_methods = "nMesh0_node: mean" ;
::: Mesh0_node_velocity_x_2d:cell_measures = "length: Mesh0_node_water_depth_2d" ;
::: Mesh0_node_velocity_x_2d:grid_mapping = "crs"
:: ''Bemerkung: y-Komponente '''sea_water_y_velocity''' ('''northward_sea_water_velocity''') analog''


=Tiefenstrukturierte Strömungsgeschwindigkeit=
==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" ;


==Knoten==
Hinweise:
:: double Mesh0_node_velocity_x_3d(time,nMesh0_vedge) ; \\ compression used
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.
::: Mesh0_node_velocity_x_3d:standard_name = "'''sea_water_x_velocity'''" ; \\ or better '''eastward_sea_water_velocity'''
::: Mesh0_node_velocity_x_3d:long_name = "current velocity in x-direction for locations, vertically structured" ;   
::: Mesh0_node_velocity_x_3d:units = "m s-1" ;
::: Mesh0_node_velocity_x_3d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_velocity_x_3d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_velocity_x_3d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_velocity_x_3d:cell_methods = "nMesh0_vedge: mean" ;
::: Mesh0_node_velocity_x_3d:cell_measures = "length: Mesh0_node_water_depth_3d" ;
::: Mesh0_node_velocity_x_3d:grid_mapping = "crs"
:: ''Bemerkung: y-Komponente '''sea_water_y_velocity''' ('''northward_sea_water_velocity''') analog''.  
:: double Mesh0_node_velocity_z_3d(time,nMesh0_vedge) ; \\ compression used
::: Mesh0_node_velocity_z_3d:standard_name = "'''upward_sea_water_velocity'''" ;
::: Mesh0_node_velocity_z_3d:long_name = "current velocity in z-direction for locations, vertically structured" ;   
::: Mesh0_node_velocity_z_3d:units = "m s-1" ;
::: Mesh0_node_velocity_z_3d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_velocity_z_3d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_velocity_z_3d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_velocity_z_3d:cell_methods = "nMesh0_vedge: mean" ;
::: Mesh0_node_velocity_z_3d:cell_measures = "length: Mesh0_node_water_depth_3d" ;
::: Mesh0_node_velocity_z_3d:grid_mapping = "crs"


=Tiefengemittelter Schwebstoffgehalt=
==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" ;


==Knoten==
Hinweise:
===Gesamtmenge===
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.
:: double Mesh0_node_suspended_matter_2d(time,nMesh0_node) ;
::: Mesh0_node_suspended_matter_2d:standard_name = "'''mass_concentration_of_suspended_matter_in_sea_water'''" ;   
::: Mesh0_node_suspended_matter_2d:long_name = "mass concentration of suspended sediments for locations, depth averaged" ;   
::: Mesh0_node_suspended_matter_2d:units = "0.001" ;
::: Mesh0_node_suspended_matter_2d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_suspended_matter_2d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_suspended_matter_2d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_suspended_matter_2d:cell_methods = "nMesh0_node: mean" ;
::: Mesh0_node_suspended_matter_2d:cell_measures = "length: Mesh0_node_water_depth_2d" \\ depth averaged
::: Mesh0_node_suspended_matter_2d:grid_mapping = "crs" ;


===Fraktionen===
==Datenkompression==
:: double Mesh0_node_suspended_matter_classes_2d(time,nMesh0_node,nMesh0_susp_classes) ;
::: 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 for locations, depth averaged" ;   
::: Mesh0_node_suspended_matter_classes_2d:units = "0.001" ;
::: Mesh0_node_suspended_matter_classes_2d:coordinates = "Mesh0_suspended_matter_classes_long_name Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_suspended_matter_classes_2d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_suspended_matter_classes_2d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_suspended_matter_classes_2d:cell_methods = "nMesh0_node: mean" ;
::: Mesh0_node_suspended_matter_classes_2d:cell_measures = "length: Mesh0_node_water_depth_2d" \\ depth averaged
::: Mesh0_node_suspended_matter_classes_2d:grid_mapping = "crs" ;


=Tiefenstrukturierter Schwebstoffgehalt=
Siehe [[NetCDF Kompression von Daten durch Aufsammeln]].


==Knoten==
==Gewichte==
===Gesamtmenge===
:: double Mesh0_node_suspended_matter_3d(time,nMesh0_vedge) ; \\ compression used
::: 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 for locations, vertically structured" ;   
::: Mesh0_node_suspended_matter_3d:units = "0.001" ;
::: Mesh0_node_suspended_matter_3d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_suspended_matter_3d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_suspended_matter_3d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_suspended_matter_3d:cell_methods = "nMesh0_vedge: mean" ;
::: Mesh0_node_suspended_matter_3d:cell_measures = "length: Mesh0_node_water_depth_3d" \\ depth averaged
::: Mesh0_node_suspended_matter_3d:grid_mapping = "crs" ;


===Fraktionen===
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.
:: double Mesh0_node_suspended_matter_classes_3d(time,nMesh0_vedge,nMesh0_susp_classes) ;
::: 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 for locations, vertically structured" ;   
::: Mesh0_node_suspended_matter_classes_3d:units = "0.001" ;
::: Mesh0_node_suspended_matter_classes_3d:coordinates = "Mesh0_suspended_matter_classes_long_name Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_suspended_matter_classes_3d:_FillValue = ''fillvalue'' ;
::: Mesh0_node_suspended_matter_classes_3d:valid_range = ''valid minimum'', ''valid maximum'' ;
::: Mesh0_node_suspended_matter_classes_3d:cell_methods = "nMesh0_vedge: mean" ;
::: Mesh0_node_suspended_matter_classes_3d:cell_measures = "length: Mesh0_node_water_depth_3d" \\ depth averaged
::: Mesh0_node_suspended_matter_classes_3d:grid_mapping = "crs" ;


=Bezeichnung der Schwebstoffklassen=
===Längen===


:: char Mesh0_suspended_matter_classes_long_name(Mesh0_susp_classes,nMesh0_strlen1) ;
====Durchflusshöhe an Positionen====
::: Mesh0_suspended_matter_classes_long_name:long_name = "long name of suspension classes"
float Mesh0_node_z_2d_bnd(nMesh0_data_time, nMesh0_node, two) ;


=Anmerkungen, Fragen=
Hinweise:
* Datei ist nicht vollständig CF-konform. Für das Attribut ''cell_measures'' müsste ''length'' als Wert zugelassen werden.
# Weitere Informationen unter [[#Vertikalkoordinaten|Vertikalkoordinaten]] (siehe nachfolgenden Abschnitt).
* Soll das BAW-Attribut ''name_id'' (für den Code) zusätzlich benutzt werden?
 
* Können wir Tiefenmittelwerte, z. B. für den Salzgehalt, aus den Daten und Metadaten problemlos berechnen?
====Durchflusshöhe an Positionen, differenziert nach Schichten====
* Oder sollen die Tiefenmittelwerte zusätzlich abgelegt werden?
float Mesh0_node_z_3d_bnd(nMesh0_data_time, nMesh0_layer_3d, nMesh0_node, two) ;
* Können wir Vektoren zwischen verschiedenen Koordinatensystemen transformieren, um z. B. aus der x- und der y-Komponente die Ostkomponente zu berechnen?
 
* Wie kann ein sicherer Zusammenhang zwischen den Daten für die Schwebstoffklassen und den Klassennamen hergestellt werden?
Hinweise:
* Kann der "Mesh0_suspended_matter_class_long_name" in dem Attribut ''coordinates'' genutzt werden?
# Weitere Informationen unter [[#Vertikalkoordinaten|Vertikalkoordinaten]] (siehe nachfolgenden Abschnitt).
* Ist es besser, die Daten der Schwebstoffklassen in einzelnen Feldern zu speichern? Dies wäre in Einklang mit den [http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html COARDS Konventionen].
 
* Sind "coordinates" und "grid_mapping" für die Namensbezeichnungen erforderlich/sinnvoll?
==Zeitkoordinaten==
* 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].
 
* Benötigen wir ID und COLOR noch (in dieser Datei)? (sind oben vernachlässigt).
===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:
# 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 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:
# 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:
# Über die [[Wassertiefe]] gemittelte Daten 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 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:
# Tiefenstrukturierte, in z-Schichten gemittelte Daten 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.
 
==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:
# 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:
# Das Attribut "cell_methods" beschreibt hier u. a., dass die Tiefen Mittelwerte für einen Zeitraum sind.
# 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:
# 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.
 
==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:
# 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.
 
==Anmerkungen==
* Datei ist CF-konform gemäß [http://puma.nerc.ac.uk/cgi-bin/cf-checker.pl NCAS ''CF Compliance Checker''].
* 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''].
----
----
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