NetCDF Synoptische Daten im Dreiecksgitter: Unterschied zwischen den Versionen
Aus BAWiki
imported>Lang Guenther (Sicherheitskopie) |
imported>Lang Guenther (Sicherheitskopie) |
||
Zeile 32: | Zeile 32: | ||
::: Mesh2_edge_type:grid_mapping = "crs" | ::: Mesh2_edge_type:grid_mapping = "crs" | ||
=== | ==Kennzeichnung von Positionen für die Randwertsteuerung== | ||
''Text fehlt noch.'' | |||
=Aktuelle (zeitvariable) Topografie= | |||
Es werden nur die Angaben für zeitvariable Topografie gemacht. Bei stationärer Topografie entfällt die Dimension ''time''. | Es werden nur die Angaben für zeitvariable Topografie gemacht. Bei stationärer Topografie entfällt die Dimension ''time''. | ||
==Knoten== | |||
:: double Mesh2_node_depth(time,nMesh2_node) ; | :: double Mesh2_node_depth(time,nMesh2_node) ; | ||
::: Mesh2_node_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ; | ::: Mesh2_node_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ; | ||
Zeile 58: | Zeile 47: | ||
::: Mesh2_node_depth:cell_methods = "nMesh2_node: point" \\ depth is pointwise | ::: Mesh2_node_depth:cell_methods = "nMesh2_node: point" \\ depth is pointwise | ||
::: Mesh2_node_depth:grid_mapping = "crs" | ::: Mesh2_node_depth:grid_mapping = "crs" | ||
==Kanten== | |||
:: double Mesh2_edge_depth(time,nMesh2_edge) ; | :: double Mesh2_edge_depth(time,nMesh2_edge) ; | ||
::: Mesh2_edge_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ; | ::: Mesh2_edge_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ; | ||
Zeile 68: | Zeile 57: | ||
::: Mesh2_edge_depth:cell_methods = "nMesh2_edge: mean" ; \\ depth is constant along edge | ::: Mesh2_edge_depth:cell_methods = "nMesh2_edge: mean" ; \\ depth is constant along edge | ||
::: Mesh2_edge_depth:grid_mapping = "crs" | ::: Mesh2_edge_depth:grid_mapping = "crs" | ||
==Polygone== | |||
:: double Mesh2_poly_depth(time,nMesh2_poly) ; | :: double Mesh2_poly_depth(time,nMesh2_poly) ; | ||
::: Mesh2_poly_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ; | ::: Mesh2_poly_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ; | ||
Zeile 79: | Zeile 68: | ||
::: Mesh2_poly_depth:grid_mapping = "crs" | ::: Mesh2_poly_depth:grid_mapping = "crs" | ||
===Wasserstand ( | =Maximal zulässige Tiefe= | ||
* Vollständig analog zu ''Aktuelle Tiefe'' vorgehen, jedoch ohne Dimension ''time''. | |||
* Vorschlag für die Namensgebung: | |||
*# Knoten: "Mesh2_node_max_depth(nMesh2_node)" ; | |||
*# Kanten: "Mesh2_edge_max_depth(nMesh2_edge)" ; | |||
*# Polygone: "Mesh2_poly_max_depth(nMesh2_poly)" . | |||
=Weitere Daten ohne Tiefenabhängigkeit= | |||
==Wasserstand== | |||
Typischer Weise liegt der Wasserstand entweder (punktweise) am Knoten oder konstant im Polygon vor. | |||
===Knoten=== | |||
:: double Mesh2_node_water_level(time,nMesh2_node) ; | |||
::: Mesh2_node_water_level:standard_name = "'''sea_surface_height_above_geoid'''" ; | |||
::: Mesh2_node_water_level:long_name = "water level" ; | |||
::: Mesh2_node_water_level:units = "m" ; | |||
::: Mesh2_node_water_level:coordinates = "Mesh2_node_lon Mesh2_node_lat" ; | |||
::: Mesh2_node_water_level:_FillValue = ''fillvalue'' ; | |||
::: Mesh2_node_water_level:valid_range = ''valid minimum'', ''valid maximum'' | |||
::: Mesh2_node_water_level:cell_methods = "nMesh2_node: point" | |||
::: Mesh2_node_water_level:grid_mapping = "crs" | |||
===Polygon=== | |||
:: double Mesh2_poly_water_level(time,nMesh2_poly) ; | |||
::: Mesh2_poly_water_level:standard_name = "'''sea_surface_height_above_geoid'''" ; | |||
::: Mesh2_poly_water_level:long_name = "water level" ; | |||
::: Mesh2_poly_water_level:units = "m" ; | |||
::: Mesh2_poly_water_level:coordinates = "Mesh2_poly_lon Mesh2_poly_lat" ; | |||
::: Mesh2_poly_water_level:_FillValue = ''fillvalue'' ; | |||
::: Mesh2_poly_water_level:valid_range = ''valid minimum'', ''valid maximum'' | |||
::: Mesh2_poly_water_level:cell_methods = "nMesh2_poly: mean" | |||
::: Mesh2_poly_water_level:grid_mapping = "crs" | |||
===Zeitvariable Topografie (Code = 617)=== | ===Zeitvariable Topografie (Code = 617)=== |
Version vom 9. September 2010, 13:08 Uhr
Kurze Beschreibung
Synoptische Daten an Einzelpositionen.
An anderer Stelle beschriebene Inhalte
- NetCDF Dreiecksgitter: Koordinaten, Topologie und Koordinatentransformation;
- NetCDF Zeitkoordinate: Koordinatenvariable time;
- NetCDF Vertikalkoordinate: Vertikalkoordinate depth oder height:
- node_depth : Vertikalkoordinate für tiefenstrukturierte Daten an Knoten;
- edge_depth : Vertikalkoordinate für tiefenstrukturierte Daten an Kanten;
- poly_depth : Vertikalkoordinate für tiefenstrukturierte Daten an Polygonen.
Bemerkung: Es werden drei verschiedene Vertikalkoordinaten benötigt, da in jedem Attribut formula_terms verschiedene Variablen für Wasserstand und Boden eingesetzt werden müssen.
Dimensionen
Soweit nicht oben festgelegt, mommen noch folgende Dimensionen hinzu:
- dimensions:
Ergänzende Informationen für das numerische Verfahren
Kennzeichnung offener und geschlossener Kanten
- integer Mesh2_edge_type(nMesh2_edge) ;
- Mesh2_edge_type:standard_name = "???" ; \\ yet to be defined
- Mesh2_edge_type:long_name = "type of 2D mesh edges, closed or open" ;
- Mesh2_edge_type:coordinates = "Mesh2_edge_lon Mesh2_edge_lat" ;
- Mesh2_edge_type:_FillValue = fillvalue ;
- Mesh2_edge_type:valid_range = 0, 1 ;
- Mesh2_edge_type:valid_values = 0, 1 ;
- Mesh2_edge_type:flag_meanings = "closed_edge, open_edge"
- Mesh2_edge_type:grid_mapping = "crs"
- integer Mesh2_edge_type(nMesh2_edge) ;
Kennzeichnung von Positionen für die Randwertsteuerung
Text fehlt noch.
Aktuelle (zeitvariable) Topografie
Es werden nur die Angaben für zeitvariable Topografie gemacht. Bei stationärer Topografie entfällt die Dimension time.
Knoten
- double Mesh2_node_depth(time,nMesh2_node) ;
- Mesh2_node_depth:standard_name = "sea_floor_depth_below_geoid" ;
- Mesh2_node_depth:long_name = "sea floor depth at 2D mesh nodes" ;
- Mesh2_node_depth:units = "m" ;
- Mesh2_node_depth:coordinates = "Mesh2_node_lon Mesh2_node_lat" ;
- Mesh2_node_depth:_FillValue = fillvalue ;
- Mesh2_node_depth:valid_range = valid minimum, valid maximum ;
- Mesh2_node_depth:cell_methods = "nMesh2_node: point" \\ depth is pointwise
- Mesh2_node_depth:grid_mapping = "crs"
- double Mesh2_node_depth(time,nMesh2_node) ;
Kanten
- double Mesh2_edge_depth(time,nMesh2_edge) ;
- Mesh2_edge_depth:standard_name = "sea_floor_depth_below_geoid" ;
- Mesh2_edge_depth:long_name = "sea floor depth for 2D mesh edges" ;
- Mesh2_edge_depth:units = "m" ;
- Mesh2_edge_depth:coordinates = "Mesh2_edge_lon Mesh2_edge_lat" ;
- Mesh2_edge_depth:_FillValue = fillvalue ;
- Mesh2_edge_depth:valid_range = valid minimum, valid maximum ;
- Mesh2_edge_depth:cell_methods = "nMesh2_edge: mean" ; \\ depth is constant along edge
- Mesh2_edge_depth:grid_mapping = "crs"
- double Mesh2_edge_depth(time,nMesh2_edge) ;
Polygone
- double Mesh2_poly_depth(time,nMesh2_poly) ;
- Mesh2_poly_depth:standard_name = "sea_floor_depth_below_geoid" ;
- Mesh2_poly_depth:long_name = "sea floor depth for 2D mesh polygons" ;
- Mesh2_poly_depth:units = "m" ;
- Mesh2_poly_depth:coordinates = "Mesh2_node_lon Mesh2_node_lat" ;
- Mesh2_poly_depth:_FillValue = fillvalue ;
- Mesh2_poly_depth:valid_range = valid minimum, valid maximum ;
- Mesh2_poly_depth:cell_methods = "nMesh2_poly: mean" ; \\ depth is constant within polygon
- Mesh2_poly_depth:grid_mapping = "crs"
- double Mesh2_poly_depth(time,nMesh2_poly) ;
Maximal zulässige Tiefe
- Vollständig analog zu Aktuelle Tiefe vorgehen, jedoch ohne Dimension time.
- Vorschlag für die Namensgebung:
- Knoten: "Mesh2_node_max_depth(nMesh2_node)" ;
- Kanten: "Mesh2_edge_max_depth(nMesh2_edge)" ;
- Polygone: "Mesh2_poly_max_depth(nMesh2_poly)" .
Weitere Daten ohne Tiefenabhängigkeit
Wasserstand
Typischer Weise liegt der Wasserstand entweder (punktweise) am Knoten oder konstant im Polygon vor.
Knoten
- double Mesh2_node_water_level(time,nMesh2_node) ;
- Mesh2_node_water_level:standard_name = "sea_surface_height_above_geoid" ;
- Mesh2_node_water_level:long_name = "water level" ;
- Mesh2_node_water_level:units = "m" ;
- Mesh2_node_water_level:coordinates = "Mesh2_node_lon Mesh2_node_lat" ;
- Mesh2_node_water_level:_FillValue = fillvalue ;
- Mesh2_node_water_level:valid_range = valid minimum, valid maximum
- Mesh2_node_water_level:cell_methods = "nMesh2_node: point"
- Mesh2_node_water_level:grid_mapping = "crs"
- double Mesh2_node_water_level(time,nMesh2_node) ;
Polygon
- double Mesh2_poly_water_level(time,nMesh2_poly) ;
- Mesh2_poly_water_level:standard_name = "sea_surface_height_above_geoid" ;
- Mesh2_poly_water_level:long_name = "water level" ;
- Mesh2_poly_water_level:units = "m" ;
- Mesh2_poly_water_level:coordinates = "Mesh2_poly_lon Mesh2_poly_lat" ;
- Mesh2_poly_water_level:_FillValue = fillvalue ;
- Mesh2_poly_water_level:valid_range = valid minimum, valid maximum
- Mesh2_poly_water_level:cell_methods = "nMesh2_poly: mean"
- Mesh2_poly_water_level:grid_mapping = "crs"
- double Mesh2_poly_water_level(time,nMesh2_poly) ;
Zeitvariable Topografie (Code = 617)
- double node_water_level(time,node) ;
- node_depth:standard_name = "sea_floor_depth_below_geoid" ;
- node_depth:long_name = "sea floor depth" ;
- node_depth:units = "m" ;
- node_depth:coordinates = "node_long_name node_lon node_lat"
- node_depth:_FillValue = "fillvalue"
- node_depth:valid_range = "valid minimum, valid maximum"
- node_depth:grid_mapping = "crs"
- double node_water_level(time,node) ;
Gesamtwassertiefe (Code = 16)
- double node_water_depth(time,node) ;
- 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"
- double node_water_depth(time,node) ;
Variablen mit Tiefenabhängigkeit
Salzgehalt (Code = 5)
- double node_salinity(time,vedge) ;
- 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"
- double node_salinity(time,vedge) ;
Strömungsgeschwindigkeit, x-Komponente (Code = 14)
- double node_velocity_x(time,vedge) ;
- node_velocity_x:standard_name = "sea_water_x_velocity" ; \\ or better eastward_sea_water_velocity
- node_velocity_x:long_name = "current velocity in x-direction" ;
- 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"
- double node_velocity_x(time,vedge) ;
Strömungsgeschwindigkeit, y-Komponente (Code = 15)
- double node_velocity_y(time,vedge) ;
- node_velocity_y:standard_name = "sea_water_y_velocity" ; \\ or better northward_sea_water_velocity
- ... weitere Attribute analog zur x-Komponente der Strömungsgeschwindigkeit
- double node_velocity_y(time,vedge) ;
Strömungsgeschwindigkeit, z-Komponente (Code = 1029)
- double node_velocity_z(time,vedge) ;
- node_velocity_z:standard_name = "upward_sea_water_velocity" ;
- ... weitere Attribute analog zur x-Komponente der Strömungsgeschwindigkeit
- double node_velocity_z(time,vedge) ;
Schwebstoffgehalt, Gesamtmenge (Code = 7)
- double node_suspended_matter(time,vedge) ;
- node_suspended_matter:standard_name = "mass_concentration_of_suspended_matter_in_sea_water" ;
- 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"
- double node_suspended_matter(time,vedge) ;
Schwebstoffgehalt, Fraktionen (Code = 7)
- double node_suspended_matter_classes(suspension_classes,time,vedge) ;
- 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"
- double node_suspended_matter_classes(suspension_classes,time,vedge) ;
Hilfsfelder
Kompression von height und node
- integer vedge(vedge) ;
- vedge:compress="height node"
- integer vedge(vedge) ;
Bezeichnung der Schwebstoffklassen
- char suspended_matter_classes_long_name(suspension_classes,strlen1) ;
- suspended_matter_classes_long_name:long_name = "long name of suspension class"
- char suspended_matter_classes_long_name(suspension_classes,strlen1) ;
Anmerkungen, Fragen
- Datei ist vollständig CF-konform - keine Erweiterungen erforderlich!
zurück zu NetCDF