Aktionen

NetCDF Profile: Unterschied zwischen den Versionen

Aus BAWiki

imported>Lang Guenther
(Text wurde aktualisiert)
imported>Lang Guenther
(Discrete Sampling Geometry eingefügt)
Zeile 2: Zeile 2:
=Kurze Beschreibung=
=Kurze Beschreibung=


Es wird die Lage mehrerer (Längs- und Quer-) Profile beschrieben. Die Konzeption ist eng mit der
Es wird die Lage mehrerer (Längs- und Quer-) Profile beschrieben.  
[http://ugrid-conventions.github.io/ugrid-conventions/#1d-network-topology ''1D network topolgy'']
der [http://ugrid-conventions.github.io/ugrid-conventions ''UGRID Conventions''] verknüpft.
Darüber hinaus wird das nicht von den ''UGRID Conventions'' abgedeckte Objekt
''<font color=darkorange>Profil</font>'' verwendet. Alle Abweichungen/Erweiterungen von den ''UGRID Conventions''
sind nachfolgend in der Farbe <font color=darkorange>''darkorange''</font> farblich hervorgehoben.


=Inhalt der Datei=
==Version ''Discrete Sampling Geometry'' '''trajectoryProfile'''==
Zur Ablage von Daten auf einem oder mehreren Profilen wird die in CF beschriebene ''Discrete Sampling Geometry'' mit '''featureType=trajectoryProfile''' verwendet. Ein Beispiel (NCDUMP) für Geometrie und Daten ist in  [[Datei:P_synop_ncdump_2D.pdf]] zu sehen.
==Version [[DATACONVERT]]==


=Inhalt der Datei=
Die Konzeption ist eng mit der [http://ugrid-conventions.github.io/ugrid-conventions/#1d-network-topology ''1D network topolgy'']
==Dimensionen==
der [http://ugrid-conventions.github.io/ugrid-conventions ''UGRID Conventions''] verknüpft. Darüber hinaus wird das nicht von den ''UGRID Conventions'' abgedeckte Objekt ''<font color=darkorange>Profil</font>'' verwendet. Alle Abweichungen/Erweiterungen von den ''UGRID Conventions'' sind nachfolgend in der Farbe <font color=darkorange>''darkorange''</font> farblich hervorgehoben.
 
===Dimensionen===
      
      
# '''nMesh1_node''' : Anzahl der Profilknoten.
# '''nMesh1_node''' : Anzahl der Profilknoten.
Zeile 20: Zeile 24:
# '''Two''' : konstante Dimension ( = 2 ).
# '''Two''' : konstante Dimension ( = 2 ).


==Lokale Koordinaten==
===Lokale Koordinaten===


===Knoten===
====Knoten====
double Mesh1_node_x(nMesh1_node) ;
double Mesh1_node_x(nMesh1_node) ;
: Mesh1_node_x:long_name = "x-Koordinate der Profilpunkte" ;
: Mesh1_node_x:long_name = "x-Koordinate der Profilpunkte" ;
Zeile 36: Zeile 40:
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.


===Kanten===
====Kanten====
double Mesh1_edge_x(nMesh1_edge) ;
double Mesh1_edge_x(nMesh1_edge) ;
: Mesh1_edge_x:long_name = "x-Koordinate der Profilkanten, Kantenmitte" ;
: Mesh1_edge_x:long_name = "x-Koordinate der Profilkanten, Kantenmitte" ;
Zeile 52: Zeile 56:
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.


===(optional) Begrenzung für Kanten===
====(optional) Begrenzung für Kanten====
double Mesh1_edge_x_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
double Mesh1_edge_x_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich


double Mesh1_edge_y_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
double Mesh1_edge_y_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich


==Geografische Koordinaten==
===Geografische Koordinaten===


===Knoten===
====Knoten====
double Mesh1_node_lon(nMesh1_node) ;
double Mesh1_node_lon(nMesh1_node) ;
: Mesh1_node_lon:long_name = "geografische Laenge der Profilpunkte" ;
: Mesh1_node_lon:long_name = "geografische Laenge der Profilpunkte" ;
Zeile 73: Zeile 77:
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.


===Kanten===
====Kanten====
double Mesh1_edge_lon(nMesh1_edge) ;
double Mesh1_edge_lon(nMesh1_edge) ;
: Mesh1_edge_lon:long_name = "geografische Laenge der Profilkanten, Kantenmitte" ;
: Mesh1_edge_lon:long_name = "geografische Laenge der Profilkanten, Kantenmitte" ;
Zeile 89: Zeile 93:
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.
# Das Attribut "name_id" entspricht der (BAW) PHYDEF-Code-Kennung der Variablen.


===(optional) Begrenzung für Kanten===
====(optional) Begrenzung für Kanten====
double Mesh1_edge_lon_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
double Mesh1_edge_lon_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich


double Mesh1_edge_lat_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich
double Mesh1_edge_lat_bnd(nMesh1_edge,Two) ; \\ keine weiteren Metadaten erforderlich


==Topologische Daten==
===Topologische Daten===


===Knotenverzeichnis der Kanten===
====Knotenverzeichnis der Kanten====
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" ;
Zeile 104: Zeile 108:
# Ist Teil der Struktur "geo_profile_segment" in Paket P_GRID.
# Ist Teil der Struktur "geo_profile_segment" in Paket P_GRID.


===Namensverzeichnis der Profile===
====Namensverzeichnis der Profile====
char Mesh1_prof_long_name(nMesh1_prof, nMesh1_strlen1) ;  
char Mesh1_prof_long_name(nMesh1_prof, nMesh1_strlen1) ;  
: Mesh1_prof_long_name:long_name = "Name des Profils" ;  
: Mesh1_prof_long_name:long_name = "Name des Profils" ;  
Zeile 111: Zeile 115:
# Ist Teil der Struktur "geo_profile" in Paket P_GRID.
# Ist Teil der Struktur "geo_profile" in Paket P_GRID.


===Kantenverzeichnis der Profile===
====Kantenverzeichnis der Profile====
int Mesh1_prof_edges(nMesh1_prof, nMaxMesh1_prof_edges) ;
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:long_name = "Kantenverzeichnis der Profile, vom Anfang zum Ende sortiert" ;
Zeile 122: Zeile 126:
# 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.
# 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===
====Knotenverzeichnis der Profile====
int Mesh1_prof_nodes(nMesh1_prof, nMaxMesh1_prof_nodes) ;
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:long_name = "Knotenverzeichnis der Profile, vom Anfang zum Ende sortiert" ;
Zeile 131: Zeile 135:
# Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.
# Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.


==Topologievariable==
===Topologievariable===


int Mesh1 ;
int Mesh1 ;
Zeile 144: Zeile 148:
: Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;
: Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;


==Koordinatentransformation==
===Koordinatentransformation===


Siehe unter [[NetCDF Grid Mapping Variable]].
Siehe unter [[NetCDF Grid Mapping Variable]].

Version vom 14. Oktober 2016, 15:33 Uhr

Kurze Beschreibung

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

Inhalt der Datei

Version Discrete Sampling Geometry trajectoryProfile

Zur Ablage von Daten auf einem oder mehreren Profilen wird die in CF beschriebene Discrete Sampling Geometry mit featureType=trajectoryProfile verwendet. Ein Beispiel (NCDUMP) für Geometrie und Daten ist in P synop ncdump 2D.pdf zu sehen.

Version DATACONVERT

Die Konzeption ist eng mit der 1D network topolgy der UGRID Conventions verknüpft. Darüber hinaus wird das nicht von den UGRID Conventions abgedeckte Objekt Profil verwendet. Alle Abweichungen/Erweiterungen von den UGRID Conventions sind nachfolgend in der Farbe darkorange farblich hervorgehoben.

Dimensionen

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

(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.

(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:cf_role = "edge_node_connectivity" ;
Mesh1_edge_nodes:start_index = 0 ;

Hinweise:

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

  1. Steht als label coordinate variable für den Zugriff auf die einzelnen Profile zur Verfügung.
  2. 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:cf_role = "prof_edge_connectivity" ;
Mesh1_prof_edges:_FillValue = -999 ;
Mesh1_prof_edges:start_index = 0 ;

Hinweise:

  1. Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.
  2. Einzelne Kanten dürfen mehrfach in (verschiedenen) Listen auftauchen.
  3. 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:cf_role = "prof_node_connectivity" ;
Mesh1_prof_nodes:_FillValue = -999 ;
Mesh1_prof_nodes:start_index = 0 ;

Hinweise:

  1. Kann dazu genutzt werden, mehrere zusammenhängende Profile, z. B. Längs- und Querprofile, zu deklarieren.

Topologievariable

int Mesh1 ;

Mesh1:long_name = "Profil-Gitternetz, kein SubGrid" ;
Mesh1:topology_dimension = 1 ;
Mesh1:cf_role = "mesh_topology" ;
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" ;

Koordinatentransformation

Siehe unter NetCDF Grid Mapping Variable.


zurück zu NetCDF


Strukturübersicht