Howdy all!
The Unidata NetCDF group is pleased to announce the 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.)
This release contains the following:
* 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@xxxxxxxxxxxxxxxx
Thanks!
Ed
--
Ed Hartnett -- ed@xxxxxxxxxxxxxxxx