wiki:NetCDF_ProjectionTestingStatus

Version 20 (modified by etourigny, 12 years ago) ( diff )

--

Status of NetCDF CF-1.5 projection handling capability in work-in-progress NetCDF driver upgrade

This page was created to list/track progress as a supplement to work in October 2011 on wiki:NetCDF_Improvements, specifically wiki:NetCDF_exportUpdateChanges.

The list of supported CF-1.5 projections is shown at http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.5/apf.html .

The table below shows tested ability to export projections from a GDAL raster - originally in GeoTIFF - to NetCDF CF-1.5 in each supported projection.

The shorthand projection names listed below correspond to their names in the source files and hopefully are fairly self-explanatory - they've been listed in the same order as that shown on the CF-1.5 appendix page.

Note: the current import capability has been tested to be the inverse of the export capability. We would appreciate any help in obtaining valid test files for each of these projections. If and when we are able to test capability to import NetCDF CF-1.5 variants that don't have a direct OGC WKT equivalent, we should add a supplementary table.

ProjectionNameCF ExportCF ImportNetCDF JavaUpdatedNote
AEAAlbers Equal AreaYesYesYes18/10/11Tested regular 2SP version - see AEA note below.
AEAzimuthal equidistantYesYesNo18/10/11See (1) below
LAEALambert azimuthal equal areaYesYesYes18/10/11
LCC1SPLambert conformal?Yes*?18/10/11See note below.
LCC2SPLambert conformalYesYesYes18/10/11
CEALambert Cylindrical Equal AreaYesPartialNo18/10/11Tested regular OGC WKT with std_parallel version (CF-1 has alternative scale_factor_at_projection_origin version, see notes below). See (1) below re NetCDF-Java loading.
M-1SPMercatorYesYesNo18/10/11See (1) below
M-2SPMercatorYesYesYes*18/10/11Parameters appear correct, loads in NetCDF Java and IDV, but appears translated slightly (a few arc-minutes) from expected position
OrthoOrthographicYesYesYes18/10/11
PSPolar stereographicYes*YesNo*21/12/11Believe we can translate parameters correctly, but see comments below. Translated file opens in NetCDF-Java IDV, but doesn't display as correctly georeferenced.
Rot PoleRotated poleNoNoNo18/10/11See projection comments below
StStereographicYesYesYes18/10/11
TMTransverse MercatorYesYesYes18/10/11

General notes:

(1) For projections that won't load correctly as referenced grids in NetCDF Java, we've contacted the developers to ask for clarification/testing support. In most cases, the CF-1 attributes seem appropriate.

Issues with CF-1 implementation of specific projections:

  • AEA : The OGC WKT version has 2 Std parallels - whereas the CF-1.5 version says it can have either 1 or 2 std parallels. How should the CF 1SP version be converted to OGC WKT, and vice-versa?
    • Currently the driver, on import and finding an AEA with only 1 std parallel, will set the 2nd std parallel in the WKT as identical to the first.
  • LCC : The OGC WKT 'Lambert_Conformal_Conic_2SP' maps clearly to LCC in CF-1 with 2 std parallels. The CF-1 spec claims that a 1SP version can be used, but it doesn't include a 'scale_factor' as does the OGC WKT 'Lambert_Conformal_Conic_1SP'.
    • For import: Given discussion and example on #3324, and also support from NARCCAP project: it seems the CF-1 LCC 1SP projection is a 'degenerate' LCC-2SP with both SP's at the same location. Thus seems we can read with both 'std_parallel' (1 value) and 'latitude_of_projection_origin' mapping to latitude_of_origin (WKT) and setting scale_factor=1? This is the code's current behaviour (though perhaps could do more error-checking).
    • For export: given the LCC-1SP can specifically include a scale_factor to control the projection (see http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_1sp.html), it seems this can't be directly exported to NetCDF without throwing away the scale factor.
      • Perhaps the reasonable thing for now is to export the scale_factor to NetCDF, so it can at least be read back in. Otherwise, we'd have to try to translate the LCC-1SP to a LCC-2SP on the fly.
  • CEA : The CF-1 conventions claim this can be encoded with a 'scale_factor_at_projection_origin' alternative to standard parallel - how would this conversion be done from/to OGC WKT (which requires central_meridian and standard_parallel_1)?
  • PS : This projection's parameters in CF-1 are significantly different from http://www.remotesensing.org/geotiff/proj_list/polar_stereographic.html. In particular the CF-1 equivalent for 'latitude of natural origin' seems to be 'standard_parallel'. CF-1 defines either standard_parallel or scale_factor_at_projection_origin, which is incompatible with OGC WKT (and OGR) that requires both. Snyder's eq. 22-7 allows to relate standard_parallel and scale_factor_at_projection_origin, given that the standard_parallel is defined as the latitude where scale_factor=1. Implementation as of Dec. 21:
    • WKT scale_factor maps to CF scale_factor_at_projection_origin
    • WKT central_meridian maps to CF straight_vertical_longitude_from_pole
    • WKT latitude_of_origin maps to WKT standard_parallel
    • WKT to CF: if WKT latitude_of_origin is positive then CF latitude_of_projection_origin is +90, else it is -90 (North vs. South Pole), scale factor is not exported
    • CF to WKT: is standard_parallel is not defined, compute it from scale_factor using Snyder 22-7
  • Rot pole : Not able yet to test: as seems GDAL needs support of advanced proj4 strings that can handle rotated coord systems (see bug #4285).

Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.