NetCDF 4.1.2 Release Notes
The Unidata NetCDF group is pleased to announce the new 4.1.2
release of the netCDF C/Fortran libraries. This release contains bug
fixes and internal refactoring.
Users of parallel I/O with netCDF-4 please note: starting with the
4.1.2 release the parallel I/O functions are prototyped in
netcdf_par.h, not netcdf.h. You must include netcdf_par.h BEFORE
netcdf.h to use parallel I/O with netCDF-4.
- Rewrite netCDF-4 attribute put code for a large speedup when
writing lots of attributes.
- Fix nc-config --libs when static dependent libraries are not
installed in the same directory as netCDF libraries (thanks to Jeff
Whitaker).
- Build shared libraries by default, requiring separate Fortran
library. Static libraries now built only with --disable-shared.
- Refactor of HDF5 file metadata scan for large speedup in opening
files, especially large files.
- Complete rewrite of the handling of character datalist
constants. The heuristics are documented in ncgen.1.
- Eliminate use of NC_MAX_DIMS and NC_MAX_VARS in ncdump and nccopy,
allocating memory as needed and reducing their memory footprint.
- Add documentation for new nc_inq_path() function.
- Use hashing to speedup lookups by name for files with lots of
dimensions and variables (thanks to Greg Sjaardema).
- Add options to nccopy to support uniform compression of variables
in output, shuffling, and fixing unlimited dimensions. Add option
to support specifying chunking in output in terms of dimension names.
- Modified opendap constraint parser to be more compatible with a
java version of the parser.
- Modified ncgen to utilize iterators internally; should be no user
visible effect.
- An internal refactoring of the C library allows for easier
maintainance and extension of the netCDF library. This restructuring
of the library code is invisible to the end-user. Two new
directories have been added to the netCDF build: libdispatch, which
decides whether to call a netcdf classic, netcdf-4, or opendap
version of each function in the API, and liblib, where, depending on
the configure choices, the final netCDF library is assembled from
convenience libraries created in other directories.
- Fix for make bug which caused documentation to be unnecessarily
rebuilt after make clean.
- Fix for bug in accessing a multidimensional variable with more
than 4 billion values on a 32-bit platform.
- Fix for memory performance problems in parallel I/O. The automatic
use of HDF5 buffers in parallel programs with netCDF-4 resulted in
large memory use.
- Fix netCDF-4 bug caused when doing enddef/redef and then defining
coordinate variable out of order.
- Refactoring of netCDF-4 internals to reduce memory use and end
dependence on size of NC_MAX_DIMS and NC_MAX_NAME.
- Fix "ncdump -c" bug identifying coordinate variables in groups.
- Fix bug in libsrc/posixio.c when providing sizehint larger than
default, which then doesn't get used (thanks to Harald Anlauf).
- The netCDF C/Fortran/C++ source code has been moved to Unidata's
subversion server. Interested users can now examine the netCDF code
in its full glory and gory internals at
http://svn.unidata.ucar.edu/netcdf.
- Documentation improvements, especially relating to creating
netCDF-4 compatible files with HDF5 only.
The 4.1.2 release source code is available from the following URL.
ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.1.2.tar.gz or
ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.1.2.tar.Z
Build it according to these instructions:
http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install.html#Quick-Instructions
Report problems to the support email address:
support-netcdf@unidata.ucar.edu
Last modified: Fri Mar 4 16:19:25 MST 2011