NetCDF Unstrukturiertes Gitter mit SubGrid
Aus BAWiki
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.
Die nachfolgende Beschreibung ist noch unvollständig. Es fehlen sowohl die Koordinaten als auch die topologischen Daten für die Plot-SubPolygone und Plot-SubKanten, sowie eventuell eine Topologievariable für das SubGrid.
Inhalt der Datei
Dimensionen
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Dimensionen".
- Zusätzlich zu den dort angegebenen Dimensionen werden noch benötigt:
- dimensions:
- nMesh2_subnode = number of sub grid nodes ;
- nMesh2_subedge = number of sub edges ;
- nMesh2_subpoly = number of sub polygons ;
- nMaxMesh2_edge_subedges = maximum number of sub edges along an edge ;
- nMaxMesh2_poly_subpolys = maximum number of sub polygons within a polygon ;
- nMaxMesh2_subpoly_subnodes = maximum number of nodes within a polygon ;
- dimensions:
Lokale Koordinaten
Berechnungsgitter
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Lokale Koordinaten".
- Alle Variablen können in identischer Weise deklariert werden.
SubGrid
SubKnoten
- double Mesh2_subnode_x(nMesh2_subnode) ;
- Mesh2_subnode_x:standard_name = "projection_x_coordinate" ;
- Mesh2_subnode_x:long_name = "x-coordinate of 2D mesh sub grid nodes" ;
- Mesh2_subnode_x:units = "m" ;
- double Mesh2_subnode_y(nMesh2_subnode) ;
- Mesh2_subnode_y:standard_name = "projection_y_coordinate" ;
- Mesh2_subnode_y:long_name = "y-coordinate of 2D mesh sub grid nodes" ;
- Mesh2_subnode_y:units = "m" ;
- double Mesh2_subnode_x(nMesh2_subnode) ;
SubKanten
- double Mesh2_subedge_x(nMesh2_subedge) ;
- Mesh2_subedge_x:standard_name = "projection_x_coordinate" ;
- Mesh2_subedge_x:long_name = "x-coordinate of 2D mesh sub grid edges, e.g. center of sub edge" ;
- Mesh2_subedge_x:units = "m" ;
- Mesh2_subedge_x:bounds = "Mesh2_subedge_x_bnd" \\ optional
- double Mesh2_subedge_y(nMesh2_subedge) ;
- Mesh2_subedge_y:standard_name = "projection_y_coordinate" ;
- Mesh2_subedge_y:long_name = "y-coordinate of 2D mesh sub grid edges, e.g. center of sub edge" ;
- Mesh2_subedge_y:units = "m" ;
- Mesh2_subedge_y:bounds = "Mesh2_subedge_y_bnd" \\ optional
- double Mesh2_subedge_x(nMesh2_subedge) ;
SubPolygone
- double Mesh2_subpoly_x(nMesh2_subpoly) ;
- Mesh2_subpoly_x:standard_name = "projection_x_coordinate" ;
- Mesh2_subpoly_x:long_name = "x-coordinate of 2D mesh sub polygons, e.g. any position within sub polygon" ;
- Mesh2_subpoly_x:units = "m" ;
- Mesh2_subpoly_x:bounds = "Mesh2_subpoly_x_bnd" \\ optional
- double Mesh2_subpoly_y(nMesh2_subpoly) ;
- Mesh2_subpoly_y:standard_name = "projection_y_coordinate" ;
- Mesh2_subpoly_y:long_name = "y-coordinate of 2D mesh sub polygons, e.g. any position within sub polygon" ;
- Mesh2_subpoly_y:units = "m" ;
- Mesh2_subpoly_y:bounds = "Mesh2_subpoly_y_bnd" \\ optional
- double Mesh2_subpoly_x(nMesh2_subpoly) ;
Begrenzung für SubKanten
- double Mesh2_subedge_x_bnd(nMesh2_subedge,Two) ; \\ no metadata required
- double Mesh2_subedge_y_bnd(nMesh2_subedge,Two) ; \\ no metadata required
Begrenzung für SubPolygone
- double Mesh2_subpoly_x_bnd(nMesh2_subpoly,nMaxMesh2_subpoly_subnodes) ; \\ no metadata required
- Mesh2_subpoly_x_bnd:_Fillvalue = fillvalue ; \\ for missing subnodes
- double Mesh2_subpoly_y_bnd(nMesh2_subpoly,nMaxMesh2_subpoly_subnodes) ; \\ no metadata required
- Mesh2_subpoly_y_bnd:_Fillvalue = fillvalue ; \\ for missing subnodes
- double Mesh2_subpoly_x_bnd(nMesh2_subpoly,nMaxMesh2_subpoly_subnodes) ; \\ no metadata required
Geografische Koordinaten
Berechnungsgitter
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Geografische Koordinaten".
- Alle Variablen können in identischer Weise deklariert werden.
SubGrid
SubKnoten
- double Mesh2_subnode_lon(nMesh2_subnode) ;
- Mesh2_subnode_lon:standard_name = "longitude" ;
- Mesh2_subnode_lon:long_name = "longitude of 2D mesh sub grid nodes" ;
- Mesh2_subnode_lon:units = "degrees_east" ;
- double Mesh2_subnode_lat(nMesh2_subnode) ;
- Mesh2_subnode_lat:standard_name = "latitude" ;
- Mesh2_subnode_lat:long_name = "latitude of 2D mesh sub grid nodes" ;
- Mesh2_subnode_lat:units = "degrees_north" ;
- double Mesh2_subnode_lon(nMesh2_subnode) ;
SubKanten
- double Mesh2_subedge_lon(nMesh2_subedge) ;
- Mesh2_subedge_lon:standard_name = "longitude" ;
- Mesh2_subedge_lon:long_name = "longitude of 2D mesh sub grid edges, e.g. center of sub edge" ;
- Mesh2_subedge_lon:units = "degrees_east" ;
- Mesh2_subedge_lon:bounds = "Mesh2_subedge_lon_bnd" \\ optional
- double Mesh2_subedge_lat(nMesh2_subedge) ;
- Mesh2_subedge_lat:standard_name = "latitude" ;
- Mesh2_subedge_lat:long_name = "latitude of 2D mesh sub grid edges, e.g. center of sub edge" ;
- Mesh2_subedge_lat:units = "degrees_north" ;
- Mesh2_subedge_lat:bounds = "Mesh2_subedge_lat_bnd" \\ optional
- double Mesh2_subedge_lon(nMesh2_subedge) ;
SubPolygone
- double Mesh2_subpoly_lon(nMesh2_subpoly) ;
- Mesh2_subpoly_lon:standard_name = "longitude" ;
- Mesh2_subpoly_lon:long_name = "longitude of 2D mesh sub polygons, e.g. any position within sub polygon" ;
- Mesh2_subpoly_lon:units = "degrees_east" ;
- Mesh2_subpoly_lon:bounds = "Mesh2_subpoly_lon_bnd" \\ optional
- double Mesh2_subpoly_lat(nMesh2_subpoly) ;
- Mesh2_subpoly_lat:standard_name = "latitude" ;
- Mesh2_subpoly_lat:long_name = "latitude of 2D mesh sub polygons, e.g. any position within sub polygon" ;
- Mesh2_subpoly_lat:units = "degrees_north" ;
- Mesh2_subpoly_lat:bounds = "Mesh2_subpoly_lat_bnd" \\ optional
- double Mesh2_subpoly_lon(nMesh2_subpoly) ;
(optional) Begrenzung für SubKanten
- double Mesh2_subedge_lon_bnd(nMesh2_subedge,Two) ; \\ no metadata required
- double Mesh2_subedge_lat_bnd(nMesh2_subedge,Two) ; \\ no metadata required
(optional) Begrenzung für SubPolygone
- double Mesh2_subpoly_lon_bnd(nMesh2_subpoly,nMaxMesh2_subpoly_subnodes) ; \\ no metadata required
- Mesh2_subpoly_lon_bnd:_Fillvalue = fillvalue ; \\ for missing subnodes
- double Mesh2_subpoly_lat_bnd(nMesh2_subpoly,nMaxMesh2_subpoly_subnodes) ; \\ no metadata required
- Mesh2_subpoly_lat_bnd:_Fillvalue = fillvalue ; \\ for missing subnodes
- double Mesh2_subpoly_lon_bnd(nMesh2_subpoly,nMaxMesh2_subpoly_subnodes) ; \\ no metadata required
Topologische Daten
Berechnungsgitter
Knotenverzeichnis der Kanten
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Knotenverzeichnis der Kanten"
- Die Variable kann in identischer Weise deklariert werden.
Knotenverzeichnis der Polygone
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Knotenverzeichnis der Polygone".
- Die Variable kann in identischer Weise deklariert werden.
Polygonverzeichnis der Kanten
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Polygonerzeichnis der Kanten".
- Die Variable kann in identischer Weise deklariert werden.
SubGrid
SubKantenverzeichnis der Kanten
- integer Mesh2_edge_subedges(nMesh2_edge,nMaxMesh2_edge_subedges) ;
- Mesh2_edge_subedges:standard_name = "???" \\ yet to be determined
- Mesh2_edge_subedges:long_name = "list of sub edges for all edges"
- Bemerkung: Indizes starten mit Null!
- integer Mesh2_edge_subedges(nMesh2_edge,nMaxMesh2_edge_subedges) ;
SubKnotenverzeichnis der SubPolygone
- integer Mesh2_subpoly_subnodes(nMesh2_subpoly,nMaxmesh2_subpoly_subnodes) ;
- Mesh2_subpoly_subnodes:standard_name = "???" \\ yet to be determined
- Mesh2_subpoly_subnodes:long_name = "list of sub nodes for all sub polygons, counterclockwise"
- Bemerkung: Indizes starten mit Null!
- integer Mesh2_subpoly_subnodes(nMesh2_subpoly,nMaxmesh2_subpoly_subnodes) ;
SubPolygonverzeichnis der SubKanten
Topologievariable
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Topologievariable".
- Die Variable kann in identischer Weise deklariert werden.
Koordinatentransformation
- Siehe NetCDF Unstrukturiertes Gitter, Abschnitt "Koordinatentransformation".
- Die Variable kann in identischer Weise deklariert werden.
Anmerkungen, Fragen
zurück zu NetCDF