[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[THREDDS #YXL-373395]: IndexOutOfBoundsException
- Subject: [THREDDS #YXL-373395]: IndexOutOfBoundsException
- Date: Wed, 10 Apr 2013 15:02:59 -0600
Fan,
I think the problem is that the variable float ta is defined with dimensions
[time plev lat lon]. Instead, the order on the dimensions should be reversed
to [lon lat plev time]. If you try to open the file with the ToolsUI
FeatureType->Grids, you get a nicer error that says no grids are found in the
file. Running the TDS in the debugger shows the same problem, but the TDS
isn't giving a nice error message.
Thanks for bringing this to our attention!
-Lansing
> Hi Lansing,
>
> I have a sample file at
>
> ftp://hydro1.sci.gsfc.nasa.gov/private/ffang/ta_AIRS.2002.09.01.L3.RetStd030.v5.0.14.0.G07283162057.hdf.nc
>
> We also aggregate these granules in time. Both granules and the aggregation
> has the same symptom.
>
> -Fan
> ________________________________________
> From: Unidata THREDDS Support [address@hidden]
> Sent: Wednesday, April 10, 2013 1:38 PM
> To: Fang, Fan (GSFC-610.2)[ADNET SYSTEMS INC]
> Subject: [THREDDS #YXL-373395]: IndexOutOfBoundsException
>
> Hi Fan,
>
> Can you send me the file, or otherwise make it available? I'll look at it
> and see what I find.
>
> -Lansing Madry
> Unidata
> Boulder, Colorado
>
> > Hi.
> >
> > I am testing a netCDF dataset on a TDS server version 4.3.14. Curiously
> > the netcdf subset service gives me 500 Internal Server Error. The
> > 'threddsServlet.log' shows a IndexOutOfBoundsException:
> >
> > 2013-04-08T17:36:45.411 +0000 [ 2624702][ 84] INFO -
> > threddsServlet - Remote host: 128.183.162.99 - Request: "GET
> > /thredds/ncss/grid/ESG_AIRX3STM_TA/2002/ta_AIRS.2002.12.01.L3.RetStd031.v5.0.14.0.G07295003749.hdf.nc/dataset.html
> > HTTP/1.1"
> > 2013-04-08T17:36:45.417 +0000 [ 2624708][ 84] ERROR -
> > thredds.server.ncSubset.dataservice.NcssShowDatasetInfoImpl -
> > ForecastModelRunServlet internal error
> > java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> > at java.util.ArrayList.rangeCheck(ArrayList.java:604)
> > at java.util.ArrayList.get(ArrayList.java:382)
> > at
> > ucar.nc2.dt.grid.GridDatasetInfo.makeGridForm(GridDatasetInfo.java:266)
> > at
> > thredds.server.ncSubset.dataservice.NcssShowDatasetInfoImpl.showForm(NcssShowDatasetInfoImpl.java:51)
> > ...
> >
> > I enclose the CDL here - wonder which netcdf definition here can lead to
> > this error?
> >
> > The OPeNDAP service works fine, but we need netcdf subset/download
> > service on the server side. If you need a sample netcdf data please let
> > me know.
> >
> > Thanks.
> >
> > -Fan
> >
> > netcdf ta_AIRS.2002.12.01.L3.RetStd031.v5.0.14.0.G07295003749.hdf {
> > dimensions:
> > lat = 180 ;
> > bnds = 2 ;
> > lon = 360 ;
> > plev = 17 ;
> > time = UNLIMITED ; // (1 currently)
> > variables:
> > double lat(lat) ;
> > lat:_CoordinateAxisType = "Lat" ;
> > lat:axis = "Y" ;
> > lat:bounds = "lat_bnds" ;
> > lat:long_name = "latitude" ;
> > lat:standard_name = "latitude" ;
> > lat:units = "degrees_north" ;
> > double lat_bnds(lat, bnds) ;
> > double lon(lon) ;
> > lon:_CoordinateAxisType = "Lon" ;
> > lon:axis = "X" ;
> > lon:bounds = "lon_bnds" ;
> > lon:long_name = "longitude" ;
> > lon:standard_name = "longitude" ;
> > lon:units = "degrees_east" ;
> > double lon_bnds(lon, bnds) ;
> > double plev(plev) ;
> > plev:_CoordinateAxisType = "Pressure" ;
> > plev:_CoordinateZisPositive = "down" ;
> > plev:axis = "Z" ;
> > plev:long_name = "pressure" ;
> > plev:positive = "down" ;
> > plev:standard_name = "air_pressure" ;
> > plev:units = "Pa" ;
> > float ta(time, plev, lat, lon) ;
> > ta:_FillValue = 1.e+20f ;
> > ta:cell_measures = "area: areacella" ;
> > ta:cell_methods = "time: mean" ;
> > ta:long_name = "Air Temperature" ;
> > ta:missing_value = 1.e+20f ;
> > ta:standard_name = "air_temperature" ;
> > ta:units = "K" ;
> > double time(time) ;
> > time:units = "days since 2000-01-01" ;
> > time:_CoordinateAxisType = "Lon" ;
> > time:axis = "T" ;
> > time:bounds = "time_bnds" ;
> > time:calendar = "standard" ;
> > time:long_name = "time" ;
> > time:standard_name = "time" ;
> > double time_bnds(time, bnds) ;
> >
> > }
> >
> >
>
>
> Ticket Details
> ===================
> Ticket ID: YXL-373395
> Department: Support THREDDS
> Priority: Normal
> Status: Open
>
>
Ticket Details
===================
Ticket ID: YXL-373395
Department: Support THREDDS
Priority: Normal
Status: Open