Aktionen

NetCDF Unstrukturiertes Gitter mit SubGrid

Aus BAWiki

Version vom 18. Mai 2011, 11:53 Uhr von imported>Lang Guenther (→‎Geografische Koordinaten des Plot-Subgrid: Text für Geografische Koordinaten mit Link auf unstrukturiertes Gitter ergänzt)

Kurze Beschreibung

Ein aus beliebigen Polygonen (Dreiecke und Vierecke) aufgebautes Gitter wird beschrieben. Zusätzlich sind typische Daten des SubGrid vorhanden. Die Dateitypen hierfür sind utrsub_grid.dat (Berechnungsgitter mit SubGrid-Tiefenklassen) und pltsub_grid.upi (Hilfsgitter für Postprocessoren, Plot-SubGrid). Die Speicherung von Daten auf diesem Gitter, z. B. der Tiefe (Bathymetrie), wird an anderer Stelle beschrieben (siehe NetCDF Synoptische Daten im unstrukturierten Gitter mit SubGrid). 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

  1. nMesh2_node : Anzahl der Knoten.
  2. nMesh2_edge : Anzahl der Kanten.
  3. nMesh2_poly : Anzahl der Polygone.
  4. nMesh2_plot_subedges : Anzahl der Plot-Subkanten.
  5. nMesh2_plot_subpolys : Anzahl der Plot-Subpolygone.
  6. nMaxMesh2_poly_nodes : maximale Anzahl der Knoten/Kanten in einem Polygon.
  7. nMaxMesh2_plot_subedges : maximale Anzahl der Plot-Subkanten einer Kante.
  8. nMaxMesh2_plot_subpolys : maximale Anzahl der Plot-Subpolygone eines Polygons.
  9. nMaxMesh2_subpoly_subnodes : maximale Anzahl der Plot-Subknoten eines Plot-Subpolygons.
  10. two : Konstante ( = 2 ).

Hinweise:

  1. Plot-Subkanten und Plot-Subpolygone werden nur für die Visualisierung benötigt.
  2. Das Simulationsprogramm verwendet ausschließlich die korrespondierenden Tiefenklassen.
  3. Die Anzahl der Plot-Subkanten bzw. -Subpolygone kann größer oder gleich die Anzahl der entsprechenden Tiefenklassen sein.

Lokale Koordinaten

Die Beschreibung der lokalen Koordinaten des Berechnungsgitters stimmen mit derjenigen eines unstrukturierten Gitters ohne SubGrid überein. Siehe NetCDF Unstrukturiertes Gitter unter "Lokale Koordinaten".

Lokale Koordinaten des Plot-Subgrid

Kanten

double Mesh2_plot_subedge_x(nMesh2_plot_subedges) ;

Mesh2_plot_subedge_x:long_name = "x-Koordinate der Plot-SubKanten eines 2D-Gitters, Kantenmitte" ;
Mesh2_plot_subedge_x:units = "m" ;
Mesh2_plot_subedge_x:name_id = 1650 ;
Mesh2_plot_subedge_x:bounds = "Mesh2_plot_subedge_x_bnd" ;
Mesh2_plot_subedge_x:standard_name = "projection_x_coordinate" ;

double Mesh2_plot_subedge_y(nMesh2_plot_subedges) ;

Mesh2_plot_subedge_y:long_name = "y-Koordinate der Plot-SubKanten eines 2D-Gitters, Kantenmitte" ;
Mesh2_plot_subedge_y:units = "m" ;
Mesh2_plot_subedge_y:name_id = 1651 ;
Mesh2_plot_subedge_y:bounds = "Mesh2_plot_subedge_y_bnd" ;
Mesh2_plot_subedge_y:standard_name = "projection_y_coordinate" ;

Hinweise:

  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
  2. Das Attribut "bounds" verweist auf die Variable mit Anfangs- und Endkoordinaten aller Subkanten.

Polygone

double Mesh2_plot_subpoly_x(nMesh2_plot_subpolys) ;

Mesh2_plot_subpoly_x:long_name = "x-Koordinate der Plot-SubPolygone eines 2D-Gitters, irgendwo im Plot-SubPolygon" ;
Mesh2_plot_subpoly_x:units = "m" ;
Mesh2_plot_subpoly_x:name_id = 1650 ;
Mesh2_plot_subpoly_x:bounds = "Mesh2_plot_subpoly_x_bnd" ;
Mesh2_plot_subpoly_x:standard_name = "projection_x_coordinate" ;

