[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

回覆: [THREDDS #IQM-984529]: Can't get THREDDS WCS GetCoverage to work



Dear Sean,

No, it's my pleasure to help improve THREDDS, so please feel relieved to use 
the file.

Thanks,

Brad
________________________________
寄件者: Unidata THREDDS Support <address@hidden>
寄件日期: 2017年10月13日 上午 02:02
收件者: address@hidden
主旨: [THREDDS #IQM-984529]: Can't get THREDDS WCS GetCoverage to work

Greetings Brad,

This WCS issue will be fixed before 5.0 officially goes into beta status. Would 
you mind if I opened a github issue using the example dataset you sent 
(Taipei_79mm.nc)? If not, I can try to mock up a fake file to trigger the issue.

As for the Godiva3 error, it looks like the error message in the catalina log 
file points to the ESGF authentication code not understanding the requests 
being generated by Godiva3 to the TDS WMS server. This might be an issue if the 
ESGF authorization code is looking for certain parameters to be passed along 
with the URL.

Also, I am going to push our conversation into our support system, just in case 
others on the team have some input.

Cheers,

Sean

On Wed, Oct 11, 2017 at 3:39 AM, \u3042\u3093\u3053\u304f AF2 <address@hidden> 
wrote:
Dear Sean,

I have sucessfully make a WCS download GeoTIFF on THREDDS 4.6.9 unsing your 
example.
But if i have a plan to upgrade the THREDDS 4.6.X to 5+ at future, it's 
possible will fix handling GRID data problem, or i need change my NetCDF file 
format?

This example NetCDF file is generated export from Delft-FEWS, i think deltares 
has modify NetCDF-Java themselves to handle this for  UGRID conventions.

by the way, i still have a some questions as following:

I have test the NetCDF  attachment file with THREDDS  4.6.9 WMS, it's perfectly 
work with godiva2, when i change select time options, it's will to appear 
correct WMS image.
But is not correct work on ESGF-5.0.1 godiva3, when  i change select time 
options, it's always freeze WMS image at default time, and the log message is 
as follows mail attachment file.
Its cause new class for handling GRID data?

Thanks for the help!

Brad



\u5bc4\u4ef6\u8005: Sean Arms <address@hidden>
\u5bc4\u4ef6\u65e5\u671f: 2017\u5e7410\u670810\u65e5 \u4e0b\u5348 11:54
\u6536\u4ef6\u8005: \u3042\u3093\u3053\u304f AF2

\u4e3b\u65e8: Re: [thredds] Can't get THREDDS WCS GetCoverage to work

Greetings Brad,

I can confirm that WCS isn't working on v5.0 (which is what ESGF-5.0.1 is 
using). This is likely due to the use of a new class for handling GRID data (we 
moved from GridDataset to a new class called Coverage) However, I am able to 
sucessfully make a request on 4.6.9 and 4.6.10 using the following:

localhost:8080/thredds/wcs/testWCS/Taipei_79mm.nc?service=WCS&version=1.0.0&request=GetCoverage&coverage=depth_below_surface_simulated&format=GeoTIFF&time=2017-08-11T16:00:00Z

In your example, you have the time as 2017-08-11T15:00:00Z, so perhaps this is 
why your request failed in 4.6.x?

Unrelated to the error, is this file actually following the UGRID conventions? 
I ask because it is listed in the global conventions attribute, and netCDF-Java 
should not be able to handle this fully yet.

Cheers,

Sean


On Mon, Oct 9, 2017 at 11:12 AM, \u3042\u3093\u3053\u304f AF2 <address@hidden> 
wrote:
Dear Sean:

Here is my test NetCDF file as an attachment.

Thanks for the help!

Brad
\u5bc4\u4ef6\u8005: Sean Arms <address@hidden>
\u5bc4\u4ef6\u65e5\u671f: 2017\u5e7410\u670810\u65e5 \u4e0a\u5348 01:02
\u6536\u4ef6\u8005: ???? AF2
\u526f\u672c: address@hidden
\u4e3b\u65e8: Re: [thredds] Can't get THREDDS WCS GetCoverage to work

Greetings Brad!

Is there any way you could share the netCDF file you are working with?

Thanks!

Sean


On Sun, Oct 8, 2017 at 9:37 AM, ???? AF2 <address@hidden> wrote:
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.




_______________________________________________
NOTE: All exchanges posted to Unidata maintained email lists are
recorded in the Unidata inquiry tracking system and made publicly
available through the web.  Users who post to any of the lists we
maintain are reminded to remove any personal information that they
do not want to be made public.

thredds mailing list
address@hidden
For list information or to unsubscribe,  visit: 
http://www.unidata.ucar.edu/mailing_lists/