[CF-metadata] X and Y projection coordinate (center vs corner)

Thomas Lavergne thomasl at met.no
Mon Jan 26 10:03:35 MST 2009


Hi,

I apologize if this was discussed already but I did not find it explicitly in the archive nor in the 
standard document.

I have datasets mapped in a polar stereographic projection. My file structure is thus something like:

dimensions:
         xc = 119 ;
         yc = 177 ;
variables:
         int Polar_Stereographic_Grid ;
                 Polar_Stereographic_Grid:grid_mapping_name = "polar_stereographic" ;
                 Polar_Stereographic_Grid:straight_vertical_longitude_from_pole = -45.f ;
                 Polar_Stereographic_Grid:latitude_of_projection_origin = 90.f ;
                 Polar_Stereographic_Grid:standard_parallel = 70.f ;
                 Polar_Stereographic_Grid:false_easting = 0.f ;
                 Polar_Stereographic_Grid:false_northing = 0.f ;
                 Polar_Stereographic_Grid:earth_shape = "elliptical" ;
                 Polar_Stereographic_Grid:proj4_string = "+proj=stere +a=6378273 +b=6356889.44891 
+lat_0=90 +lat_ts=70 +lon_0=-45" ;
         double xc(xc) ;
                 xc:axis = "X" ;
                 xc:units = "km" ;
                 xc:long_name = "x coordinate of projection (eastings)" ;
                 xc:standard_name = "projection_x_coordinate" ;
                 xc:grid_spacing = "62.50 km" ;
         double yc(yc) ;
                 yc:axis = "Y" ;
                 yc:units = "km" ;
                 yc:long_name = "y coordinate of projection (northings)" ;
                 yc:standard_name = "projection_y_coordinate" ;
                 yc:grid_spacing = "62.50 km" ;
         float lon(yc, xc) ;
                 lon:long_name = "longitude coordinate" ;
                 lon:standard_name = "longitude" ;
                 lon:units = "degrees_east" ;
                 lon:_FillValue = -9999.f ;
                 lon:grid_mapping = "Polar_Stereographic_Grid" ;
                 lon:coordinates = "yc xc" ;
         float lat(yc, xc) ;
                 lat:long_name = "latitude coordinate" ;
                 lat:standard_name = "latitude" ;
                 lat:units = "degrees_north" ;
                 lat:_FillValue = -9999.f ;
                 lat:grid_mapping = "Polar_Stereographic_Grid" ;
                 lat:coordinates = "yc xc" ;

And my xc and yc 1D datasets are filled with the grid coordinates corresponding to the values in lat 
and lon dataset.

My issue is that I try to feed such a file into an application. The latter seems to unilaterally 
translate the values in xc and yc as the coordinates of one of the _corners_ of each cell while I 
originally entered the coordinates of the _center_ of each grid cell. All my isolines result shifted 
by half a cell size in both X and Y directions.

I know I should maybe use the lat and lon boundaries 
(http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.4/cf-conventions.html#cell-boundaries) but I do 
not think it will help my visualization software in handling my file.

Is it written anywhere in CF what the content of the projection_x&y_coordinate should be (center vs 
corner)? Are there standardized ways to tell the application reading my file that I am giving it the 
center of the grid cell?

Thank you if you can help me clarify this. Do not hesitate to point me to archived discussions if 
they exist...

Cheers,
Thomas


More information about the CF-metadata mailing list