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

Re: 20041130: NetCDF 3.6.0 Bugs



>To: address@hidden
>From: "Kevin W. Thomas" <address@hidden>
>Subject: NetCDF 3.6.0 Bugs
>Organization: OU
>Keywords: 200412010015.iB10F6lI010328 netCDF 3.6.0

Hi Kevin,

> I have a couple of netCDF 3.6.0_beta6 bugs to report.
> 
> (1)  Scenerio...
> 
>      I'm trying to run WRFSI 2.0.1 on an SGI with 64-bit binaries.  My goal
>      is to process a huge grid.  The problem is that I start getting a lot
>      of netCDF errors due to functions returning NC_EVARSIZE, even though
>      I modified the code to call "NF_OPEN" correctly.

To create a netCDF file with 64-bit offsets, you must explicitly call
NF_CREATE with the 64-bit offset flag.  There's no way to get that
flag set correctly by just calling NF_OPEN (and there shouldn't be,
since then the file might have both 32-bit offsets and 64-bit
offsets).  

Are you calling NF_CREATE rather than NF_OPEN with something like:

  iret = nf_create('foo.nc',
                   OR(NF_NOCLOBBER,NF_64BIT_OFFSET),
                   ncid)

>      I've isolated the problem to a "NF_ENDDEF" call.  The call eventually
>      ends up in "NC_begins".  ncp->flags is zero, so "sizeof_off_t" is always
>      set to 4.  The problem is that earlier on when the "ncp" pointer is
>      first set, the value of "flags" is never set.
> 
>      My workaround is to hardwire "sizeof_off_t" to 8 in "NC_begins", as I
>      require this option.

If this is still a problem even after the correct NF_CREATE call, we'd
like to be able to duplicate the problem here and fix it.  In that
case, could you at least send us a CDL of the file you are trying to
create and any other details we would need to duplicate the problem?  

Thanks!

--Russ