Aktionen

NetCDF Profile: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(→‎Topologische Daten: Text aktualisiert, Knotenverzeichnis der Profile ergänzt)
imported>Lang Guenther
(→‎Topologievariable: Text aktualisiert)
Zeile 150: Zeile 150:
==Topologievariable==
==Topologievariable==


integer Mesh1 ;
int Mesh1 ;
: Mesh1:standard_name = "'''???'''" ; \\ yet to be determined
: Mesh1:long_name = "Profil-Gitternetz, kein SubGrid" ;
: Mesh1:long_name = "name of (profile) grid can be stored here" ;
: Mesh1:dimensionality = 1 ;
: Mesh1:dimensionality = 1 ; \\ network
: Mesh1:locations = "node edge <font color=darkorange>prof</font>" ;
: Mesh1:locations = "node edge <font color=darkorange>prof</font>" ; \\ profile is an additional location
: Mesh1:node_coordinates = "Mesh1_node_x Mesh1_node_y Mesh1_node_lon Mesh1_node_lat" ;
: Mesh1:node_coordinates = "Mesh1_node_lon Mesh1_node_lat" ;
: Mesh1:edge_coordinates = "Mesh1_edge_x Mesh1_edge_y Mesh1_edge_lon Mesh1_edge_lat" ;
: Mesh1:edge_coordinates = "Mesh1_edge_lon Mesh1_node_lat" ;
: Mesh1:prof_coordinates = "Mesh1_prof_x Mesh1_prof_y Mesh1_prof_lon Mesh1_prof_lat" ;
: Mesh1:<font color=darkorange>prof</font>_coordinates = "" ; \\ should be available for optional use only
: Mesh1:<font color=darkorange>prof</font>_node_connectivity = "Mesh1_prof_nodes" ;
: Mesh1:<font color=darkorange>prof</font>_edge_connectivity = "Mesh1_prof_edges" ;
: Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;
: Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;
: Mesh1:<font color=darkorange>prof_edge_connectivity</font> = "Mesh1_prof_edges" ;
Hinweise:
Hinweise:
# Ein Standardname sollte gelegentlich ergänzt werden.
# Die <font color=darkorange>orange</font> markierten Bezeichnungen stellen Abweichungen bzw. Ergänzungen zu den [http://public.deltares.nl/display/NETCDF/netCDF Deltares-CF-Erweiterungen] dar.
# Die <font color=darkorange>orange</font> markierten Bezeichnungen stellen Abweichungen bzw. Ergänzungen zu den [http://public.deltares.nl/display/NETCDF/netCDF Deltares-CF-Erweiterungen] dar.
# Profil ''<font color=darkorange>prof</font>'' 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.
# Profil ''<font color=darkorange>prof</font>'' 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.
# ''<font color=darkorange>prof</font>_coordinates'' wird in vielen Fällen leer bleiben.


==Koordinatentransformation==
==Koordinatentransformation==

Version vom 18. Mai 2011, 14:01 Uhr

Kurze Beschreibung

Es wird die Lage mehrerer (Längs- und Quer-) Profile beschrieben.

Inhalt der Datei

Dimensionen

  1. nMesh1_node : Anzahl der Knoten.
  2. nMesh1_edge : Anzahl der Kanten.
  3. nMesh1_prof : Anzahl der Profile (Längs- und Querprofile).
  4. nMaxMesh1_prof_edges : maximale Anzahl der Kanten in einem Profil.
  5. 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:

  1. 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:

  1. 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" ;
  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
  2. 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 = "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:

  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.

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:

  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.

Profile

double Mesh1_prof_lon(nMesh1_prof) ;

Mesh1_prof_lon:long_name = "geografische Laenge der Profilhauptpunkte" ;
Mesh1_prof_lon:units = "degrees_east" ;
Mesh1_prof_lon:name_id = 1653 ;
Mesh1_prof_lon:standard_name = "longitude" ;

double Mesh1_prof_lat(nMesh1_prof) ;

Mesh1_prof_lat:long_name = "geografische Breite der Profilhauptpunkte" ;
Mesh1_prof_lat:units = "degrees_north" ;
Mesh1_prof_lat:name_id = 1652 ;
Mesh1_prof_lat:standard_name = "latitude" ;

Hinweise:

  1. Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
  2. 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_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" ;

Hinweise:

  1. Indizes starten mit Null!
  2. Ein Standardname sollte gelegentlich ergänzt werden.
  3. Ist Teil der Struktur "geo_profile_segment" 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 ;

Hinweise:

  1. Indizes starten mit Null!
  2. Ein Standardname sollte gelegentlich ergänzt werden.
  3. Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.
  4. Einzelne Kanten dürfen mehrfach in (verschiedenen) Listen auftauchen.
  5. Bei stark unterschiedlichen Profillängen ggf. NetCDF Kompression von Daten durch Aufsammeln nutzen.
  6. 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.

(optional) 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 ;

Hinweise:

  1. Indizes starten mit Null!
  2. Ein Standardname sollte gelegentlich ergänzt werden.
  3. Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.
  4. Bei stark unterschiedlichen Profillängen ggf. NetCDF Kompression von Daten durch Aufsammeln nutzen.
  5. Redundante, ggf. aber sehr nützliche Information.

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_x Mesh1_prof_y Mesh1_prof_lon Mesh1_prof_lat" ;
Mesh1:prof_node_connectivity = "Mesh1_prof_nodes" ;
Mesh1:prof_edge_connectivity = "Mesh1_prof_edges" ;
Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;

Hinweise:

  1. Ein Standardname sollte gelegentlich ergänzt werden.
  2. Die orange markierten Bezeichnungen stellen Abweichungen bzw. Ergänzungen zu den Deltares-CF-Erweiterungen dar.
  3. 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.
  • Ob repräsentative Koordinaten für Profile erforderlich sind, muss noch geprüft werden.

zurück zu NetCDF


Strukturübersicht