NetCDF Profile: Unterschied zwischen den Versionen
Aus BAWiki
imported>Lang Guenther (→Kanten: Text aktualisiert) |
imported>Lang Guenther (→Kanten: Profile ergänzt) |
||
Zeile 46: | Zeile 46: | ||
Hinweise: | Hinweise: | ||
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen. | # Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen. | ||
===Profile=== | |||
double Mesh1_prof_x(nMesh1_prof) ; | |||
: Mesh1_prof_x:long_name = "x-Koordinate der Profilhauptpunkte" ; | |||
: Mesh1_prof_x:units = "m" ; | |||
: Mesh1_prof_x:name_id = 1650 ; | |||
: Mesh1_prof_x:standard_name = "projection_x_coordinate" ; | |||
double Mesh1_prof_y(nMesh1_prof) ; | |||
: Mesh1_prof_y:long_name = "y-Koordinate der Profilhauptpunkte" ; | |||
: Mesh1_prof_y:units = "m" ; | |||
: Mesh1_prof_y:name_id = 1651 ; | |||
: Mesh1_prof_y:standard_name = "projection_y_coordinate" ; | |||
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen. | |||
# Ist bei Querprofilen zumeist der Schnittpunkt mit einem Längsprofil, falls vorhanden. Oder aber der am tiefsten liegende Punkt eines Profils. | |||
===(optional) Begrenzung für Kanten=== | ===(optional) Begrenzung für Kanten=== |
Version vom 18. Mai 2011, 13:28 Uhr
Kurze Beschreibung
Es wird die Lage mehrerer Profile beschrieben.
SubGrid-Informationen werden in diesem Entwurf nicht berücksichtigt.
Inhalt der Datei
Dimensionen
- nMesh1_node : Anzahl der Knoten.
- nMesh1_edge : Anzahl der Kanten.
- nMesh1_prof : Anzahl der Profile (Längs- und Querprofile).
- nMaxMesh1_prof_edges : maximale Anzahl der Kanten in einem Profil.
- Two : konstante Dimension ( = 2 ).
Lokale Koordinaten
Knoten
double Mesh1_node_x(nMesh1_node) ;
- Mesh1_node_x:long_name = "x-Koordinate der Profilpunkte" ;
- Mesh1_node_x:units = "m" ;
- Mesh1_node_x:name_id = 1650 ;
- Mesh1_node_x:standard_name = "projection_x_coordinate" ;
double Mesh1_node_y(nMesh1_node) ;
- Mesh1_node_y:long_name = "y-Koordinate der Profilpunkte" ;
- Mesh1_node_y:units = "m" ;
- Mesh1_node_y:name_id = 1651 ;
- Mesh1_node_y:standard_name = "projection_y_coordinate" ;
Hinweise:
- Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
Kanten
double Mesh1_edge_x(nMesh1_edge) ;
- Mesh1_edge_x:long_name = "x-Koordinate der Profilkanten, Kantenmitte" ;
- Mesh1_edge_x:units = "m" ;
- Mesh1_edge_x:name_id = 1650 ;
- Mesh1_edge_x:bounds = "Mesh1_edge_x_bnd" ;
- Mesh1_edge_x:standard_name = "projection_x_coordinate" ;
double Mesh1_edge_y(nMesh1_edge) ;
- Mesh1_edge_y:long_name = "y-Koordinate der Profilkanten, Kantenmitte" ;
- Mesh1_edge_y:units = "m" ;
- Mesh1_edge_y:name_id = 1651 ;
- Mesh1_edge_y:bounds = "Mesh1_edge_y_bnd" ;
- Mesh1_edge_y:standard_name = "projection_y_coordinate" ;
Hinweise:
- Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
Profile
double Mesh1_prof_x(nMesh1_prof) ;
- Mesh1_prof_x:long_name = "x-Koordinate der Profilhauptpunkte" ;
- Mesh1_prof_x:units = "m" ;
- Mesh1_prof_x:name_id = 1650 ;
- Mesh1_prof_x:standard_name = "projection_x_coordinate" ;
double Mesh1_prof_y(nMesh1_prof) ;
- Mesh1_prof_y:long_name = "y-Koordinate der Profilhauptpunkte" ;
- Mesh1_prof_y:units = "m" ;
- Mesh1_prof_y:name_id = 1651 ;
- Mesh1_prof_y:standard_name = "projection_y_coordinate" ;
- Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
- Ist bei Querprofilen zumeist der Schnittpunkt mit einem Längsprofil, falls vorhanden. Oder aber der am tiefsten liegende Punkt eines Profils.
(optional) Begrenzung für Kanten
double Mesh1_edge_x_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
double Mesh1_edge_y_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
Geografische Koordinaten
Knoten
double Mesh1_node_lon(nMesh1_node) ;
- Mesh1_node_lon:long_name = "longitude of 1D network node" ;
- Mesh1_node_lon:units = "degrees_east" ;
- Mesh1_node_lon:name_id = 1653 ;
- Mesh1_node_lon:standard_name = "longitude" ;
double Mesh1_node_lat(nMesh1_node) ;
- Mesh1_node_lat:standard_name = "latitude" ;
- Mesh1_node_lat:long_name = "latitude of 1D network node" ;
- Mesh1_node_lat:units = "degrees_north" ;
- Mesh1_node_lat:name_id = 1652 ;
- Mesh1_node_lat:standard_name = "latitude" ;
Hinweise:
- Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
Kanten
double Mesh1_edge_lon(nMesh1_edge) ;
- Mesh1_edge_lon:long_name = "longitude of 1D network edge, e.g. center of edge" ;
- Mesh1_edge_lon:units = "degrees_east" ;
- Mesh1_node_lon:name_id = 1653 ;
- Mesh1_edge_lon:standard_name = "longitude" ;
double Mesh1_edge_lat(nMesh1_edge) ;
- Mesh1_edge_lat:long_name = "latitude of 1D network edge, e.g. center of edge" ;
- Mesh1_edge_lat:units = "degrees_north" ;
- Mesh1_node_lat:name_id = 1652 ;
- Mesh1_edge_lat:standard_name = "latitude" ;
Hinweise:
- Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
(optional) Begrenzung für Kanten
double Mesh1_edge_lon_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
double Mesh1_edge_lat_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
Topologische Daten
Knotenverzeichnis der Kanten
integer Mesh1_edge_nodes(nMesh1_edge,Two) ;
- Mesh1_edge_nodes:standard_name = "???" ; \\ yet to be determined
- Mesh1_edge_nodes:long_name = "list of nodes for all edges, start node - end node" ;
Hinweise:
- Indizes starten mit Null!
- Ist Teil der Struktur "geo_profile_segment" in Paket P_GRID.
Kantenverzeichnis der Profile
integer Mesh1_prof_edges(nMesh1_prof,nMaxMesh1_prof_edges) ;
- Mesh1_prof_edges:standard_name = "???" ; \\ yet to be determined
- Mesh1_prof_edges:long_name = "list of edges for all profiles" ;
- Mesh1_prof_edges:_FillValue = fillvalue ; \\ indicates missing edges
Hinweise:
- Indizes starten mit Null!
- Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.
- Einzelne Kanten dürfen mehrfach in (verschiedenen) Listen auftauchen.
- Bei stark unterschiedlichen Profillängen ggf. NetCDF Kompression von Daten durch Aufsammeln nutzen.
- Ist Teil der Struktur "geo_profile_segment" in Paket P_GRID. Die laufende Nummer des Segments, wie auch die Verweise auf die benachbarten Segmente werden nicht nach NetCDF geschrieben. Diese Informationen müssen nach dem Lesen dynamisch ermittelt werden.
Topologievariable
integer Mesh1 ;
- Mesh1:standard_name = "???" ; \\ yet to be determined
- Mesh1:long_name = "name of (profile) grid can be stored here" ;
- Mesh1:dimensionality = 1 ; \\ network
- Mesh1:locations = "node edge prof" ; \\ profile is an additional location
- Mesh1:node_coordinates = "Mesh1_node_lon Mesh1_node_lat" ;
- Mesh1:edge_coordinates = "Mesh1_edge_lon Mesh1_node_lat" ;
- Mesh1:prof_coordinates = "" ; \\ should be available for optional use only
- Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;
- Mesh1:prof_edge_connectivity = "Mesh1_prof_edges" ;
Hinweise:
- Die orange markierten Bezeichnungen stellen Abweichungen bzw. Ergänzungen zu den Deltares-CF-Erweiterungen dar.
- Profil prof als zusätzliche Lokation erforderlich, um die Konnektivitätsliste für die verschiedenen Profile in der bestehenden Systematik für die Namensgebung der Attribute ausdrücken zu können.
- prof_coordinates wird in vielen Fällen leer bleiben.
Koordinatentransformation
Siehe unter NetCDF Grid Mapping Variable.
Anmerkungen, Fragen
- Datei nutzt Deltares-CF-Erweiterungen sowie orange markierte Abweichungen in der Topologievariablen.
- Ob repräsentative Koordinaten für Profile erforderlich sind, muss noch geprüft werden.
zurück zu NetCDF