Actions

NetCDF multiple profiles: Difference between revisions

From BAWiki

imported>Lang Guenther
(Erstversion, ohne Details)
 
imported>Lang Guenther
(text translated from German to English)
Line 1: Line 1:
[[de:NetCDF Profile]]
[[de:NetCDF Profile]]
For further information please follow link "in other languages" (Deutsch).
 
=Introduction=
 
The location of different longitudinal as well as cross-sectional profiles is described.
The basic concept follows the ideas described in [http://ugrid-conventions.github.io/ugrid-conventions/#1d-network-topology ''1D network topolgy'']
which is part of the [http://ugrid-conventions.github.io/ugrid-conventions ''UGRID Conventions''].
But use of object ''<font color=darkorange>profile</font>'' is beyond what is covered by the ''UGRID conventions''.
All deviations from the ''UGRID conventions'' are highlighted in <font color=darkorange>''darkorange''</font> color.
 
 
=File contents=
==Dimensions==
   
# '''nMesh1_node''' : number of nodes
# '''nMesh1_edge''' : number of edges
# '''nMesh1_prof''' : number of profiles (longitudinal and cross-section)
# '''nMaxMesh1_prof_edges''' : maximum number of edges along a single profile
# '''nMaxMesh1_prof_nodes''' : maximum number of nodes along a single profile
# '''Two''' : constant ( = 2 ).
 
==Local coordinates==
 
===Nodes===
double Mesh1_node_x(nMesh1_node) ;
: Mesh1_node_x:long_name = "x-coordinate of nodes ;
: 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-coordinate of nodes" ;
: Mesh1_node_y:units = "m" ;
: Mesh1_node_y:name_id = 1651 ;
: Mesh1_node_y:standard_name = "projection_y_coordinate" ;
Comment:
# "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.
 
===Edges===
double Mesh1_edge_x(nMesh1_edge) ;
: Mesh1_edge_x:long_name = "x-coordinate of edges (center)" ;
: 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-coordinate of edges (center)" ;
: 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" ;
Comment:
# "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.
 
===(optional) Bounds for edges===
double Mesh1_edge_x_bnd(nMesh1_edge,Two) ; \\ no metadata required
 
double Mesh1_edge_y_bnd(nMesh1_edge,Two) ; \\ no metadata required
 
==Geographic coordinates==
 
===Nodes===
double Mesh1_node_lon(nMesh1_node) ;
: Mesh1_node_lon:long_name = "geographic longitude of nodes" ;
: 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 = "geographic latitude of nodes" ;
: Mesh1_node_lat:units = "degrees_north" ;
: Mesh1_node_lat:name_id = 1652 ;
: Mesh1_node_lat:standard_name = "latitude" ;
Comment:
# "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.
 
===Edges===
double Mesh1_edge_lon(nMesh1_edge) ;
: Mesh1_edge_lon:long_name = "geographic longitude of edges (center)" ;
: 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 = "geographic latitude of edges (center)" ;
: 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" ;
Comment:
# "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.
 
===(optional) Bounds for edges===
double Mesh1_edge_lon_bnd(nMesh1_edge,Two) ; \\ no metadata required
 
double Mesh1_edge_lat_bnd(nMesh1_edge,Two) ; \\ no metadata required
 
==Connectivities==
 
===Edge-node connectivity===
int Mesh1_edge_nodes(nMesh1_edge, two) ;
: Mesh1_edge_nodes:long_name = "edge-node connectivity of edges, start and end point" ;
: Mesh1_edge_nodes:cf_role = "edge_node_connectivity" ;
: Mesh1_edge_nodes:start_index = 0 ;
 
===Names of profiles===
char Mesh1_prof_long_name(nMesh1_prof, nMesh1_strlen1) ;
: Mesh1_prof_long_name:long_name = "name of profile" ;
Comment:
# Can be used as ''label coordinate variable'' to access individual profiles.
 
===Profile-edge connectivity===
int Mesh1_prof_edges(nMesh1_prof, nMaxMesh1_prof_edges) ;
: Mesh1_prof_edges:long_name = "profile-edge connectivity, sorted from start to end of profile" ;
: Mesh1_prof_edges:cf_role = "<font color=darkorange>prof_edge_connectivity</font>" ;
: Mesh1_prof_edges:_FillValue = -999 ;
: Mesh1_prof_edges:start_index = 0 ;
Comment:
# Can be used to describe several profiles.
# Individual edges may belong to more than one profile.
 
===Profile-node connectivity===
int Mesh1_prof_nodes(nMesh1_prof, nMaxMesh1_prof_nodes) ;
: Mesh1_prof_nodes:long_name = "profile-node connectivity, sorted from start to end of profile" ;
: Mesh1_prof_nodes:cf_role = "<font color=darkorange>prof_node_connectivity</font>" ;
: Mesh1_prof_nodes:_FillValue = -999 ;
: Mesh1_prof_nodes:start_index = 0 ;
Comment:
# Can be used to describe several profiles.
 
==Topology==
 
int Mesh1 ;
: Mesh1:long_name = "several 1D profiles, no sub-grid" ;
: 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:<font color=darkorange>prof_coordinates</font> = "Mesh1_prof_long_name" ;
: Mesh1:<font color=darkorange>prof_node_connectivity</font> = "Mesh1_prof_nodes" ;
: Mesh1:<font color=darkorange>prof_edge_connectivity</font> = "Mesh1_prof_edges" ;
: Mesh1:edge_node_connectivity = "Mesh1_edge_nodes" ;
 
==Coordinate transformation==
 
See [[NetCDF grid mapping variable]].
 
----
----
back to [[NetCDF]]
back to [[NetCDF]]
----
----
[[Overview]]
[[Overview]]

Revision as of 13:25, 14 April 2016


Introduction

The location of different longitudinal as well as cross-sectional profiles is described. The basic concept follows the ideas described in 1D network topolgy which is part of the UGRID Conventions. But use of object profile is beyond what is covered by the UGRID conventions. All deviations from the UGRID conventions are highlighted in darkorange color.


File contents

Dimensions

  1. nMesh1_node : number of nodes
  2. nMesh1_edge : number of edges
  3. nMesh1_prof : number of profiles (longitudinal and cross-section)
  4. nMaxMesh1_prof_edges : maximum number of edges along a single profile
  5. nMaxMesh1_prof_nodes : maximum number of nodes along a single profile
  6. Two : constant ( = 2 ).

Local coordinates

Nodes

double Mesh1_node_x(nMesh1_node) ;

Mesh1_node_x:long_name = "x-coordinate of nodes ;
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-coordinate of nodes" ;
Mesh1_node_y:units = "m" ;
Mesh1_node_y:name_id = 1651 ;
Mesh1_node_y:standard_name = "projection_y_coordinate" ;

Comment:

  1. "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.

Edges

double Mesh1_edge_x(nMesh1_edge) ;

Mesh1_edge_x:long_name = "x-coordinate of edges (center)" ;
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-coordinate of edges (center)" ;
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" ;

Comment:

  1. "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.

(optional) Bounds for edges

double Mesh1_edge_x_bnd(nMesh1_edge,Two) ; \\ no metadata required

double Mesh1_edge_y_bnd(nMesh1_edge,Two) ; \\ no metadata required

Geographic coordinates

Nodes

double Mesh1_node_lon(nMesh1_node) ;

Mesh1_node_lon:long_name = "geographic longitude of nodes" ;
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 = "geographic latitude of nodes" ;
Mesh1_node_lat:units = "degrees_north" ;
Mesh1_node_lat:name_id = 1652 ;
Mesh1_node_lat:standard_name = "latitude" ;

Comment:

  1. "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.

Edges

double Mesh1_edge_lon(nMesh1_edge) ;

Mesh1_edge_lon:long_name = "geographic longitude of edges (center)" ;
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 = "geographic latitude of edges (center)" ;
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" ;

Comment:

  1. "name_id" corresponds to the so-called PHYDEF-Code of variables which is used internally at BAW.

(optional) Bounds for edges

double Mesh1_edge_lon_bnd(nMesh1_edge,Two) ; \\ no metadata required

double Mesh1_edge_lat_bnd(nMesh1_edge,Two) ; \\ no metadata required

Connectivities

Edge-node connectivity

int Mesh1_edge_nodes(nMesh1_edge, two) ;

Mesh1_edge_nodes:long_name = "edge-node connectivity of edges, start and end point" ;
Mesh1_edge_nodes:cf_role = "edge_node_connectivity" ;
Mesh1_edge_nodes:start_index = 0 ;

Names of profiles

char Mesh1_prof_long_name(nMesh1_prof, nMesh1_strlen1) ;

Mesh1_prof_long_name:long_name = "name of profile" ;

Comment:

  1. Can be used as label coordinate variable to access individual profiles.

Profile-edge connectivity

int Mesh1_prof_edges(nMesh1_prof, nMaxMesh1_prof_edges) ;

Mesh1_prof_edges:long_name = "profile-edge connectivity, sorted from start to end of profile" ;
Mesh1_prof_edges:cf_role = "prof_edge_connectivity" ;
Mesh1_prof_edges:_FillValue = -999 ;
Mesh1_prof_edges:start_index = 0 ;

Comment:

  1. Can be used to describe several profiles.
  2. Individual edges may belong to more than one profile.

Profile-node connectivity

int Mesh1_prof_nodes(nMesh1_prof, nMaxMesh1_prof_nodes) ;

Mesh1_prof_nodes:long_name = "profile-node connectivity, sorted from start to end of profile" ;
Mesh1_prof_nodes:cf_role = "prof_node_connectivity" ;
Mesh1_prof_nodes:_FillValue = -999 ;
Mesh1_prof_nodes:start_index = 0 ;

Comment:

  1. Can be used to describe several profiles.

Topology

int Mesh1 ;

Mesh1:long_name = "several 1D profiles, no sub-grid" ;
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" ;

Coordinate transformation

See NetCDF grid mapping variable.


back to NetCDF


Overview