⇐ ⇒

[CF-metadata] Connecting coordinates to Grid Mapping variables

From: Hedley, Mark <mark.hedley>
Date: Tue, 25 Oct 2011 11:03:44 +0100

To define a coordinate reference system, a grid_mapping variable is defined, with variable attributes to define the coordinate reference system attributes. (http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.5/ch05s06.html)

I would like to define coordinates, be they coordinate variable or auxiliary coordinates, with respect to a coordinate system. The mechanism I have is the grid_mapping attribute on a data variable. This suggests that all coordinates referenced by a data variable are with respect to the same coordinate reference system.

I have a use case, where a file contains a data variable referencing coordinate variables: Easting, Northing, Height (above mean sea level). These are all defined with respect to the Ordnance Survey of Great Britain coordinate reference system, a parametric transverse Mercator with a defined vertical datum.

To be CF compliant I need to include two auxiliary coordinates, latitude and longitude. I can calculate these for a specifically defined coordinate reference system, using the definition of the transverse Mercator projection. I will also include the height with respect to this new datum as an auxiliary_coordinate.

I would like to provide the definition of this coordinate reference system, a geographic coordinate system, in my file, so I create a new grid_mapping variable with the definitions, but I cannot connect my auxiliary coordinates to this grid_mapping and the coordinate variables to the OSGB grid_mapping variable as I only have a singleton grid_mapping attribute on the data variable.

I have talked this through with colleagues and we have thought of two plausible approaches:

1. reference_system attribute for a coordinate/auxiliary_coordinate variable

Any coordinate or auxiliary_coordinate variable may have an attribute: reference_system
This attribute points to a grid_mapping variable, which the coordinate is defined with respect to.

In the example use case then:
 - no grid_mapping attribute exists on the data variable,
 - the easting, northing and height coordinate variables reference the OSGB grid_mapping variable
 - the latitude, longitude and geogHeight auxiliary_coordinate variables reference the geographic coordinate system grid_mapping variable


2. expanded syntax for grid_mapping attribute on a data variable

A data variable's grid_mapping attribute may use a complex syntax, derived from the cell_methods and cell_measures approach. using this model, the list of coordinate names is provided as a ':' separated list, with the last value being the grid_mapping variable name; a space is used to indicate the start of a new list, linking different coordinate names to a different grid_mapping variable name.

In the example use case then the data variable's grid_mapping attribute would read:
 - grid_mapping = "Easting:Northing:Height:OSGB Lat:Lon:geogHeight:GeogCS"


How well do either of these approaches deliver the requirement to define coordinates with respect to a coordinate reference system?

I would like to put a proposal up, is there a preferred option amongst the community?

many thanks
Mark Hedley
Met Office
UK
Received on Tue Oct 25 2011 - 04:03:44 BST

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:41 BST

⇐ ⇒