[thredds] NetCDF Subset Service for curvilinear grid as point data: unexpected ArrayIndexOutOfBoundsException

  • To: THREDDS Users <thredds@xxxxxxxxxxxxxxxx>
  • Subject: [thredds] NetCDF Subset Service for curvilinear grid as point data: unexpected ArrayIndexOutOfBoundsException
  • From: John Maurer <jmaurer@xxxxxxxxxx>
  • Date: Thu, 14 Apr 2011 14:37:06 -1000
Aloha TDS Folks,
I've run into a problem trying to download data for several of our
curvilinear grids as point data using the NetCDF Subset Service (NCSS). Not
only are the latitude and longitude returned different from the latitude and
longitude I request (even though I'm supposedly using grid center points
reported via ncWMS), it sometimes produces the following error for latitudes
and longitudes that I know are within bounds and contain valid data (see
error below from threddsServlet.log). It would seem that there is a bug in
how TDS is trying to convert the specified latitude and longitude to grid
coordinates?, which may perhaps be related to these grids being curvlinear
(two-dimensional lat/lon variables)? I was hoping to deploy this soon as a
method for users to download recent data (from our TDS) at a clicked
location within our Google Maps interface. Any help would be greatly
appreciated!
Mahalo,
John Maurer
Pacific Islands Ocean Observing System (PacIOOS)

The full URL for the example request failure would be:

http://oos.soest.hawaii.edu/thredds/ncss/grid/hioos/roms_forec/hiog/HI-ROMS_Forecast_Model_Run_Collection_best.ncd?accept=csv&var=temp&time_end=2011-04-15T00:00:00Z&time_duration=PT24H&vertCoord=-0.016666666666666666&point=true&latitude=21.177492141723633&longitude=-158.25900268554688

An example request that succeeds for a nearby location would be:

http://oos.soest.hawaii.edu/thredds/ncss/grid/hioos/roms_forec/hiog/HI-ROMS_Forecast_Model_Run_Collection_best.ncd?accept=csv&var=temp&time_end=2011-04-15T00:00:00Z&time_duration=PT24H&vertCoord=-0.016666666666666666&point=true&latitude=21.087862014770508&longitude=-157.67779541015625

threddsServlet.log:

2011-04-14T14:24:57.907 -1000 [  25941269][    5155] INFO  -
thredds.server.ncSubset.GridServlet - doGet(): Remote host: 128.171.151.240
- Request: "GET
/thredds/ncss/grid/hioos/roms_forec/hiog/HI-ROMS_Forecast_Model_Run_Collection_best.ncd?accept=csv&var=temp&time_end=2011-04-15T00:00:00Z&time_duration=PT24H&vertCoord=-0.016666666666666666&point=true&latitude=21.177492141723633&longitude=-158.25900268554688
HTTP/1.1"
2011-04-14T14:24:57.928 -1000 [  25941290][    5155] ERROR -
thredds.server.ncSubset.GridServlet - GridServlet.processGridAsPoint
java.lang.ArrayIndexOutOfBoundsException
        at ucar.ma2.Index2D.setDirect(Index2D.java:137)
        at ucar.ma2.ArrayDouble$D2.get(ArrayDouble.java:295)
        at
ucar.nc2.dataset.CoordinateAxis2D.getCoordValue(CoordinateAxis2D.java:76)
        at ucar.nc2.dt.grid.GridCoordSys.getLatLon(GridCoordSys.java:1065)
        at
ucar.nc2.dt.grid.GridAsPointDataset.readData(GridAsPointDataset.java:130)
        at
thredds.server.ncSubset.GridPointWriter.write(GridPointWriter.java:233)
        at
thredds.server.ncSubset.GridServlet.processGridAsPoint(GridServlet.java:298)
        at thredds.server.ncSubset.GridServlet.doGet(GridServlet.java:210)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
thredds.servlet.filter.RequestQueryFilter.doFilter(RequestQueryFilter.java:121)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
thredds.servlet.filter.RequestPathFilter.doFilter(RequestPathFilter.java:105)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
2011-04-14T14:24:57.929 -1000 [  25941291][    5155] INFO  -
thredds.server.ncSubset.GridServlet - Request Completed - 500 - 0 - 22
  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: