[CF-metadata] curvilinear cartesian coordinates case

Jonathan Gregory j.m.gregory at reading.ac.uk
Tue Nov 28 09:19:17 MST 2006


Dear Bert

I agree with you and Brian that we could allow the grid_mapping attribute to
be attached to auxiliary coordinate variables. The reason why we didn't do that
before is because it isn't really the property of any auxiliary coordinate
variable, but belongs to a coordinate system composed of several auxiliary
variables. However you have raised a problem with that, and that's is a simple
solution. An alternative solution would be to change the grid_mapping attribute
to a different format, something like this:

 float waterlevel(TIME,M,N);
   waterlevel:long_name = "water level" ;
   waterlevel:units = "M" ;
   waterlevel:standard_name = "sea_surface_height" ;
   waterlevel:positive = "up" ;
   waterlevel:coordinates = "z_lat z_lon zgrid_y_nl zgrid_x_nl zgrid_y_de zgrid_x_de";
   waterlevel:grid_mapping = "zgrid_x_nl: zgrid_y_nl: EPSG19914 zgrid_x_de: zgrid_y_de: EPSG16362";
 double zgrid_x_nl(M,N);
   zgrid_x_nl:long_name = "grid cell centres, x-coordinate, EPSG19914" ;
   zgrid_x_nl:units = "M" ;
   zgrid_x_nl:standard_name = "projection_x_coordinate" ;
 double zgrid_y_nl(M,N);
   zgrid_y_nl:long_name = "grid cell centres, y-coordinate, EPSG19914" ;
   zgrid_y_nl:units = "M" ;
   zgrid_y_nl:standard_name = "projection_y_coordinate" ;
 double zgrid_x_de(M,N);
   zgrid_x_de:long_name = "grid cell centres, x-coordinate, EPSG16362" ;
   zgrid_x_de:units = "M" ;
   zgrid_x_de:standard_name = "projection_x_coordinate" ;
 double zgrid_y_de(M,N);
   zgrid_y_de:long_name = "grid cell centres, y-coordinate, EPSG16362" ;
   zgrid_y_de:units = "M" ;
   zgrid_y_de:standard_name = "projection_y_coordinate" ;

In this version, grid_mapping is still an attribute of the data variable, but
now it has the form "auxcoord: [auxcoord: ...] grid_mapping [auxcoord: ...]"
which indicates the set of auxiliary coordinates which belongs to each
grid_mapping variable. I'd suggest that an advantage of this is that it
wouldn't require looking in different places for the information. I based
this syntax on cell_methods but of course others would be possible. What do
you think?

I assume that we should continue to support the current kind of grid_mapping
in any case.

> 2) let the reader search for compatible coordinates (dimensions match data) 
> based on standard_names.

The reason we didn't do that is not only that it is more work, but that it
might not give the right results. There might be auxiliary coordinates with
a given dimension that applied to some data variables but not others, for
example.

Best wishes

Jonathan



More information about the CF-metadata mailing list