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.
>To: address@hidden >From: Carlie Coats <address@hidden> >Subject: NCSNC problem with netCDF v3.4 >Organization: MCNC/NCSC Environmental Programs >Keywords: 199908101517.JAA21345 Carlie, > The bug repeats with "netcdf-3.5-beta1". I was afraid of that. It sounds like we should delay further plans for the 3.5 release until we determine the cause of this problem and fix it. No one else has reported this sort of problem with NCSNC, NF_SYNC, or nc_sync, though, so it may still be a problem with the fact that you're mixing 3.3.1 and 3.4 objects ... > Further info -- I'm calling everything through a library that itself > calls the NetCDF2 interface (the "NC*()" instead of the "NF*()"'s); > the library is Fortran, and is compiled using the 3.3.1 version of > "netcdf.inc". Upon further examination, I see differences in > "implementatinon" among the various versions of "netcdf.inc", but > it looks to me as though the _values_ they define should be the same > across all of them. The values of the error codes in the Fortran interface actually changed between 3.3.1 and 3.4, as noted by this excerpt from the 3.4 release notes Bug Fixes section at http://www.unidata.ucar.edu/packages/netcdf/announce-3.4.html The values of the version 2 Fortran error codes have been modified to make the version 2 Fortran interface more backward compatible at the source level. This shouldn't make any difference if you are just checking whether an error return is non-zero, but if you are checking against Fortran parameters for error code values, it could make a lot of difference. Would it be too inconvenient to rebuild the library you are using to use the 3.4 or 3.5 (they should be the same) version of netcdf.inc instead, just to eliminate this as a possible source of the problem? > My setup that demonstrates the problem presently has quite a bit > of 'scaffolding" involved (a set of wrappers that wraps simultaneously > around both the netCDF and the PVM, as well as the data files and (in > the simplest case) a "pseudo-model" for P and the program for Q). > Are you interested in a copy of that? I'd prefer if we could come up with a small program that demonstrated the bug. Then we could even include it with our test suite so that this kind of bug doesn't get reintroduced in a future version, as it may have between 3.3.1 and 3.4. We don't even have PVM installed here (or MPI for that matter), so it would be some amount of work to even get to the point that we could use your infrastructure to demonstrate the problem and see whether it's platform-dependent (which might involve installing PVM on lots of platforms). We will need something like PVM's mailboxes to communicate between the writer and reader of the same netCDF file, but we might be able to just use signals or some portable mechanism that would work in our test cases, without requiring that PVM be installed to test a netCDF release ... --Russ