Aktionen

NetCDF Unstrukturiertes Gitter mit SubGrid: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(Sicherungskopie)
imported>Lang Guenther
(Sicherheitskopie)
Zeile 2: Zeile 2:
=Kurze Beschreibung=
=Kurze Beschreibung=


Unstrukturiertes Gitter mit zusätzlichen SubGrid-Informationen.
Ein aus beliebigen Polygonen - Dreiecke und Vierecke - aufgebautes Gitter wird beschrieben. Zusätzlich sind typische Daten des SubGrid vorhanden: SubGrid-Tiefenklassen der Kanten, SubGrid-Tiefenklassen der Polygone, Plot-SubKanten und Plot-SubPolygone. Der Dateityp hierfür ist [[UTRSUB_GRID.DAT|utrsub_grid.dat]].
Die Speicherung von Daten auf diesem Gitter, z. B. der Tiefe (Bathymetrie), wird an anderer Stelle
beschrieben (siehe [[NetCDF Synoptische Daten im Dreiecksgitter]]). Ebenso werden hier keine Informationen über offene und geschlossene Kanten oder Positionen zum Einsteuern von Randwerten aufgeführt. Es wird ausschließlich
die Struktur (Topologie) des Gitters beschrieben.
 
Die Beschreibung wurde vollständig für die ''staggered data'' Positionen ''node'', ''edge'' und ''poly'' gestaltet.


=Inhalt der Datei=
=Inhalt der Datei=
==Dimensionen==
==Dimensionen==


