Re: NetCDF java libraries: versions 1 and 2

i have it on my "answer this email" list.
currently im sick and just doing triage. also, i will be gone next week so i may not get to it until after Tday.

but heres a short answer:

i assume matlab has acceess to all public classes and methods?

then you may want to open as ucar.nc2.dataset.NetcdfDataset to get access to coordinate systems, or better, with ucar.nc2.dataset.grid.GridDataset (if its a grid)

Rich Signell wrote:

John,

uh oh - now I know you're there!

If you got my recent e-mail inquiry about netcdf-java & OpenDAP, could you drop me a quick message to say whether you are:
1) pondering a reply and will answer eventually when time permits
2) using the "he'll-ask-again-if-it's-really-important" filter
3) ignoring it since it should have been asked to a news group

Thanks!
-Rich


John Caron wrote:



Scott Neu wrote:

Hello,

I know I'm somewhat behind the times, but a while ago I downloaded the
NetCDF java library version 1 and integrated that into my code. Everything has been great up until last July, when I started to receive
reports that my code was no longer able to parse certain NetCDF files.

The obvious solution is to upgrade to version 2, but the class library
has changed too much for me to do this quickly (and I just don't have
the time right now).

My question is: is there a quick patch I can write to parse these newer NetCDF files using the version 1 library?



no, im afraid version 1 is no longer maintained.

Did a substantial change

occur in the definition of NetCDF files?



one possibility is that you are seeing truncated files. double check with the C library ncdump program, and dump the values of the last variable in the file. if that fails, you have a truncated file.

otherwise, maybe you are seeing the "truncated netcdf problem" where the writer doesnt write all the bytes to the file. this has always been there and i guess you are just seeing these now (??).

there has been a change to allow files > 2 GB, but those files are not in wide circulation. dump out the first 4 bytes of your file, old version has CDF1 and new has CDF2 (where the 4th byte is numeric, not character)


I get end-of-file errors as the offsets to the variable data are larger
than the file lengths themselves.

thanks for any helpful advice,
Scott

java.io.EOFException
        at
javax.imageio.stream.ImageInputStreamImpl.readInt(ImageInputStreamImpl.java:235)
        at
ucar.netcdf.NetcdfStream$V1IntegerIo.readArray(NetcdfStream.java:1090)
        at ucar.netcdf.NetcdfStream$V1Io.toArray(NetcdfStream.java:757)
        at ucar.netcdf.NetcdfStream$V1Io.toArray(NetcdfStream.java:721)
        at ucar.netcdf.Variable.toArray(Variable.java:296)
        at ucar.nc2.Variable.read(Variable.java:229)
        at ucar.nc2.NetcdfStream.cacheData(NetcdfStream.java:102)