[thredds] Can't get THREDDS WCS GetCoverage to work

  • To: "thredds@xxxxxxxxxxxxxxxx" <thredds@xxxxxxxxxxxxxxxx>
  • Subject: [thredds] Can't get THREDDS WCS GetCoverage to work
  • From: ???? AF2 <freecube@xxxxxxxxxxx>
  • Date: Sun, 8 Oct 2017 15:37:02 +0000
  • Authentication-results: unidata.ucar.edu; dkim=none (message not signed) header.d=none;unidata.ucar.edu; dmarc=none action=none header.from=hotmail.com;
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99
Dear All

Can anyone help me with trying to get a WCS 1.0.0 GetCoverage request to work 
with THREDDS?

I'm using THREDDS 4.6.9 and ESGF-5.0.1 get expected XML responses when I attempt
WCS GetCapabilities and DescribeCoverage requests.
However, when I attempt a GetCoverage request, with format equal to GeoTIFF or
NetCDF3, I get a "This web page is not available ERR_INVALID_RESPONSE"
error and Http error code 400.



The form of the WCS requests I'm attempting are as follows:

http://localhost:15333/thredds/wcs/Taiwan/Floods/Mitigation/Taipei_79mm.nc?service=WCS&version=1.0.0&request=GetCoverage&coverage=depth_below_surface_simulated&format=GeoTIFF&time=2017-08-11T15:00:00Z



I have used ToolsUI 4.6.10 to check that the dummy netCDF file is OK and
I can successfully display the gridded data in a netCDF file using the
FeatureTypes | Grid tab.  I can also display the dummy netCDF file in the
Godiva2 & Godiva3 viewer in the VM THREDDS instance.


The metadata header of the dummy netCDF file is as follows:

netcdf D:/WaitForWork/Taipei_79mm.nc {
  dimensions:
    time = 1;
    analysis_time = 1;
    y = 2205;
    x = 1633;
  variables:
    double z(y=2205, x=1633);
      :long_name = "height above mean sea level";
      :units = "meters";
      :axis = "Z";
      :positive = "up";
      :_FillValue = 9.96921E36; // double

    int crs;
      :long_name = "coordinate reference system";
      :grid_mapping_name = "latitude_longitude";
      :longitude_of_prime_meridian = 0.0; // double
      :semi_major_axis = 6378137.0; // double
      :inverse_flattening = 298.257223563; // double
      :crs_wkt = "GEOGCS[\"WGS 84\",\nDATUM[\"WGS_1984\",SPHEROID[\"WGS 
84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],\nPRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],\nUNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],\nAUTHORITY[\"EPSG\",\"4326\"]]";
      :proj4_params = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
      :epsg_code = "EPSG:4326";
      :_CoordinateTransformType = "Projection";
      :_CoordinateAxisTypes = "GeoX GeoY";

    float depth_below_surface_simulated(time=1, y=2205, x=1633);
      :long_name = "depth_below_surface_simulated";
      :units = "m";
      :_FillValue = -999.0f; // float
      :coordinates = "analysis_time";
      :grid_mapping = "crs";

    double time(time=1);
      :standard_name = "time";
      :long_name = "time";
      :units = "minutes since 1970-01-01 08:00:00.0 +0800";
      :axis = "T";
      :calendar = "gregorian";
      :_CoordinateAxisType = "Time";

    double analysis_time(analysis_time=1);
      :standard_name = "forecast_reference_time";
      :long_name = "forecast_reference_time";
      :units = "minutes since 1970-01-01 08:00:00.0 +0800";
      :_CoordinateAxisType = "RunTime";

    double y(y=2205);
      :standard_name = "latitude";
      :long_name = "y coordinate according to WGS 1984";
      :units = "degrees_north";
      :axis = "Y";
      :_FillValue = 9.96921E36; // double
      :_CoordinateAxisType = "Lat";

    double x(x=1633);
      :standard_name = "longitude";
      :long_name = "x coordinate according to WGS 1984";
      :units = "degrees_east";
      :axis = "X";
      :_FillValue = 9.96921E36; // double
      :_CoordinateAxisType = "Lon";

  // global attributes:
  :Conventions = "CF-1.6,UGRID-0.9";
  :title = "Data";
  :Metadata_Conventions = "Unidata Dataset Discovery v1.0";
  :date_created = "2017-09-07 13:44:47 GMT+8";
  :_CoordSysBuilder = "ucar.nc2.dataset.conv.CF1Convention";
}


and Thredds threddsServlet.log Message is as follows:

2017-10-08T23:00:39.837 +0800 [   1219535][      29] INFO  - threddsServlet - 
Remote host: 0:0:0:0:0:0:0:1 - Request: "GET 
/thredds/wcs/Taiwan/Floods/Mitigation/Taipei_79mm.nc?service=WCS&version=1.0.0&request=GetCoverage&coverage=depth_below_surface_simulated&format=GeoTIFF&time=2017-08-11T16:00:00Z
 HTTP/1.1"
2017-10-08T23:00:39.858 +0800 [   1219556][      29] ERROR - 
thredds.server.wcs.WcsHandler - Unknown problem.
java.lang.ArrayIndexOutOfBoundsException: -1
        at 
ucar.nc2.ft2.coverage.adapter.DtCoverage.readDataSection(DtCoverage.java:579) 
~[cdm-ESGF-5.0.1.jar:ESGF-5.0.1]
        at 
ucar.nc2.ft2.coverage.adapter.DtCoverageAdapter.readData(DtCoverageAdapter.java:404)
 ~[cdm-ESGF-5.0.1.jar:ESGF-5.0.1]
        at ucar.nc2.ft2.coverage.Coverage.readData(Coverage.java:190) 
~[cdm-ESGF-5.0.1.jar:ESGF-5.0.1]
        at 
thredds.server.wcs.v1_0_0_1.WcsCoverage.writeCoverageDataToFile(WcsCoverage.java:201)
 ~[classes/:ESGF-5.0.1]
        at 
thredds.server.wcs.v1_0_0_1.GetCoverage.writeCoverageDataToFile(GetCoverage.java:155)
 ~[classes/:ESGF-5.0.1]
        at thredds.server.wcs.WcsHandler.handleKVP(WcsHandler.java:110) 
[classes/:ESGF-5.0.1]
        at thredds.server.wcs.WCSController.doGet(WCSController.java:134) 
[classes/:ESGF-5.0.1]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_112]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
 [spring-web-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
 [spring-web-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
 [spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) 
[servlet-api.jar:?]



Can anyone shed any light on what I might be doing wrong and why I
can't get a GetCoverage WCS request to work?

Many thanks, best wishes, Brad.




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