[netcdf-java] Units for Standard Coordinate Transforms [SEC=UNCLASSIFIED]

Hi,
I've been having some issues with the accurate display (via ncWMS/godiva) of 
some geostationary satellite data (netCDF4 with metadata that ~complies with CF 
1.6). I've tracked this down to the units of "perspective_point_height" aka 
"height_above_earth". CF uses m while the netcdf-java docs 
(http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/reference/StandardCoordinateTransforms.html)
 and source 
(https://github.com/Unidata/thredds/blob/4.5.3/cdm/src/main/java/ucar/unidata/geoloc/projection/VerticalPerspectiveView.java)
 suggest the input is in km. Which of these should I follow?

Details:
When I specify a "height_above_earth" of 35785831 m, the WMS display does not 
line up with coastlines (it seems shrunk). However, if I change this to 
35785.831, the coastlines are just about right. I think the remaining, minor, 
differences are due to a) inaccuracies of the satellite navigation and/or b) 
the use of semi_minor_axis and semi_major_axis in my projection spec (ie I 
don't supply "earth_radius" - so maybe the default Earth radius in km is being 
used).

My proj4 string is '+proj=geos +lon_0=145.0 +h=35785831 +a=6378169.0 
+b=6356583.8', while the attributes of the 'vertical_perspective' grid_mapping 
is:
                vertical_perspective:grid_mapping_name = "vertical_perspective" 
;
                vertical_perspective:inverse_flattening = 295.488065897 ;
                vertical_perspective:latitude_of_projection_origin = 0. ;
                vertical_perspective:longitude_of_projection_origin = 145. ;
                vertical_perspective:perspective_point_height = 35785831 ;
                vertical_perspective:height_above_earth = 35785831 ;
                vertical_perspective:semi_major_axis = 6356583.8 ;
                vertical_perspective:semi_minor_axis = 6378169. ;
                vertical_perspective:units = "m" ;
Note that I've already added a WKT string (under 
vertical_perspective:spatial_ref) for GDAL to be able to access the data 
correctly (not shown).

So, I can change my metadata to match the ncWMS code (and add a comment to that 
effect), but this would break my CF ~compliance (eg units of m). Alternatively, 
I could make local changes to our source (maintenance issues) or suggest 
changes to the code base (potentially catastrophic for users who have changed 
to km). I'd appreciate any suggestions.

Thanks,
Leon Majewski


  • 2014 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: