NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

[netcdfgroup] 64-bit offset flag ignored by netcdf 4.3.3.1 for pnetcdf?

Howdy,

I have been using netcdf-c-4.3.1.1 (with a pnetcdf bug fix) for my weather 
model production runs, and just tried using 4.3.3.1 on a new system. I use the 
netcdf-4 interface to create a pnetcdf file, for which I pass the 64-bit offset 
bits:

  cmode  = ior(ior(NF90_PNETCDF,NF90_MPIIO),nf90_64bit_offset)
  status = nf90_create(filename, cmode, ncid, comm = my_comm, info = my_info)

I found that the files were being created as just "classic", however.

Wei-keng Liao found the problem in libsrc5/nc5dispatch.c, which had this:

75 #if 0
76     cmode &= (NC_WRITE | NC_NOCLOBBER | NC_LOCK | NC_SHARE | 
NC_64BIT_OFFSET);
77 #else
78     cmode &= (NC_WRITE | NC_NOCLOBBER | NC_LOCK | NC_SHARE );
79 #endif

which for whatever reason was clobbering the NC_64BIT_OFFSET bits. Is there any 
reason not to always use the first line, i.e., change this to "#if 1"? This is 
what I did, and it fixed the problem.

4.4.0-rc3 has the same issue in libsrcp/ncpdispatch.c (same line numbers). 
Shouldn't the first line (with "| NC_64BIT_OFFSET") be the default?

Cheers,

-- Ted

__________________________________________________________
| Edward Mansell <ted.mansell@xxxxxxxx>
| National Severe Storms Laboratory
|--------------------------------------------------------------
| "The contents of this message are mine personally and
| do not reflect any position of the U.S. Government or NOAA."
|--------------------------------------------------------------



  • 2015 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: