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>).)
 
(255 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.


==Langbezeichnung==
:: 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"
==Codekennung==
::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"


==Kurzbezeichnung==
==Daten 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=
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.


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.  
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" ;


==Komprimierte Daten an Knoten==
Anmerkungen:
:: integer nMesh0_vedge(nMesh0_vedge) ;
# Es können ungültige Daten vorhanden sein (siehe ''_FillValue'').
::: nMesh0_vedge:compress = "node_depth_3d 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 [[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'').


=Gewichte=
==Daten mit z-Abhängigkeit==
==Längen==


===Durchflusshöhe an Positionen, summiert über alle Schichten===
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.
:: double Mesh0_node_water_depth_2d(time,nMesh0_node) ;
::: Mesh0_node_water_depth_2d:standard_name = "'''sea_floor_depth_below_sea_surface'''" ; \\ eventually not required 
::: Mesh0_node_water_depth_2d:long_name = "water depth above locations, vertically integrated" ;   
::: Mesh0_node_water_depth_2d:units = "m" ;
::: Mesh0_node_water_depth_2d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
::: Mesh0_node_water_depth_2d:_FillValue = ''fillvalue'' ;
::: 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===
float Mesh0_node_Salzgehalt_2d(nMesh0_data_time, nMesh0_layer_2d, nMesh0_node) ;
:: double Mesh0_node_water_depth_3d(time,nMesh0_vedge) ; \\ compression used
: :long_name = "Salzgehalt [ node ]" ;
::: Mesh0_node_water_depth_3d:standard_name = "'''???'''" ; \\ eventually not required 
: :units = "1e-3" ;
::: Mesh0_node_water_depth_3d:long_name = "water depth above locations, vertically structured" ;  
: :name_id = 5 ;
::: Mesh0_node_water_depth_3d:units = "m" ;
: :_FillValue = 1.e+31f ;
::: Mesh0_node_water_depth_3d:coordinates = "Mesh0_node_long_name Mesh0_node_lon Mesh0_node_lat" ;
: :ancillary_variables = "Mesh0_node_Gesamtwassertiefe_2d" ;
::: Mesh0_node_water_depth_3d:_FillValue = ''fillvalue'' ;
: :cell_measures = "volume: Mesh0_node_Wasservolumen_2d area: Mesh0_node_Wasserflaeche_2d" ;
::: Mesh0_node_water_depth_3d:valid_range = ''valid minimum'', ''valid maximum'' ;
: :cell_methods = "nMesh0_data_time: point nMesh0_layer_2d: mean nMesh0_node: mean" ;
::: Mesh0_node_water_depth_3d:grid_mapping = "crs" ;
: :comment = "ancillary variables may be used ..." ;
::''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.''
: :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" ;


=Aktuelle (zeitvariable) Topografie=
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=
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'').


=Wasserstand=
==Daten für mehrere Fraktionen==


:: double node_water_level(time,node) ;
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.
::: node_water_level:standard_name = "'''sea_surface_height_above_geoid'''" ;   
::: node_water_level:long_name = "water level" ;   
::: node_water_level:units = "m" ;
::: node_water_level:coordinates = "node_long_name node_lon node_lat"
::: node_water_level:_FillValue = "''fillvalue''"
::: node_water_level:valid_range = "''valid minimum'', ''valid maximum''"
::: node_water_level:grid_mapping = "crs"


=Zeitvariable Topografie=
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" ;


:: double node_water_level(time,node) ;
Anmerkungen:
::: node_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ;   
# Es können ungültige Daten vorhanden sein (siehe ''_FillValue'').
::: node_depth:long_name = "sea floor depth" ;   
# 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.
::: node_depth:units = "m" ;
# Der [[Schwebstoffgehalt]] ist für jede Fraktion ein (synoptischer) Augenblickswert und ein Volumen-Mittelwert (siehe ''cell_methods'').
::: node_depth:coordinates = "node_long_name node_lon node_lat"
# In der Variable '''Mesh0_node_Wasservolumen_2d''' ist das für den Volumen-Mittelwert relevante Volumen enthalten.
::: node_depth:_FillValue = "''fillvalue''"
# Mit zusätzlicher Hilfe von '''Mesh0_node_Wasserflaeche_2d''' kann in exakter Weise die Schwebstoffmasse/Fläche ermittelt werden.
::: node_depth:valid_range = "''valid minimum'', ''valid maximum''"
# Die Label-Koordinatenvariable '''Mesh0_node_long_name''' kann zur Auswahl von Position(en) verwendet werden (siehe ''coordinates'').
::: node_depth:grid_mapping = "crs"
# Die Label-Koordinatenvariable '''Mesh0_Schwebstoffklassen_2d''' kann zur Auswahl von Fraktionen verwendet werden (siehe ''coordinates'').


=Gesamtwassertiefe=
=Version [[DATACONVERT]]=


:: double node_water_depth(time,node) ;
==Dimensionen==
::: node_water_depth:standard_name = "'''sea_floor_depth_below_sea_surface'''" ;   
::: node_water_depth:long_name = "total water depth" ;   
::: node_water_depth:units = "m" ;
::: node_water_depth:coordinates = "node_long_name node_lon node_lat"
::: node_water_depth:_FillValue = "''fillvalue''"
::: node_water_depth:valid_range = "''valid minimum'', ''valid maximum''"
::: node_water_depth:grid_mapping = "crs"


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