: dimensions:   
* Siehe [[NetCDF Unstrukturiertes Gitter#Dimensionen|NetCDF Unstrukturiertes Gitter, Abschnitt "Dimensionen"]].
:: nMesh2_node = ''number of nodes (vertices)'' ;
* Zusätzlich zu den dort angegebenen Dimensionen werden noch benötigt:
:: nMesh2_edge = ''number of edges'' ; 
*: dimensions:  
:: nMesh2_poly = ''number of polygons (triangles, quadrilaterals)'' ;
*:: <font color=blue>??????</font> = ''????'' ;
:: nMesh2_edge_subnode = ''number of subedge nodes for (visual) subedges'' ;
:: nMesh2_poly_subnode = ''number of subpoly nodes for (visual) subpolygons'' ;
:: nMesh2_subedge_classes = ''number of overall subedge depth classes'' ;
:: nMesh2_subpoly_classes = ''number of overall subpolygon depth classes'' ;


:: nMaxMesh2_poly_nodes = ''maximum number of nodes of a polygon'' ;
==Lokale Koordinaten==
:: nMaxMesh2_poly_edges = ''maximum number of edges of a polygon'' ;
:: nMaxMesh2_edge_subedge_classes = ''maximum number of subedge depth classes of an edge''
:: nMaxMesh2_poly_subpoly_classes = ''maximum number of subpolygon depth classes of a polygon''
:: Two = 2 ;


==Variablen== 
* Siehe [[NetCDF Unstrukturiertes Gitter#Lokale Koordinaten|NetCDF Unstrukturiertes Gitter, Abschnitt "Lokale Koordinaten"]].
* Alle Variablen können in identischer Weise deklariert werden.


===Lokale Koordinaten===
==Geografische Koordinaten==


====Knoten====
* Siehe [[NetCDF Unstrukturiertes Gitter#Geografische Koordinaten|NetCDF Unstrukturiertes Gitter, Abschnitt "Geografische Koordinaten"]].
:: double Mesh2_node_x(nMesh2_node) ;   
* Alle Variablen können in identischer Weise deklariert werden.
::: Mesh2_node_x:standard_name = "'''projection_x_coordinate'''" ;   
::: Mesh2_node_x:long_name = "x-coordinate of 2D mesh nodes" ;   
::: Mesh2_node_x:units = "m" ;
:: double Mesh2_node_y(nMesh2_node) ;   
::: Mesh2_node_y:standard_name = "'''projection_y_coordinate'''" ;   
::: Mesh2_node_y:long_name = "y-coordinate of 2D mesh nodes" ;   
::: Mesh2_node_y:units = "m" ;


====Kanten====
==Topologische Daten==
:: double Mesh2_edge_x(nMesh2_edge) ;   
::: Mesh2_edge_x:standard_name = "'''projection_x_coordinate'''" ;   
::: Mesh2_edge_x:long_name = "characteristic x-coordinate of 2D mesh edges, e.g. edge center" ;   
::: Mesh2_edge_x:units = "m" ;
:: double Mesh2_edge_y(nMesh2_edge) ;   
::: Mesh2_edge_y:standard_name = "'''projection_y_coordinate'''" ;   
::: Mesh2_edge_y:long_name = "characteristic y-coordinate of 2D mesh edges, e.g. edge center" ;   
::: Mesh2_edge_y:units = "m" ;


====Polygone====
===Knotenverzeichnis der Kanten===
:: double Mesh2_poly_x(nMesh2_poly) ;   
::: Mesh2_poly_x:standard_name = "'''projection_x_coordinate'''" ;   
::: Mesh2_poly_x:long_name = "characteristic x-coordinate of 2D mesh polygons, e.g. circumcenter" ;   
::: Mesh2_poly_x:units = "m" ;
:: double Mesh2_poly_y(nMesh2_poly) ;   
::: Mesh2_poly_y:standard_name = "'''projection_y_coordinate'''" ;   
::: Mesh2_poly_y:long_name = "characteristic y-coordinate of 2D mesh polygons, e.g. circumcenter" ;   
::: Mesh2_poly_y:units = "m" ;


====SubKnoten auf Kanten====
* Siehe [[NetCDF Unstrukturiertes Gitter#Knotenverzeichnis der Kanten|NetCDF Unstrukturiertes Gitter, Abschnitt "Knotenverzeichnis der Kanten"]]
:: double Mesh2_edge_subnode_x(nMesh2_edge_subnode) ;   
* Die Variable kann in identischer Weise deklariert werden.
::: Mesh2_edge_subnode_x:standard_name = "'''projection_x_coordinate'''" ;   
::: Mesh2_edge_subnode_x:long_name = "x-coordinate of 2D mesh subedge nodes" ;   
::: Mesh2_edge_subnode_x:units = "m" ;
:: double Mesh2_edge_subnode_y(nMesh2_edge_subnode) ;   
::: Mesh2_edge_subnode_y:standard_name = "'''projection_y_coordinate'''" ;   
::: Mesh2_edge_subnode_y:long_name = "y-coordinate of 2D mesh subedge nodes" ;   
::: Mesh2_edge_subnode_y:units = "m" ;


====SubKnoten in Polygonen====
===Knotenverzeichnis der Polygone===
:: double Mesh2_poly_subnode_x(nMesh2_poly_subnode) ;   
::: Mesh2_poly_subnode_x:standard_name = "'''projection_x_coordinate'''" ;   
::: Mesh2_poly_subnode_x:long_name = "x-coordinate of 2D mesh subpolygon nodes" ;   
::: Mesh2_poly_subnode_x:units = "m" ;
:: double Mesh2_poly_subnode_y(nMesh2_poly_subnode) ;   
::: Mesh2_poly_subnode_y:standard_name = "'''projection_y_coordinate'''" ;   
::: Mesh2_poly_subnode_y:long_name = "y-coordinate of 2D mesh subpolygon nodes" ;   
::: Mesh2_poly_subnode_y:units = "m" ;


===Geografische Koordinaten===
* Siehe [[NetCDF Dreiecksgitter#Knotenverzeichnis der Polygone|NetCDF Dreiecksgitter, Abschnitt "Knotenverzeichnis der Polygone"]].
* Die Variable muss wie folgt unterschiedlich deklariert werden:
*:: integer Mesh2_poly_nodes(nMesh2_poly,<font color=blue>nMaxMesh2_poly_nodes</font>) ;
*::: Mesh2_poly_nodes:standard_name = "'''???'''" ; \\ yet to be determined
*::: Mesh2_poly_nodes:long_name = "list of nodes for all polygons, counterclockwise" ;
*::: <font color=blue>Mesh2_poly_nodes:_FillValue = ''fillvalue'' \\ for non-existing nodes</font> ;
*:: ''Bemerkung: Indizes starten mit Null!''


====Knoten====
===Polygonverzeichnis der Kanten===
:: double Mesh2_node_lon(nMesh2_node) ;   
::: Mesh2_node_lon:standard_name = "'''longitude'''" ;   
::: Mesh2_node_lon:long_name = "longitude of 2D mesh nodes" ;   
::: Mesh2_node_lon:units = "degrees_east" ;   
:: double Mesh2_node_lat(nMesh2_node) ; 
::: Mesh2_node_lat:standard_name = "'''latitude'''" ;   
::: Mesh2_node_lat:long_name = "latitude of 2D mesh nodes" ;   
::: Mesh2_node_lat:units = "degrees_north" ;


====Kanten====
* Siehe [[NetCDF Dreiecksgitter#Polygonverzeichnis der Kanten|NetCDF Dreiecksgitter, Abschnitt "Polygonerzeichnis der Kanten"]].
:: double Mesh2_edge_lon(nMesh2_edge) ;   
* Die Variable kann in identischer Weise deklariert werden.
::: Mesh2_edge_lon:standard_name = "'''longitude'''" ;   
::: Mesh2_edge_lon:long_name = "characteristic longitude of 2D mesh edges, e.g. edge center" ;   
::: Mesh2_edge_lon:units = "degrees_east" ;   
:: double Mesh2_edge_lat(nMesh2_edge) ; 
::: Mesh2_edge_lat:standard_name = "'''latitude'''" ;   
::: Mesh2_edge_lat:long_name = "characteristic latitude of 2D mesh edges, e.g. edge center" ;   
::: Mesh2_edge_lat:units = "degrees_north" ;


====Polygone====
==Topologievariable==
:: double Mesh2_poly_lon(nMesh2_poly) ;   
::: Mesh2_poly_lon:standard_name = "'''longitude'''" ;   
::: Mesh2_poly_lon:long_name = "characteristic longitude of 2D mesh polygons, e.g. circumcenter" ;   
::: Mesh2_poly_lon:units = "degrees_east" ;   
:: double Mesh2_poly_lat(nMesh2_poly) ; 
::: Mesh2_poly_lat:standard_name = "'''latitude'''" ;   
::: Mesh2_poly_lat:long_name = "characteristic latitude of 2D mesh polygons, e.g. circumcenter" ;   
::: Mesh2_poly_lat:units = "degrees_north" ;


====SubKnoten auf Kanten====
* Siehe [[NetCDF Dreiecksgitter#Topologievariable|NetCDF Dreiecksgitter, Abschnitt "Topologievariable"]].
:: double Mesh2_edge_subnode_lon(nMesh2_edge_subnode) ;   
* Die Variable kann in identischer Weise deklariert werden.
::: Mesh2_edge_subnode_lon:standard_name = "'''longitude'''" ;   
::: Mesh2_edge_subnode_lon:long_name = "longitude of 2D mesh subedge nodes" ;   
::: Mesh2_edge_subnode_lon:units = "degrees_east" ;
:: double Mesh2_edge_subnode_lat(nMesh2_edge_subnode) ;   
::: Mesh2_edge_subnode_lat:standard_name = "'''latitude'''" ;   
::: Mesh2_edge_subnode_lat:long_name = "latitude of 2D mesh subedge nodes" ;   
::: Mesh2_edge_subnode_lat:units = "degrees_north" ;


====SubKnoten in Polygonen====
==Koordinatentransformation==
:: double Mesh2_poly_subnode_lon(nMesh2_poly_subnode) ;   
::: Mesh2_poly_subnode_lon:standard_name = "'''longitude'''" ;   
::: Mesh2_poly_subnode_lon:long_name = "longitude of 2D mesh subpolygon nodes" ;   
::: Mesh2_poly_subnode_lon:units = "degrees_east" ;
:: double Mesh2_poly_subnode_lat(nMesh2_poly_subnode) ;   
::: Mesh2_poly_subnode_lat:standard_name = "'''latitude'''" ;   
::: Mesh2_poly_subnode_lat:long_name = "latitude of 2D mesh subpolygon nodes" ;   
::: Mesh2_poly_subnode_lat:units = "degrees_north" ;


===Tiefe===
* Siehe [[NetCDF Dreiecksgitter#Koordinatentransformation|NetCDF Dreiecksgitter, Abschnitt "Koordinatentransformation"]].
 
* Die Variable kann in identischer Weise deklariert werden.
====Knoten====
:: double Mesh2_node_depth(nMesh2_node) ;
::: Mesh2_node_depth:standard_name = "'''sea_floor_depth_below_geoid'''" ;   
::: Mesh2_node_depth:long_name = "sea floor depth of 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:grid_mapping = "crs"
 
===SubGrid Tiefenklassen===
 
====Kanten====
:: double Mesh2_edge_subedge_depth_classes(nMesh2_edge,nMaxMesh2_edge_subedge_classes) ;
::: Mesh2_edge_subedge_depth_classes:standard_name = "'''sea_floor_depth_below_geoid'''" ;   
::: Mesh2_edge_subedge_depth_classes:long_name = "sea floor depth of 2D mesh subedge depth classes" ;   
::: Mesh2_edge_subedge_depth_classes:units = "m" ;
::: Mesh2_edge_subedge_depth_classes:coordinates = "Mesh2_edge_lon Mesh2_edge_lat"
::: Mesh2_edge_subedge_depth_classes:_FillValue = "''fillvalue''"
::: Mesh2_edge_subedge_depth_classes:valid_range = "''valid minimum'', ''valid maximum''"
::: Mesh2_edge_subedge_depth_classes:grid_mapping = "crs"
 
====Polygone====
:: double Mesh2_poly_subpoly_depth_classes(nMesh2_poly,nMaxMesh2_poly_subpoly_classes) ;
::: Mesh2_edge_subpoly_depth_classes:standard_name = "'''sea_floor_depth_below_geoid'''" ;   
::: Mesh2_edge_subpoly_depth_classes:long_name = "sea floor depth of 2D mesh subpolygon depth classes" ;   
::: Mesh2_edge_subpoly_depth_classes:units = "m" ;
::: Mesh2_edge_subpoly_depth_classes:coordinates = "Mesh2_poly_lon Mesh2_poly_lat"
::: Mesh2_edge_subpoly_depth_classes:_FillValue = "''fillvalue''"
::: Mesh2_edge_subpoly_depth_classes:valid_range = "''valid minimum'', ''valid maximum''"
::: Mesh2_edge_subpoly_depth_classes:grid_mapping = "crs"
 
===Topologie===
 
====Knotenverzeichnis der Polygone====
:: integer Mesh2_poly_nodes(nMesh2_poly,nMaxMesh2_poly_nodes)
::: Mesh2_poly_nodes:standard_name = "'''???'''" ; \\ yet to be determined   
::: Mesh2_poly_nodes:long_name = "list of 2D mesh nodes for all 2D mesh polygons" ;   
::: Mesh2_poly_nodes:_FillValue = "''fillvalue''" \\ indicates missing nodes
::: Mesh2_poly_nodes:valid_range = "''valid minimum'', ''valid maximum''"
 
====Kantenverzeichnis der Polygone====
:: integer Mesh2_poly_edges(nMesh2_poly,nMaxMesh2_poly_edges)
::: Mesh2_poly_edges:standard_name = "'''???'''" ; \\ yet to be determined   
::: Mesh2_poly_edges:long_name = "list of 2D mesh edges for all 2D mesh polygons" ;   
::: Mesh2_poly_edges:_FillValue = "''fillvalue''" \\ indicates missing edges
::: Mesh2_poly_edges:valid_range = "''valid minimum'', ''valid maximum''"
 
====Knotenverzeichnis der Kanten====
:: integer Mesh2_edge_nodes(nMesh2_edge,Two)
::: Mesh2_edge_nodes:standard_name = "'''???'''" ; \\ yet to be determined   
::: Mesh2_edge_nodes:long_name = "list of 2D mesh nodes for all 2D mesh edges, start node - end node" ;
::: Mesh2_edge_nodes:_FillValue = "''fillvalue''" \\ indicates missing nodes 
::: Mesh2_edge_nodes:valid_range = "''valid minimum'', ''valid maximum''"
 
''Bemerkung: Könnte aus dem Kantenverzeichnis der Polygone sowie dem Knotenverzeichnis der Polygone abgeleitet werden.''
 
====Polygonverzeichnis der Kanten====
:: integer Mesh2_edge_polys(nMesh2_edge,Two)
::: Mesh2_edge_polys:standard_name = "'''???'''" ; \\ yet to be determined   
::: Mesh2_edge_polys:long_name = "list of 2D mesh polygons for all 2D mesh edges, left polygon - right polygon" ;
::: Mesh2_edge_polys:_FillValue = "''fillvalue''" \\ indicates missing polygons 
::: Mesh2_edge_polys:valid_range = "''valid minimum'', ''valid maximum''"
 
''Bemerkung: Könnte aus dem Kantenverzeichnis der Polygone sowie dem Knotenverzeichnis der Polygone abgeleitet werden.''
 
===Topologievariable===
 
===Koordinatentransformation===
 
:: integer crs ;
::: crs:grid_mapping_name = "'''transverse_mercator'''" ;
::: crs:scale_factor_at_central_merdian = ''value'' ;
::: crs:longitude_of_central_meridian = ''value'' ;
::: crs:latitude_of_projection_origin = ''value'' ;
::: crs:false_easting = ''value'' ;
::: crs:false_northing = ''value'' ;
 
==Globale Attribute==


=Anmerkungen, Fragen=
=Anmerkungen, Fragen=
 
* Siehe [[NetCDF Dreiecksgitter#Anmerkungen, Fragen|NetCDF Dreiecksgitter, Abschnitt "Anmerkungen, Fragen"]].
* Datei ist vollständig CF-konform - keine Erweiterungen erforderlich!
----
----
zurück zu [[NetCDF]]
zurück zu [[NetCDF]]
----
----
[[Strukturübersicht]]
[[Strukturübersicht]]

Version vom 10. September 2010, 11:04 Uhr

Kurze Beschreibung

Ein aus beliebigen Polygonen - Dreiecke und Vierecke - aufgebautes Gitter wird beschrieben. Zusätzlich sind typische Daten des SubGrid vorhanden: SubGrid-Tiefenklassen der Kanten, SubGrid-Tiefenklassen der Polygone, Plot-SubKanten und Plot-SubPolygone. Der Dateityp hierfür ist utrsub_grid.dat. Die Speicherung von Daten auf diesem Gitter, z. B. der Tiefe (Bathymetrie), wird an anderer Stelle beschrieben (siehe NetCDF Synoptische Daten im Dreiecksgitter). Ebenso werden hier keine Informationen über offene und geschlossene Kanten oder Positionen zum Einsteuern von Randwerten aufgeführt. Es wird ausschließlich die Struktur (Topologie) des Gitters beschrieben.

Die Beschreibung wurde vollständig für die staggered data Positionen node, edge und poly gestaltet.

Inhalt der Datei

Dimensionen

Lokale Koordinaten

Geografische Koordinaten

Topologische Daten

Knotenverzeichnis der Kanten

Knotenverzeichnis der Polygone

  • Siehe NetCDF Dreiecksgitter, Abschnitt "Knotenverzeichnis der Polygone".
  • Die Variable muss wie folgt unterschiedlich deklariert werden:
    integer Mesh2_poly_nodes(nMesh2_poly,nMaxMesh2_poly_nodes) ;
    Mesh2_poly_nodes:standard_name = "???" ; \\ yet to be determined
    Mesh2_poly_nodes:long_name = "list of nodes for all polygons, counterclockwise" ;
    Mesh2_poly_nodes:_FillValue = fillvalue \\ for non-existing nodes ;
    Bemerkung: Indizes starten mit Null!

Polygonverzeichnis der Kanten

Topologievariable

Koordinatentransformation

Anmerkungen, Fragen


zurück zu NetCDF


Strukturübersicht