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

Re: 20050214:NetCDF 3.6.0 Bug



Ed,

Kevin Thomas wrote:

> As you might know, I've been trying to get WRFSI to run with netCDF 3.6.0.  My
> original runs were in December with 3.6.0_beta6.  I'm now using 3.6.0.
>
> The problem was that the 0 hour WRFSI files were 64-bit, while later ones were
> in 32-bit.  Since the sizes were >2gb, the later files were pure garbage.
>
> I've been playing around with the problem, and I have an explanation.  I 
> believe
> I can show that this is a netCDF bug.

It looks Kevin found a bug (thanks, Kevin!).  On open of a 64-bit
offset file, all the existing variable offsets are read in and stored
correctly, but the fact that it is a v2 file is not stored in
ncp->flags, so a later nc_redef() to add more variables would use v1
offsets for them.  Also a later nc_enddef() even after just adding
attributes would use the wrong check for variable sizes, possibly
reporting that a v2 variable is too big.  I'm amazed this got through
all our beta testing, but I never thought of doing an nc_redef() on a
v2 file to try to add more variables.

I'll try to fix this and add tests for it in 3.6.1 as my top priority,
which means I'll have to abandon the parallel I/O testing in netCDF-4
for a while until this is fixed.

--Russ