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.
Hi Adrian, Thank you for bringing this issue to our attention. We believe we have implemented a solution in our latest release (4.3.16), though it is not tested, and we would appreciate your feedback on it. Note that, due to the nature of grib files and their associated tables (as opposed to a self-contained dataset such as NetCDF), the netcdf-java code will still need to maintain ncx and gbx9 files on disk. Cheers, Lansing Madry Unidata Boulder, Colorado > Hi, > > I have run into a bug while trying to read a grib2 files from a byte > array. > > I am trying to use the static method > NetcdfFile openInMemory(String name, byte[] data) > > But the Grib2Iosp clas is calling the makeIndex method in the Grib2Index > cl= ass which is using the location to try and open a RandomAccessFile > using th= e filename. It seems the Grib2Index class is written based > on files on dis= k and does not support data in memory. > > This all fails in a heap since there isn't a file on disk. > > Here is the stack trace I'm getting: > Exception in thread "main" java.io.FileNotFoundException: test-file (The > system cannot find the file specified) > at java.io.RandomAccessFile.open(Native Method) > at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233) > at java.io.RandomAccessFile.<init>(RandomAccessFile.java:118) > at ucar.unidata.io.RandomAccessFile.<init>(RandomAccessFile.java:277) > at ucar.unidata.io.RandomAccessFile.<init>(RandomAccessFile.java:259) > at ucar.nc2.grib.grib2.Grib2Index.makeIndex(Grib2Index.java:234) > at > ucar.nc2.grib.GribIndex.makeGribCollectionFromSingleFile(GribIndex.java:112) > at ucar.nc2.grib.grib2.Grib2Iosp.open(Grib2Iosp.java:310) > at ucar.nc2.NetcdfFile.<init>(NetcdfFile.java:1499) > at ucar.nc2.NetcdfFile.open(NetcdfFile.java:887) > at ucar.nc2.NetcdfFile.openInMemory(NetcdfFile.java:793) > at griberror.TestGribReading.main(TestGribReading.java:22) > > Cheers > > Adrian Jarvis > Senior Java Developer, > MetService New Zealand Ltd > > > Ticket Details =================== Ticket ID: WHR-919836 Department: Support netCDF Java Priority: High Status: Open