double Mesh2_plot_subpoly_y(nMesh2_plot_subpolys) ;

Mesh2_plot_subpoly_y:long_name = "y-Koordinate der Plot-SubPolygone eines 2D-Gitters, irgendwo im Plot-SubPolygon" ;
Mesh2_plot_subpoly_y:units = "m" ;
Mesh2_plot_subpoly_y:name_id = 1651 ;
Mesh2_plot_subpoly_y:bounds = "Mesh2_plot_subpoly_y_bnd" ;
Mesh2_plot_subpoly_y:standard_name = "projection_y_coordinate" ;

Hinweise:

  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
  2. Es kann ein beliebiger, innerhalb des Polygons liegender Punkt gewählt werden.

(optional) Begrenzung für Kanten

double Mesh2_plot_subedge_x_bnd(nMesh2_plot_subedges, two) ;

double Mesh2_plot_subedge_y_bnd(nMesh2_plot_subedges, two) ;

(optional) Begrenzung für Polygone

double Mesh2_plot_subpoly_x_bnd(nMesh2_plot_subpolys, nMaxMesh2_subpoly_subnodes) ;

double Mesh2_plot_subpoly_y_bnd(nMesh2_plot_subpolys, nMaxMesh2_subpoly_subnodes) ;

Hinweise:

  1. Koordinaten der Knoten des Subpolygons entgegen dem Uhrzeigersinn angeben.
  2. Es dürfen keine ungültigen Koordinaten vorhanden sein.

Geografische Koordinaten

Die Beschreibung der geografischen Koordinaten des Berechnungsgitters stimmen mit derjenigen eines unstrukturierten Gitters ohne SubGrid überein. Siehe NetCDF Unstrukturiertes Gitter unter "Geografische Koordinaten".

Geografische Koordinaten des Plot-Subgrid

Kanten

double Mesh2_plot_subedge_lon(nMesh2_plot_subedges) ;

Mesh2_plot_subedge_lon:long_name = "geografische Laenge der Plot_SubKanten eines 2D-Gitters, Kantenmitte" ;
Mesh2_plot_subedge_lon:units = "degrees_east" ;
Mesh2_plot_subedge_lon:name_id = 1653 ;
Mesh2_plot_subedge_lon:bounds = "Mesh2_plot_subedge_lon_bnd" ;
Mesh2_plot_subedge_lon:standard_name = "longitude" ;

double Mesh2_plot_subedge_lat(nMesh2_plot_subedges) ;

Mesh2_plot_subedge_lat:long_name = "geografische Breite der Plot-SubKanten eines 2D-Gitters, Kantenmitte" ;
Mesh2_plot_subedge_lat:units = "degrees_north" ;
Mesh2_plot_subedge_lat:name_id = 1652 ;
Mesh2_plot_subedge_lat:bounds = "Mesh2_plot_subedge_lat_bnd" ;
Mesh2_plot_subedge_lat:standard_name = "latitude" ;

Hinweise:

  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
  2. Das Attribut "bounds" verweist auf die Variable mit Anfangs- und Endkoordinaten aller Subkanten.

Polygone

double Mesh2_plot_subpoly_lon(nMesh2_plot_subpolys) ;

Mesh2_plot_subpoly_lon:long_name = "geografische Laenge der Plot-SubPolygone eines 2D-Gitters, irgendwo im Plot-SubPolygon" ;
Mesh2_plot_subpoly_lon:units = "degrees_east" ;
Mesh2_plot_subpoly_lon:name_id = 1653 ;
Mesh2_plot_subpoly_lon:bounds = "Mesh2_plot_subpoly_lon_bnd" ;
Mesh2_plot_subpoly_lon:standard_name = "longitude" ;

double Mesh2_plot_subpoly_lat(nMesh2_plot_subpolys) ;

Mesh2_plot_subpoly_lat:long_name = "geografische Breite der Plot-SubPolygone eines 2D-Gitters, irgendwo im Plot-SubPolygon" ;
Mesh2_plot_subpoly_lat:units = "degrees_north" ;
Mesh2_plot_subpoly_lat:name_id = 1652 ;
Mesh2_plot_subpoly_lat:bounds = "Mesh2_plot_subpoly_lat_bnd" ;
Mesh2_plot_subpoly_lat:standard_name = "latitude" ;