:: double node_salinity(time,vedge) ;
==Positionsbezeichnungen==
::: node_salinity:standard_name = "'''sea_water_salinity'''" ;   
::: node_salinity:long_name = "salinity" ;   
::: node_salinity:units = "0.001" ;
::: node_salinity:coordinates = "node_long_name node_lon node_lat"
::: node_salinity:_FillValue = "''fillvalue''"
::: node_salinity:valid_range = "''valid minimum'', ''valid maximum''"
::: node_salinity:cell_methods = "height: mean"
::: node_salinity:grid_mapping = "crs"


=Strömungsgeschwindigkeit, x-Komponente=
===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 ;


:: double node_velocity_x(time,vedge) ;
Hinweise:
::: node_velocity_x:standard_name = "'''sea_water_x_velocity'''" ; \\ or better '''eastward_sea_water_velocity'''
# Variable wird als Label-Koordinate benutzt, daher werden die Attribute "coordinates" und "grid_mapping" hier nicht benutzt.
::: node_velocity_x:long_name = "current velocity in x-direction" ;   
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-[[Kennung]] der Variablen.
::: node_velocity_x:units = "m s-1" ;
::: node_velocity_x:coordinates = "node_long_name node_lon node_lat"
::: node_velocity_x:_FillValue = "''fillvalue''"
::: node_velocity_x:valid_range = "''valid minimum'', ''valid maximum''"
::: node_velocity_x:cell_methods = "height: mean"
::: node_velocity_x:grid_mapping = "crs"


=Strömungsgeschwindigkeit, y-Komponente=
===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" ;


:: double node_velocity_y(time,vedge) ;
===Kurzer Name===
::: node_velocity_y:standard_name = "'''sea_water_y_velocity'''" ; \\ or better '''northward_sea_water_velocity'''
char Mesh0_node_short_name(nMesh0_node, nMesh0_strlen3) ;
::: ... ''weitere Attribute analog zur x-Komponente der Strömungsgeschwindigkeit''
: 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" ;


=Strömungsgeschwindigkeit, z-Komponente=
==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" ;


:: double node_velocity_z(time,vedge) ;
Hinweise:
::: node_velocity_z:standard_name = "'''upward_sea_water_velocity'''" ;
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.
::: ... ''weitere Attribute analog zur x-Komponente der Strömungsgeschwindigkeit''


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


:: double node_suspended_matter(time,vedge) ;
Hinweise:
::: node_suspended_matter:standard_name = "'''mass_concentration_of_suspended_matter_in_sea_water'''" ;
# Dimensionslose Variable, daher ist kein "units" Attribut vorhanden.
::: node_suspended_matter:long_name = "mass concentration of suspended sediments" ;   
::: node_suspended_matter:units = "kg m-3" ;
::: node_suspended_matter:coordinates = "node_long_name node_lon node_lat"
::: node_suspended_matter:_FillValue = "''fillvalue''"
::: node_suspended_matter:valid_range = "''valid minimum'', ''valid maximum''"
::: node_suspended_matter:cell_methods = "height: mean"
::: node_suspended_matter:grid_mapping = "crs"


=Schwebstoffgehalt, Fraktionen=
==Datenkompression==


:: double node_suspended_matter_classes(suspension_classes,time,vedge) ;
Siehe [[NetCDF Kompression von Daten durch Aufsammeln]].
::: node_suspended_matter_classes:standard_name = "'''mass_concentration_of_suspended_matter_in_sea_water'''" ;
::: node_suspended_matter_classes:long_name = "mass concentration of suspended sediment fraction" ;   
::: node_suspended_matter_classes:units = "kg m-3" ;
::: node_suspended_matter_classes:coordinates = "node_long_name node_lon node_lat"
::: node_suspended_matter_classes:_FillValue = "''fillvalue''"
::: node_suspended_matter_classes:valid_range = "''valid minimum'', ''valid maximum''"
::: node_suspended_matter_classes:cell_methods = "height: mean"
::: node_suspended_matter_classes:grid_mapping = "crs"


=Bezeichnung der Schwebstoffklassen=
==Gewichte==


:: char suspended_matter_classes_long_name(suspension_classes,strlen1) ;
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.
::: suspended_matter_classes_long_name:long_name = "long name of suspension class"


=Anmerkungen, Fragen=
===Längen===
* Datei ist vollständig CF-konform - keine Erweiterungen erforderlich!
* 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?
* Oder sollen die Tiefenmittelwerte zusätzlich abgelegt werden?
* 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?
* Kann der "suspended_matter_class_long_name" in dem Attribut ''coordinates'' genutzt werden?
* 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].


* Datei ist vollständig CF-konform - keine Erweiterungen erforderlich!
====Durchflusshöhe an Positionen====
* Wie unterscheiden wir ''aktuelle Tiefe'' und ''nicht weiter erodierbare Tiefe''? Neuer ''standard_name'' erforderlich?
float Mesh0_node_z_2d_bnd(nMesh0_data_time, nMesh0_node, two) ;
* Sind "coordinates" und "grid_mapping" für die Namensbezeichnungen erforderlich/sinnvoll?
* Auf die Daten einer Position kann auch über die Namensbezeichnungen zugegriffen werden, daher erscheint der Wert "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)
* Die Beschreibung der Koordinatentransformation ist für UTM- und Gauß-Krüger-Koordinaten geeignet.


Hinweise:
# Weitere Informationen unter [[#Vertikalkoordinaten|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:
# Weitere Informationen unter [[#Vertikalkoordinaten|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:
# 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