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