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

Re: 20000712: nc_sync in netCDF 3.4



>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).