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

[THREDDS #YXL-373395]: IndexOutOfBoundsException



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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.