You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

  1. CF standard: add a dummy variable crs and add all grid mapping related meta-data as attributes.
  2. proposed extension: make sure that the dummy variable crs it an integer and that its value is the EPSG code of the coordinate system, e.g:
    • 28992 for Dutch Rijksdriehoek (projection_x_coordinate,projection_y_coordinate)
    • 4326 for WGS84 global ellipsoid (latitude, longitude)
    • 32631 for WGS 84 / UTM zone 31N (projection_x_coordinate,projection_y_coordinate)
  3. proposed extension: add a WKT (well-known text) string of all grid mapping related meta-data (the WKT quite laborious for parsing though).

Examples

UNSTRUC map file on local xy-grid (e.g., Amersfoort / RD New).

  • Currently lacks lon/lat for x/y-grids.
  • The RD projection (oblique stereographic) is not recognized in CF-1.4 (and many others), in PROJ.4 'sterea' is used: http://www.spatialreference.org/ref/epsg/28992/
  • More details are here: unstructured grid format.
    netcdf test_map {
    // Only relevant parts for crs are shown!
    dimensions:
            nNetCell = 665 ;
            time = UNLIMITED ; // (1 currently)
    variables:
            double time(time) ;
                    time:units = "seconds since 2010-01-01 00:00:00" ;
            double NetCell_xc(nNetCell) ;
                    NetCell_xc:units = "m" ;
                    NetCell_xc:standard_name = "projection_x_coordinate" ;
                    NetCell_xc:long_name = "Net cell circumcenter x" ;
                    NetCell_xc:bounds = "NetCellContour_x" ;
            double NetCell_yc(nNetCell) ;
                    NetCell_yc:units = "m" ;
                    NetCell_yc:standard_name = "projection_y_coordinate" ;
                    NetCell_yc:long_name = "Net cell circumcenter y" ;
                    NetCell_yc:bounds = "NetCellContour_y" ;
            double s1(time, nNetCell) ;
                    s1:cell_methods = "area: mean" ;
                    s1:coordinates = "NetCell_xc Netcell_yc" ;
                    s1:grid_mapping = "crs" ;
            int crs ;
                    crs:grid_mapping_name = "oblique_stereographic" ;
                    crs:projection_name = "Amersfoort / RD New" ;
                    crs:semi_major_axis = 6377397.f ;
                    crs:inverse_flattening = 299.1528f ;
                    crs:latitude_of_projection_origin = 52.15616f ;
                    crs:longitude_of_central_meridian = 5.387639f ;
                    crs:scale_factor_at_projection_origin = 0.9999079f ;
                    crs:false_easting = 155000 ;
                    crs:false_northing = 463000 ;
    
    //...
    crs = 28992 ;
    

UNSTRUC map file on lon/lat-grid (e.g., WGS 1984)

  • More details are here: unstructured grid format.
    netcdf test_map {
    // Only relevant parts for crs are shown!
    dimensions:
            nNetCell = 184324 ;
            time = UNLIMITED ; // (1 currently)
    variables:
            double time(time) ;
                    time:units = "seconds since 2010-01-01 00:00:00" ;
            double NetCell_xc(nNetCell) ;
                    NetCell_xc:units = "degrees_east" ;
                    NetCell_xc:standard_name = "longitude" ;
                    NetCell_xc:long_name = "Net cell circumcenter x" ;
                    NetCell_xc:bounds = "NetCellContour_x" ;
            double NetCell_yc(nNetCell) ;
                    NetCell_yc:units = "degrees_north" ;
                    NetCell_yc:standard_name = "latitude" ;
                    NetCell_yc:long_name = "Net cell circumcenter y" ;
                    NetCell_yc:bounds = "NetCellContour_y" ;
            double s1(time, nNetCell) ;
                    s1:cell_methods = "area: mean" ;
                    s1:coordinates = "NetCell_xc Netcell_yc" ;
                    s1:grid_mapping = "crs" ;
            int crs ;
                    crs:grid_mapping_name = "latitude_longitude" ;
                    crs:longitude_of_prime_meridian = 0.f ;
                    crs:semi_major_axis = 6378137.f ;
                    crs:inverse_flattening = 298.2572f ;
    
    //...
    crs = 4326 ;
    
  • No labels