AnsweredAssumed Answered

How to represent EASE Grid North in CF-netCDF

Question asked by twhiteaker on Jan 9, 2020

I'm trying to represent netCDF data in NSIDC EASE Grid North using CF conventions such that ArcGIS shows the data in the place on a map.  I figured I'd generate such a file with ArcGIS to see how it defines the coordinate system in netCDF.

 

To test, I took point data in NSIDC EASE Grid North, which I believe is EPSG:3408.  I interpolated to raster and converted to netCDF.  I've attached the result as from_arc_grid.nc, and the text version as from_arc_grid.cdl.  When I use Make NetCDF Raster Layer on that netCDF file, it lines up with the points perfectly.

 

However, I notice the grid mapping variable is fairly light:

    int lambert_azimuthal_equal_area(lambert_azimuthal_equal_area);
      lambert_azimuthal_equal_area:grid_mapping_name = "lambert_azimuthal_equal_area";
      lambert_azimuthal_equal_area:longitude_of_projection_origin = 0.0;
      lambert_azimuthal_equal_area:latitude_of_projection_origin = 90.0;
      lambert_azimuthal_equal_area:false_easting = 0.0;
      lambert_azimuthal_equal_area:false_northing = 0.0;

 

 

And in my data variable, fake_var, there is an esri_pe_string attribute that has additional coordinate system details.

      fake_var:esri_pe_string = "PROJCS[\"NSIDC_EASE_Grid_North\",GEOGCS[\"GCS_Sphere_International_1924_Authalic\",DATUM[\"D_Sphere_International_1924_Authalic\",SPHEROID[\"Sphere_International_1924_Authalic\",6371228.0,0.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Lambert_Azimuthal_Equal_Area\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Latitude_Of_Origin\",90.0],UNIT[\"Meter\",1.0]]";

 

What I'd like to do is drop the esri_pe_string attribute, and add attributes to the grid mapping variable to fully define the coordinate system, using just the CF conventions with no Esri magic. I tried this using attributes defined in CF (test.nc and test.cdl), and I also tried using a WKT string which is what the esri_pe_string appears to be (test_wkt.nc and test_wkt.cdl). I got the WKT string straight from the EPSG website for 3408. When I do this and bring the fake_var variable in as a raster layer, the coordinate system is undefined.  The grid does line up perfectly with the original data and with from_arc_grid.nc as long as the data frame's coordinate system is EASE Grid North. However, for other projections, my test grids wind up in the wrong place.

 

(I also tried by just copying the esri_pe_string value to the crs_wkt attribute but got the same results as when using the EPSG:3408 string).

 

Got any ideas?

Outcomes