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 >cc: address@hidden >From: Darien Davis <address@hidden> >Subject: [Fwd: netcdf] >Organization: NOAA/FSL >Keywords: 200007121954.e6CJsLT18609 nc_sync bug Hi Darien, > I am forwarding this email on from one of our developers here at FSL. > We are currently using netcdf vs 3.4. > > Any help would be appreciated. The developer is Jim Ramer, > address@hidden ... Jim Ramer wrote: > Darien, I believe I have evidence that nc_sync does not work as > advertised for files opened for reading. > > This might have some bearing on that problem you mentioned once where > there were differences in which stations were plotting when metar > plots autoupdate. There was definitely a bug with nc_sync in netCDF 3.4 that resulted in it not working as advertised under some conditions. We fixed this bug in netCDF 3.5, currently available only in a beta release as netCDF 3.5beta3: ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-beta.tar.Z I've appended the RELEASE_NOTES for netCDF 3.5 containing a note about the nc_sync bug. We'd be interested if you could install the beta release and determine whether it fixes the bug Jim Ramer identified. If not, we'll need a small test case that demonstrates the problem ... --Russ RELEASE_NOTES: This file contains a high-level description of this package's evolution. Entries are in reverse chronological order (most recent first). VERSION COMMENTS ------- -------- 3.5 Added Fortran 90 interface. Changed C macro TIMELEN in file cxx/nctst.cpp to TIMESTRINGLEN to avoid clash with macro defined on AIX systems in /usr/include/time.h. Fixed miswriting of netCDF header when exiting define mode. Because the header was always written correctly later, this was only a problem if there was another reader of the netCDF file. Fixed explicit synchronizing between netCDF writer and readers via the nc_sync(), nf_sync(), and ncsync() functions. Fixed a number of bugs related to attempts to support shrinking the header in netCDF files when attributes are rewritten or deleted. Also fixed the problem that nc__endef() did not work as intended in reserving extra space in the file header, since the extra space would be compacted again on calling nc_close(). Fixed the "redef bug" that occurred when nc_enddef() or nf_enddef() is called after nc_redef() or nf_redef(), the file is growing such that the new beginning of a record variable is in the next "chunk", and the size of at least one record variable exceeds the chunk size (see netcdf.3 man page for a description of this tuning parameter and how to set it). This bug resulted in corruption of some values in other variables than the one being added. The "__" tuning functions for the Fortran interface, nf__create, nf__open, and nf__enddef, are now documented in the Fortran interface man pages. Permit additional characters in netCDF names in CDL: any of ".", "@", "#", "[", and "]" are now permitted in names, in addition to alphanumeric characters, "_", and "-". Add an 'uninstall' target to all the Makefiles. Dave Glowacki <address@hidden> 199810011851.MAA27335 Added support for multiprocessing on Cray T3E. Hooks added by Glenn, but the majority of the work was done at NERSC. Also includes changes to ffio option specification. Patch rollup provided by R. K. Owen <address@hidden>. The following functions are added to the public interface. nc__create_mp() nc__open_mp() nc_set_base_pe() nc_inq_base_pe() Fixed makefile URL for Win32 systems in INSTALL file. Made test for UNICOS system in the configure script case independent. Ported to the following systems: AIX 4.3 (both /bin/xlc and /usr/vac/bin/xlc compilers) IRIX 6.5 IRIX64 6.5 Changed the extension of C++ files from ".cc" to ".cpp". Renamed the C++ interface header file "netcdfcpp.h" instead of "netcdf.hh", changing "netcdf.hh" to include "netcdfcpp.h" for backward compatibility. Treat "FreeBSD" systems the same as "BSD/OS" system w.r.t. Fortran and "whatis" database. Corrected manual pages: corrected spelling of "enddef" (was "endef") and ensured that the words "index" and "format" will be correctly printed. Updated support for Fortran-calling-C interface by updating "fortran/cfortran.h" from version 3.9 to version 4.1. This new version supports the Portland Group Fortran compiler (C macro "pgiFortran") and the Absoft Pro Fortran compiler (C macro "AbsoftProFortran"). Corrected use of non-integral-constant-expression in specifying size of temporary arrays in file "libsrc/ncx_cray.c". Added Compaq Alpha Linux workstation example to INSTALL file. Ported cfortran.h to Cygnus GNU Win32 C compiler (gcc for Windows).