[CF-metadata] projections

John Caron caron at unidata.ucar.edu
Tue Nov 12 14:28:56 MST 2002


I have been advising people to use the CF Conventions, but there is still a gap 
in being able to specify projections. Id like to propose a way of defining 
projections in addition/instead of section 5.6 at

   http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-working.html#gmap

which uses the following example:

   variables:

   float T(lev, y, x) ;
     T:long_name = "temperature" ;
     T:units = "K" ;
     T:coordinates = "lon lat" ;
     T:grid_mapping="rotated_latitude_longitude grid_north_pole_latitude: \n"
                    " 32.5 grid_north_pole_longitude: 170." ;


1) i would prefer to use existing "authorities" such as FGDC to name the 
projections. One way to do this would be to add standard attributes 
"projectionAuthority" and "projectionName" and optional projection parameters 
that depend on the projection, eg:

  float T(lev, y, x) ;

    T:projectionName = "Lambert_Conformal_Conic";
    T:projectionAuthority="FGDC";
    T:Standard_Parallel"="25.0";
    T:Longitude_of_Central_Meridian"="-95.0";
    T:Latitude_of_Projection_Origin"="25.0";

2) since its highly likely that many variables will share a projection, we 
should have an option to factor them out, eg:

  float T(lev, y, x) ;
    T:projection = "myProjName";

  char myProjName(p_len);

    myProjName:projectionName = "Lambert_Conformal_Conic";
    myProjName:projectionAuthority="FGDC";
    myProjName:Standard_Parallel"="25.0";
    myProjName:Longitude_of_Central_Meridian"="-95.0";
    myProjName:Latitude_of_Projection_Origin"="25.0";

3) its important that the x and the y coordinates be identified, and that they 
be understood to be coordinates on the specified projection plane. You could say 
something like:

   "Variables representing the x and y coordinates on the projection plane must 
always explicitly include the units attribute; there is no default value. The 
units attribute will be a string formatted as per the udunits.dat file. The 
recommended unit of latitude is km. The variable representing the x and y 
coordinates must have an attribute axisType="x" and "y" respectively."


4) obviously there are other ways to do it; this is the first thing that 
occurred to me. the essentials are: 1) allow different naming sets, 2) allow 
them to be factored out 3) unambigously identify the x and y coordinates.


5) there are other important "authorities", but FGDC would be a good start. the 
FGDC projections and their parameters are found at

   http://www.fgdc.gov/standards/documents/standards/metadata/v2_0698.pdf

i would be happy to compile these for your appendix if you'd like.




More information about the CF-metadata mailing list