NetCDF Dreiecksgitter
Aus BAWiki
Kurze Beschreibung
Ein aus Dreiecken aufgebautes Gitter wird beschrieben. Typische Dateitypen hierfür sind z. B. gitter05.dat und gitter05.bin sowie selafin. Die Speicherung von Daten auf diesem Gitter, also z. B. auch der Tiefe, wird an anderer Stelle beschrieben.
Inhalt der Datei
Dimensionen
- dimensions:
- nMesh2_node = number of nodes (vertices) ;
- nMesh2_edge = number of edges ;
- nMesh2_poly = number of polygons (triangles) ;
- Two = 2 ; \\ constant dimension
- Three = 3 ; \\ constant dimension
Variablen
Lokale Koordinaten
Knoten
- double Mesh2_node_x(nMesh2_node) ;
- 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" ;
- double Mesh2_node_x(nMesh2_node) ;
Kanten
- double Mesh2_edge_x(nMesh2_edge) ;
- Mesh2_edge_x:standard_name = "projection_x_coordinate" ;
- Mesh2_edge_x:long_name = "x-coordinate of 2D mesh edges, e.g. center of edge" ;
- Mesh2_edge_x:units = "m" ;
- double Mesh2_edge_y(nMesh2_edge) ;
- Mesh2_edge_y:standard_name = "projection_y_coordinate" ;
- Mesh2_edge_y:long_name = "y-coordinate of 2D mesh polygons, e.g. center of edge" ;
- Mesh2_edge_y:units = "m" ;
- double Mesh2_edge_x(nMesh2_edge) ;
Polygone
- double Mesh2_poly_x(nMesh2_poly) ;
- Mesh2_poly_x:standard_name = "projection_x_coordinate" ;
- Mesh2_poly_x:long_name = "x-coordinate of 2D mesh polygons, e.g. center of gravity" ;
- Mesh2_poly_x:units = "m" ;
- double Mesh2_poly_y(nMesh2_poly) ;
- Mesh2_poly_y:standard_name = "projection_y_coordinate" ;
- Mesh2_poly_y:long_name = "y-coordinate of 2D mesh polygons, e.g. center of gravity" ;
- Mesh2_poly_y:units = "m" ;
- double Mesh2_poly_x(nMesh2_poly) ;
Geografische Koordinaten
Knoten
- 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" ;
- double Mesh2_node_lon(nMesh2_node) ;
Kanten
- double Mesh2_edge_lon(nMesh2_edge) ;
- Mesh2_edge_lon:standard_name = "longitude" ;
- Mesh2_edge_lon:long_name = "longitude of 2D mesh edges, e.g. center of edge" ;
- Mesh2_edge_lon:units = "degrees_east" ;
- double Mesh2_edge_lat(nMesh2_edge) ;
- Mesh2_edge_lat:standard_name = "latitude" ;
- Mesh2_edge_lat:long_name = "latitude of 2D mesh edges, e.g. center of edge" ;
- Mesh2_edge_lat:units = "degrees_north" ;
- double Mesh2_edge_lon(nMesh2_edge) ;
Polygone
- double Mesh2_poly_lon(nMesh2_poly) ;
- Mesh2_poly_lon:standard_name = "longitude" ;
- Mesh2_poly_lon:long_name = "longitude of 2D mesh polygons, e.g. center of gravity" ;
- Mesh2_poly_lon:units = "degrees_east" ;
- double Mesh2_poly_lat(nMesh2_node) ;
- Mesh2_poly_lat:standard_name = "latitude" ;
- Mesh2_poly_lat:long_name = "latitude of 2D mesh polygons, e.g. center of gravity" ;
- Mesh2_poly_lat:units = "degrees_north" ;
- double Mesh2_poly_lon(nMesh2_poly) ;
Topologische Daten
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 nodes for all edges, start node - end node"
- integer Mesh2_edge_nodes(nMesh2_edge,Two) ;
Knotenverzeichnis der Polygone
- integer Mesh2_poly_nodes(nMesh2_poly,Three) ;
- Mesh2_poly_nodes:standard_name = "???" \\ yet to be determined
- Mesh2_poly_nodes:long_name = "list of nodes for all polygons, counterclockwise"
- integer Mesh2_poly_nodes(nMesh2_poly,Three) ;
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 (adjacent) polygons for all edges - left and right neigbour polygon"
- Mesh2_edge_polys:_FillValue = "fillvalue"" \\ indicates missing neighbour polygon, e.g. at domain boundaries
- integer Mesh2_edge_polys(nMesh2_edge,Two) ;
Topologievariable
- integer Mesh2 ;
- Mesh2:standard_name = "???" \\ yet to be determined ;
- Mesh2:long_name = "could be used to store a name for the grid" ;
- Mesh2:dimensionality = 2 ; \\ flat mesh, no three-dimensional elements;
- Mesh2:locations = "node edge poly" \\ data can be assigned to these locations ;
- Mesh2:node_coordinates = "Mesh2_node_lon Mesh2_node_lat" ;
- Mesh2:edge_coordinates = "Mesh2_edge_lon Mesh2_edge_lat" ;
- Mesh2:poly_coordinates = "Mesh2_poly_lon Mesh2_poly_lat" ;
- Mesh2:poly_node_connectivity = "Mesh2_poly_nodes" ;
- Mesh2:edge_node_connectivity = "Mesh2_edge_nodes" ;
- Mesh2:edge_poly_connectivity = "Mesh2_edge_polys" ; \\ different name used compared Deltares
- integer Mesh2 ;
Koordinatentransformation
- integer crs ; \\ value is equivalent to the EPSG code of the transformation
- 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 ;
- integer crs ; \\ value is equivalent to the EPSG code of the transformation
Globale Attribute
Anmerkungen, Fragen
- Datei ist vollständig CF-konform - keine Erweiterungen erforderlich!
- Wie unterscheiden wir aktuelle Tiefe und nicht weiter erodierbare Tiefe? Neuer standard_name erforderlich?
- 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 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.
zurück zu NetCDF