NetCDF Profile: Unterschied zwischen den Versionen
Aus BAWiki
imported>Spohr Susanne (Profilzugriff jetzt ueber Namensverzeichnis) |
imported>Spohr Susanne KKeine Bearbeitungszusammenfassung |
||
Zeile 119: | Zeile 119: | ||
int Mesh1_edge_nodes(nMesh1_edge, two) ; | int Mesh1_edge_nodes(nMesh1_edge, two) ; | ||
: Mesh1_edge_nodes:long_name = "Knotenverzeichnis der Profilkanten, Anfangs- und Endpunkt" ; | : Mesh1_edge_nodes:long_name = "Knotenverzeichnis der Profilkanten, Anfangs- und Endpunkt" ; | ||
: Mesh1_edge_nodes:comment = "Indizes starten mit Null!" ; | |||
Hinweise: | Hinweise: | ||
# Indizes starten mit Null! | # Indizes starten mit Null! | ||
Zeile 135: | Zeile 136: | ||
: Mesh1_prof_edges:long_name = "Kantenverzeichnis der Profile, vom Anfang zum Ende sortiert" ; | : Mesh1_prof_edges:long_name = "Kantenverzeichnis der Profile, vom Anfang zum Ende sortiert" ; | ||
: Mesh1_prof_edges:_FillValue = -999 ; | : Mesh1_prof_edges:_FillValue = -999 ; | ||
: Mesh1_prof_edges:comment = "Indizes starten mit Null!" ; | |||
Hinweise: | Hinweise: | ||
# Indizes starten mit Null! | # Indizes starten mit Null! | ||
Zeile 147: | Zeile 149: | ||
: Mesh1_prof_nodes:long_name = "Knotenverzeichnis der Profile, vom Anfang zum Ende sortiert" ; | : Mesh1_prof_nodes:long_name = "Knotenverzeichnis der Profile, vom Anfang zum Ende sortiert" ; | ||
: Mesh1_prof_nodes:_FillValue = -999 ; | : Mesh1_prof_nodes:_FillValue = -999 ; | ||
: Mesh1_prof_nodes:comment = "Indizes starten mit Null!" ; | |||
Hinweise: | Hinweise: | ||
# Indizes starten mit Null! | # Indizes starten mit Null! |
Version vom 9. September 2011, 14:08 Uhr
Kurze Beschreibung
Es wird die Lage mehrerer (Längs- und Quer-) Profile beschrieben.
Inhalt der Datei
Dimensionen
- nMesh1_node : Anzahl der Profilknoten.
- nMesh1_edge : Anzahl der Profilkanten.
- nMesh1_prof : Anzahl der Profile (Längs- und Querprofile).
- nMesh1_geopos : Anzahl der Geopositionen.
- nMaxMesh1_prof_edges : maximale Anzahl der Kanten in einem Profil.
- nMaxMesh1_prof_nodes : maximale Anzahl der Knoten auf 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.
Geopositionen
double Mesh1_geopos_x(nMesh1_geopos) ;
- Mesh1_geopos_x:long_name = "x-Koordinate der Geopositionen" ;
- Mesh1_geopos_x:units = "m" ;
- Mesh1_geopos_x:name_id = 1650 ;
- Mesh1_geopos_x:standard_name = "projection_x_coordinate" ;
double Mesh1_geopos_y(nMesh1_geopos) ;
- Mesh1_geopos_y:long_name = "y-Koordinate der Geopositionen" ;
- Mesh1_geopos_y:units = "m" ;
- Mesh1_geopos_y:name_id = 1651 ;
- Mesh1_geopos_y:standard_name = "projection_y_coordinate" ;
Hinweise:
- Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
(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 = "geografische Laenge der Profilpunkte" ;
- 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:long_name = "geografische Breite der Profilpunkte" ;
- Mesh1_node_lat:units = "degrees_north" ;
- Mesh1_node_lat:name_id = 1652 ;
- Mesh1_node_lat:standard_name = "latitude" ;
Hinweise: Wie für Lokale Koordinaten - Knoten.
Kanten
double Mesh1_edge_lon(nMesh1_edge) ;
- Mesh1_edge_lon:long_name = "geografische Laenge der Profilkanten, Kantenmitte" ;
- Mesh1_edge_lon:units = "degrees_east" ;
- Mesh1_edge_lon:name_id = 1653 ;
- Mesh1_edge_lon:bounds = "Mesh1_edge_lon_bnd" ;
- Mesh1_edge_lon:standard_name = "longitude" ;
double Mesh1_edge_lat(nMesh1_edge) ;
- Mesh1_edge_lat:long_name = "geografische Breite der Profilkanten, Kantenmitte" ;
- Mesh1_edge_lat:units = "degrees_north" ;
- Mesh1_edge_lat:name_id = 1652 ;
- Mesh1_edge_lat:bounds = "Mesh1_edge_lat_bnd" ;
- Mesh1_edge_lat:standard_name = "latitude" ;
Hinweise: Wie für Lokale Koordinaten - Kanten.
Geopositionen
double Mesh1_geopos_lon(nMesh1_geopos) ;
- Mesh1_geopos_lon:long_name = "geografische Laenge der Geopositionen" ;
- Mesh1_geopos_lon:units = "degrees_east" ;
- Mesh1_geopos_lon:name_id = 1653 ;
- Mesh1_geopos_lon:standard_name = "longitude" ;
double Mesh1_geopos_lat(nMesh1_geopos) ;
- Mesh1_geopos_lat:long_name = "geografische Breite der Geopositionen" ;
- Mesh1_geopos_lat:units = "degrees_north" ;
- Mesh1_geopos_lat:name_id = 1652 ;
- Mesh1_geopos_lat:standard_name = "latitude" ;
Hinweise: Wie für Lokale Koordinaten - Geopositionen.
(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
int Mesh1_edge_nodes(nMesh1_edge, two) ;
- Mesh1_edge_nodes:long_name = "Knotenverzeichnis der Profilkanten, Anfangs- und Endpunkt" ;
- Mesh1_edge_nodes:comment = "Indizes starten mit Null!" ;
Hinweise:
- Indizes starten mit Null!
- Ein Standardname sollte gelegentlich ergänzt werden.
- Ist Teil der Struktur "geo_profile_segment" in Paket P_GRID.
Namensverzeichnis der Profile
char Mesh1_prof_long_name(nMesh1_prof, nMesh1_strlen1) ;
- Mesh1_prof_long_name:long_name = "Name des Profils" ;
Hinweise:
- Steht als labeled coordinate variable für den Zugriff auf die einzelnen Profile zur Verfügung.
- Ist Teil der Struktur "geo_profile" in Paket P_GRID.
Kantenverzeichnis der Profile
int Mesh1_prof_edges(nMesh1_prof, nMaxMesh1_prof_edges) ;
- Mesh1_prof_edges:long_name = "Kantenverzeichnis der Profile, vom Anfang zum Ende sortiert" ;
- Mesh1_prof_edges:_FillValue = -999 ;
- Mesh1_prof_edges:comment = "Indizes starten mit Null!" ;
Hinweise:
- Indizes starten mit Null!
- Ein Standardname sollte gelegentlich ergänzt werden.
- 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.
Knotenverzeichnis der Profile
int Mesh1_prof_nodes(nMesh1_prof, nMaxMesh1_prof_nodes) ;
- Mesh1_prof_nodes:long_name = "Knotenverzeichnis der Profile, vom Anfang zum Ende sortiert" ;
- Mesh1_prof_nodes:_FillValue = -999 ;
- Mesh1_prof_nodes:comment = "Indizes starten mit Null!" ;
Hinweise:
- Indizes starten mit Null!
- Ein Standardname sollte gelegentlich ergänzt werden.
- Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.
- Bei stark unterschiedlichen Profillängen ggf. NetCDF Kompression von Daten durch Aufsammeln nutzen.
Topologievariable
int Mesh1 ;
- Mesh1:long_name = "Profil-Gitternetz, kein SubGrid" ;
- Mesh1:dimensionality = 1 ;
- Mesh1:locations = "node edge prof" ;
- Mesh1:node_coordinates = "Mesh1_node_x Mesh1_node_y Mesh1_node_lon Mesh1_node_lat" ;
- Mesh1:edge_coordinates = "Mesh1_edge_x Mesh1_edge_y Mesh1_edge_lon Mesh1_edge_lat" ;
- Mesh1:prof_coordinates = "Mesh1_prof_long_name" ;
- Mesh1:prof_node_connectivity = "Mesh1_prof_nodes" ;
- Mesh1:prof_edge_connectivity = "Mesh1_prof_edges" ;
- Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;
Hinweise:
- Ein Standardname sollte gelegentlich ergänzt werden.
- 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.
Koordinatentransformation
Siehe unter NetCDF Grid Mapping Variable.
Anmerkungen, Fragen
- Datei nutzt Deltares-CF-Erweiterungen sowie orange markierte Abweichungen in der Topologievariablen.
- Datei ist CF-konform gemäß NCAS CF Compliance Checker.
zurück zu NetCDF