The Unidata netCDF group is pleased to announce the 4.2.1 release of the netCDF C libraries:
This release contains two important new features as well as performance enhancements, bug fixes, and documentation improvements. It is designed to be compatible with existing netCDF data and software.
Detailed information about the release is available in the Release Notes.
Source code and documentation are available from the NetCDF Distributions page.
The first new feature is portability to Windows platforms, both 32-bit and 64-bit.
From the same source code used for other platforms, you can now build static or shared libraries (DLL's) for 32- or 64-bit Windows that include support for DAP remote access, netCDF-3, and netCDF-4/HDF5 compatibility. The environment for this build is MSYS/MinGW/MinGW64, and the resulting DLLs may be used with Visual Studio. We have plans to continue integrating Windows support for even simpler integration with Windows Visual Studio builds by using CMake as the build system in a subsequent release of C-based netCDF. We will also be including support for using Fortran with Windows in an upcoming version of the netCDF Fortran package.
See the NetCDF 4.2 for Windows page for information, compilation instructions, or to download the pre-compiled libraries.
Diskless netCDF Files
The second new feature is diskless netCDF "files" for all netCDF formats, implemented with no API changes except an extra mode flag on file creation or open. For file creation, diskless operation performs all operations in memory and then optionally persists the results to a file on close. When opening an existing netCDF classic format disk file, diskless operation caches the file in-memory, performs all operations on the memory resident version and then writes all changes back to the original file on close. (NetCDF-4 enhanced model files can be read, but not written, in diskless mode in this release.)
For files that will fit in memory, the diskless feature can improve performance significantly for some kinds of data manipulation, such as
- Converting record variables to use fixed-size dimensions and contiguous storage for faster variable-at-a-time access
- Rechunking storage to match common access patterns, for example fast time-series access for data organized with time as the slowest varying dimension
See the documentation for
We encourage upgrading to the new release. This release fixes a number of bugs, described in the release notes.
As a reminder, the C, Fortran, and C++ libraries are no longer bundled together. Fortran and C++ releases depend on the netCDF C library, and may be built after the C library is built and installed. The latest Fortran and C++ libraries are compatible with this C library release candidate, and will benefit from some of its improvements.
Similarly, udunits and libcf libraries have not been bundled with netCDF since release 4.1.3. They are available as separate source distributions from their respective web sites, under the unidata.ucar.edu homepage.