This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
=============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research address@hidden WWW: http://www.unidata.ucar.edu/ =============================================================================== ---------- Forwarded message ---------- Date: Thu, 12 May 2005 10:00:33 -0500 From: Dave Santek <address@hidden> To: Robb Kambic <address@hidden> support-thredds <address@hidden>, decoders <address@hidden> Subject: Re: 20050414: IDV - Error reading GRIB file The gribsimp program is part of the MEL package: https://mel.dmso.mil/mel_tools/grib.jsp I wonder if using 'cat' to glue them together is the problem. Do you know which grid is bad [or the one before?]. I think the 43rd grid is a 400mb temperature.... dave Robb Kambic wrote: > On Tue, 10 May 2005, Dave Santek wrote: > > >>Hi Robb, >> >>Don got back to me with this: >> >>"Thanks for the report. We'll look into this and get back to you. >>It's great to have users fully exercise the GRIB stuff in ways that >>we don't normally do this. " >> >>but, I haven't heard from him since [at least I don't have a record of it]. >> >>I put the file back at: >> >>ftp://ftp.ssec.wisc.edu/pub/incoming/grib.test >> > > > i got the file and ran some test on it. the problem was record 43 was > somewhat corrupt, length was wrong in the PDS section of the file. this > cause my code to barf, so i added a check for the length of the PDS > section and to skip that record if it didn't match amount of data read. > next release you should be able to read these type of files. > > > could you point me to the utility that you used to split the file into > individual records? is this utility widely used? > > robb... > > > > > > >>it will only stay there for a week.... >> >>Thanx! >>dave >> >>Robb Kambic wrote: >> >> >>>dave, >>> >>>did you every get back a response to your question? i was cleaning out my >>>mail box and i saw you message. also, i tried to download you grib.test >>>file but could not locate it. >>> >>>robb... >>> >>> >>> >>> >>>On Thu, 14 Apr 2005, Unidata Support wrote: >>> >>> >>> >>>>>To: address@hidden >>>>>From: "Dave Santek" <address@hidden> >>>>>Subject: IDV - Error reading GRIB file >>>>>Organization: SSEC >>>>>Keywords: 200504140356.j3E3ujJ9004059 >>>> >>>>Institution: SSEC >>>>Package Version: 1.2b2 >>>>Operating System: os.name:Windows XP; os.arch:x86; os.version:5.1; >>>>Hardware Information: java.vendor:Sun Microsystems Inc.; >>>>java.version:1.4.2_01; java.home:C:\\Program Files\\IDV_1.2a2\\jre; >>>>Inquiry: Hi, >>>> >>>>I pasted in the entire error message below. I'm trying to read a GRIB file >>>>that contains >>>>300 grids from 2 or 3 forecasts times. I created this file by using >>>>gribsimp to break a >>>>GRIB file into separate files, then using 'cat' to concatenate the ones I >>>>want into a >>>>single file. I was able to do this with some other files that contained >>>>only one >>>>forecast time [although it was output from a different model]. But, now I >>>>want to >>>>get a time sequence together. Is it the multiple times causing the problem? >>>> >>>>If you're interested in looking at the GRIB file, it's at: >>>> >>>>ftp://ftp.ssec.wisc.edu/pub/incoming/grib.test >>>> >>>>Thanks! >>>>dave >>>> >>>>An error has occurred: >>>>There was an error loading the data: >>>> >>>>java.lang.NegativeArraySizeException >>>> at >>>> ucar.grib.grib1.Grib1GridDefinitionSection.<init>(Grib1GridDefinitionSection.java:160) >>>> at ucar.grib.grib1.Grib1Input.scan(Grib1Input.java:92) >>>> at ucar.grib.grib1.Grib1Indexer.writeFileIndex(Grib1Indexer.java:74) >>>> at >>>> ucar.nc2.iosp.grib.GribServiceProvider.writeIndex(GribServiceProvider.java:91) >>>> at >>>> ucar.nc2.iosp.grib.GribServiceProvider.getIndex(GribServiceProvider.java:68) >>>> at >>>> ucar.nc2.iosp.grib.Grib1ServiceProvider.open(Grib1ServiceProvider.java:69) >>>> at ucar.nc2.NetcdfFile.<init>(NetcdfFile.java:640) >>>> at ucar.nc2.NetcdfFile.open(NetcdfFile.java:258) >>>> at ucar.nc2.NetcdfFile.open(NetcdfFile.java:207) >>>> at ucar.nc2.dataset.NetcdfDataset.openFile(NetcdfDataset.java:227) >>>> at ucar.nc2.dataset.NetcdfDataset.openDataset(NetcdfDataset.java:125) >>>> at ucar.nc2.dataset.grid.GridDataset.open(GridDataset.java:65) >>>> at ucar.nc2.dataset.grid.GridDataset.factory(GridDataset.java:74) >>>> at >>>> ucar.unidata.data.grid.GeoGridDataSource.doMakeDataSet(GeoGridDataSource.java:266) >>>> at >>>> ucar.unidata.data.grid.GeoGridDataSource.getDataset(GeoGridDataSource.java:283) >>>> at >>>> ucar.unidata.data.grid.GeoGridDataSource.doMakeDataChoices(GeoGridDataSource.java:297) >>>> at >>>> ucar.unidata.data.DataSourceImpl.getDataChoices(DataSourceImpl.java:958) >>>> at ucar.unidata.data.DataManager.createDataSource(DataManager.java:842) >>>> at >>>> ucar.unidata.idv.IntegratedDataViewer.createDataSource(IntegratedDataViewer.java:1270) >>>> at >>>> ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1208) >>>> at >>>> ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1189) >>>> at >>>> ucar.unidata.idv.chooser.IdvChooser.makeDataSource(IdvChooser.java:334) >>>> at >>>> ucar.unidata.idv.chooser.FileChooser.selectFileInner(FileChooser.java:382) >>>> at ucar.unidata.idv.chooser.FileChooser.selectFile(FileChooser.java:262) >>>> at ucar.unidata.idv.chooser.FileChooser.doLoad(FileChooser.java:278) >>>> at ucar.unidata.ui.ChooserPanel.actionPerformed(ChooserPanel.java:130) >>>> at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) >>>> at >>>> javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown >>>> Source) >>>> at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) >>>> at javax.swing.DefaultButtonModel.setPressed(Unknown Source) >>>> at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown >>>> Source) >>>> at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) >>>> at java.awt.Component.processMouseEvent(Unknown Source) >>>> at java.awt.Component.processEvent(Unknown Source) >>>> at java.awt.Container.processEvent(Unknown Source) >>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>> at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) >>>> at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) >>>> at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) >>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>> at java.awt.Window.dispatchEventImpl(Unknown Source) >>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> at java.awt.EventDispatchThread.run(Unknown Source) >>>> >>>> >>>>****************** >>>>Stack trace: >>>>java.lang.NegativeArraySizeException >>>> at >>>> ucar.grib.grib1.Grib1GridDefinitionSection.<init>(Grib1GridDefinitionSection.java:160) >>>> at ucar.grib.grib1.Grib1Input.scan(Grib1Input.java:92) >>>> at ucar.grib.grib1.Grib1Indexer.writeFileIndex(Grib1Indexer.java:74) >>>> at >>>> ucar.nc2.iosp.grib.GribServiceProvider.writeIndex(GribServiceProvider.java:91) >>>> at >>>> ucar.nc2.iosp.grib.GribServiceProvider.getIndex(GribServiceProvider.java:68) >>>> at >>>> ucar.nc2.iosp.grib.Grib1ServiceProvider.open(Grib1ServiceProvider.java:69) >>>> at ucar.nc2.NetcdfFile.<init>(NetcdfFile.java:640) >>>> at ucar.nc2.NetcdfFile.open(NetcdfFile.java:258) >>>> at ucar.nc2.NetcdfFile.open(NetcdfFile.java:207) >>>> at ucar.nc2.dataset.NetcdfDataset.openFile(NetcdfDataset.java:227) >>>> at ucar.nc2.dataset.NetcdfDataset.openDataset(NetcdfDataset.java:125) >>>> at ucar.nc2.dataset.grid.GridDataset.open(GridDataset.java:65) >>>> at ucar.nc2.dataset.grid.GridDataset.factory(GridDataset.java:74) >>>> at >>>> ucar.unidata.data.grid.GeoGridDataSource.doMakeDataSet(GeoGridDataSource.java:266) >>>> at >>>> ucar.unidata.data.grid.GeoGridDataSource.getDataset(GeoGridDataSource.java:283) >>>> at >>>> ucar.unidata.data.grid.GeoGridDataSource.doMakeDataChoices(GeoGridDataSource.java:297) >>>> at >>>> ucar.unidata.data.DataSourceImpl.getDataChoices(DataSourceImpl.java:958) >>>> at ucar.unidata.data.DataManager.createDataSource(DataManager.java:842) >>>> at >>>> ucar.unidata.idv.IntegratedDataViewer.createDataSource(IntegratedDataViewer.java:1270) >>>> at >>>> ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1208) >>>> at >>>> ucar.unidata.idv.IntegratedDataViewer.makeDataSource(IntegratedDataViewer.java:1189) >>>> at >>>> ucar.unidata.idv.chooser.IdvChooser.makeDataSource(IdvChooser.java:334) >>>> at >>>> ucar.unidata.idv.chooser.FileChooser.selectFileInner(FileChooser.java:382) >>>> at ucar.unidata.idv.chooser.FileChooser.selectFile(FileChooser.java:262) >>>> at ucar.unidata.idv.chooser.FileChooser.doLoad(FileChooser.java:278) >>>> at ucar.unidata.ui.ChooserPanel.actionPerformed(ChooserPanel.java:130) >>>> at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) >>>> at >>>> javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown >>>> Source) >>>> at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) >>>> at javax.swing.DefaultButtonModel.setPressed(Unknown Source) >>>> at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown >>>> Source) >>>> at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) >>>> at java.awt.Component.processMouseEvent(Unknown Source) >>>> at java.awt.Component.processEvent(Unknown Source) >>>> at java.awt.Container.processEvent(Unknown Source) >>>> at java.awt.Component.dispatchEventImpl(Unknown Source) >>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>> at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) >>>> at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) >>>> at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) >>>> at java.awt.Container.dispatchEventImpl(Unknown Source) >>>> at java.awt.Window.dispatchEventImpl(Unknown Source) >>>> at java.awt.Component.dispatchEvent(Unknown Source) >>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) >>>> at java.awt.EventDispatchThread.run(Unknown Source) >>>> >>>> >>>> >>>>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. >>>> >>> >>> >>>=============================================================================== >>>Robb Kambic Unidata Program Center >>>Software Engineer III Univ. Corp for Atmospheric >>>Research >>>address@hidden WWW: http://www.unidata.ucar.edu/ >>>=============================================================================== >> > > =============================================================================== > Robb Kambic Unidata Program Center > Software Engineer III Univ. Corp for Atmospheric Research > address@hidden WWW: http://www.unidata.ucar.edu/ > ===============================================================================