Hinweise:

  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
  2. Es kann ein beliebiger, innerhalb des Polygons liegender Punkt gewählt werden.

(optional) Begrenzung für Kanten

double Mesh2_plot_subedge_lon_bnd(nMesh2_plot_subedges, two) ;

double Mesh2_plot_subedge_lat_bnd(nMesh2_plot_subedges, two) ;

(optional) Begrenzung für Polygone

double Mesh2_plot_subpoly_lon_bnd(nMesh2_plot_subpolys, nMaxMesh2_subpoly_subnodes) ;

double Mesh2_plot_subpoly_lat_bnd(nMesh2_plot_subpolys, nMaxMesh2_subpoly_subnodes) ;

Hinweise:

  1. Koordinaten der Knoten des Subpolygons entgegen dem Uhrzeigersinn angeben.
  2. Es dürfen keine ungültigen Koordinaten vorhanden sein.

Topologische Daten des Plot-Subgrid

Plot-Subkantenverzeichnis der Kanten

int Mesh2_edge_plot_subedges(nMesh2_edge, nMaxMesh2_plot_subedges) ;

Mesh2_edge_plot_subedges:long_name = "Plot-Subkantenverzeichnis der Kanten" ;
Mesh2_edge_plot_subedges:_FillValue = -999 ;

Hinweise:

  1. Ein Standardname sollte gelegentlich ergänzt werden.
  2. Indizes starten mit Null!

Plot-Subpolygonverzeichnis der Polygone

int Mesh2_poly_plot_subpolys(nMesh2_poly, nMaxMesh2_plot_subpolys) ;

Mesh2_poly_plot_subpolys:long_name = "Plot-Subpolygonverzeichnis der Polygone" ;
Mesh2_poly_plot_subpolys:_FillValue = -999 ;

Hinweise:

  1. Ein Standardname sollte gelegentlich ergänzt werden.
  2. Indizes starten mit Null!

Topologievariable

int Mesh2 ;

Mesh2:long_name = "UnTRIM Gitternetz, Drei- und Vierecke gemischt, mit SubGrid" ;
Mesh2:dimensionality = 2 ;
Mesh2:locations = "node edge poly subedge subpoly" ;
Mesh2:node_coordinates = "Mesh2_node_x Mesh2_node_y Mesh2_node_lon Mesh2_node_lat" ;
Mesh2:edge_coordinates = "Mesh2_edge_x Mesh2_edge_y Mesh2_edge_lon Mesh2_edge_lat" ;
Mesh2:poly_coordinates = "Mesh2_poly_x Mesh2_poly_y Mesh2_poly_lon Mesh2_poly_lat Mesh2_poly_center_x Mesh2_poly_center_y Mesh2_poly_center_lon Mesh2_poly_center_lat" ;
Mesh2:subedge_coordinates = "Mesh2_plot_subedge_x Mesh2_plot_subedge_y Mesh2_plot_subedge_lon Mesh2_plot_subedge_lat" ;
Mesh2:subpoly_coordinates = "Mesh2_plot_subpoly_x Mesh2_plot_subpoly_y Mesh2_plot_subpoly_lon Mesh2_plot_subpoly_lat" ;
Mesh2:poly_node_connectivity = "Mesh2_poly_nodes" ;
Mesh2:poly_edge_connectivity = "Mesh2_poly_edges" ;
Mesh2:edge_node_connectivity = "Mesh2_edge_nodes" ;
Mesh2:edge_poly_connectivity = "Mesh2_edge_polys" ;
Mesh2:poly_subpoly_connectivity = "Mesh2_poly_plot_subpolys" ;
Mesh2:edge_subedge_connectivity = "Mesh2_edge_plot_subedges" ;

Hinweise:

  1. Ein Standardname sollte gelegentlich ergänzt werden.
  2. Mit dem Attribut "locations" werden die für das Gitter relevanten Positionen registriert.
  3. In der Praxis müssen nicht alle Verknüpfungslisten (connectivity) angegeben werden, da manche Informationen redundant sind. Sie sollten aber angegeben werden können.
  4. Die orange markierten Bezeichnungen stellen Abweichungen bzw. Ergänzungen zu den Deltares-CF-Erweiterungen dar.

Anmerkungen


zurück zu NetCDF


Strukturübersicht