Releases: Unidata/netcdf-c
netCDF-4.4.0
netCDF-4.4.0 Release
This is the long-awaited netCDF-4.4.0 release
. Full release notes can be here. Release notes for the changes between 4.4.0
and the previous release candidate, 4.4.0-rc5
are as follows:
Changes from 4.4.0-rc5
to 4.4.0
- Bumped SO version to 11.0.0.
- Modified
CMakeLists.txt
to work with the re-organized cmake configuration used by the latest HDF5,1.8.16
, on Windows. Before this fix, netCDF would fail to locate hdf5 1.8.16 when using cmake on Windows. See GitHub #186 for more information. - Addressed an issue with
ncdump
when annotations were used. The indices for the last row suffered from an off-by-1 error. See GitHub issue #181 for more information. - Addressed an issue on platforms where
char
isunsigned
by default (such asARM
), as well as an issue describing regarding undefined behavior, again onARM
. See GitHub issue #159 for detailed information. - Fixed an ambiguity in the grammar for cdl files. See GitHub #178 for more information.
- Updated documentation for
nc_get_att_string()
to reflect the fact that it returns allocated memory which must be explicitly free'd usingnc_free_string()
. Reported by Constantine Khroulev, see GitHub Issue 171 for more information. - Modified ncgen to properly handle the L and UL suffixes for integer constants
to keep backward compatibility. Now it is the case the single L suffix
(e.g. 111L) is treated as a 32 bit integer. This makes it consistent with
the fact that NC_LONG (netcdf.h) is an alias for NC_INT. Existing .cdl
files should be examined for occurrences of the L prefix to ensure that
this change will not affect them.
(see Github issue 156[https://github.com//issues/156]). - Updated documentation to reference the new
NodeJS
interface to netcdf4, by Sven Willner. It is available from https://www.npmjs.com/package/netcdf4 or from the GitHub repository at https://github.com/swillner/netcdf4-js. - Incorporated pull request #150 from Greg Sjaardema to remove the internal hard-wired use of
NC_MAX_DIMS
, instead using a dynamic memory allocation.
netCDF-4.4.0-rc5
This is the fifth and (hopefully) final release candidate for netCDF 4.4.0
. There are a multitude of changes, including the addition of CDF-5
support. Below are the release notes for this release, and see See the release notes for full details for the full release note file.
4.4.0-RC5 Released - November 11, 2015
- Added a fix for #149, which was reported several times in quick succession within an hour of the RC4 release.
4.4.0-RC4 Released - November 10, 2015
-
Added CDM-5 support via new mode flag called NC_64BIT_DATA (alias NC_CDF5).
Major kudos to Wei-Keng Liao for all the effort he put into getting this to work.
This cascaded into a number of other changes.
- Renamed libsrcp5 -> libsrcp because pnetcdf can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
- Given #1, then the NC_PNETCDF mode flag becomes a subset of NC_MPIIO, so made NC_PNETCDF an alias for NC_MPII.
- NC_FORMAT_64BIT is now deprecated. Use NC_FORMAT_64BIT_OFFSET.
Further information regarding the CDF-5 file format specification may be found here: http://cucis.ece.northwestern.edu/projects/PnetCDF/CDF-5.html
- Modified configure.ac to provide finer control over parallel
support. Specifically, add flags for:- HDF5_PARALLEL when hdf5 library has parallel enabled
- --disable-parallel4 to be used when we do not want
netcdf-4 to use parallelism even if hdf5 has it enabled.
- Deprecating various extended format flags.
The various extended format flags of the format NC_FORMAT_FOO
have been refactored into the form NC_FORMATX_FOO
. The old flags still exist but have been marked as deprecated and will be removed at some point. This was done to avoid confusion between the extended format flags and the format flags NC_FORMAT_CLASSIC
, NC_FORMAT_64BIT_OFFSET
, etc. The mapping of deprecated-to-new flags is as follows:
Deprecated | Replaced with |
---|---|
NC_FORMAT_NC3 | NC_FORMATX_NC3 |
NC_FORMAT_NC_HDF5 | NC_FORMATX_NC_HDF5 |
NC_FORMAT_NC4 | NC_FORMATX_NC4 |
NC_FORMAT_NC_HDF4 | NC_FORMATX_NC_HDF4 |
NC_FORMAT_PNETCDF | NC_FORMATX_PNETCDF |
NC_FORMAT_DAP2 | NC_FORMATX_DAP2 |
NC_FORMAT_DAP4 | NC_FORMATX_DAP4 |
NC_FORMAT_UNDEFINED | NC_FORMATX_UNDEFINED |
- Reduced minimum cmake version to
2.8.11
from2.8.12
. This will allow for cmake use on a broader set of popular linux platforms without having to do a custom cmake install. See #135 for more information. - The documentation section
The Default Chunking Scheme
has been updated with more information. This lives in theguide.dox
file in thedocs/
directory, or can be found online in the appropriate location (typically http://www.unidata.ucar.edu/netcdf/docs), once this release has been published.
netCDF-4.4.0-rc4
_NOTE: RC5 is forthcoming, it fixes a bug reported almost immediately after the release of RC4. The bug is fixed and a new release is currently being created._
This is the fourth and (hopefully) final release candidate for netCDF 4.4.0
. There are a multitude of changes, including the addition of CDF-5
support. Below are the release notes for this release, and see See the release notes for full details for the full release note file.
4.4.0-RC4 Released - November 10, 2015
-
Added CDM-5 support via new mode flag called NC_64BIT_DATA (alias NC_CDF5).
Major kudos to Wei-Keng Liao for all the effort he put into getting this to work.
This cascaded into a number of other changes.
- Renamed libsrcp5 -> libsrcp because pnetcdf can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
- Given #1, then the NC_PNETCDF mode flag becomes a subset of NC_MPIIO, so made NC_PNETCDF an alias for NC_MPII.
- NC_FORMAT_64BIT is now deprecated. Use NC_FORMAT_64BIT_OFFSET.
Further information regarding the CDF-5 file format specifrication may be found here: http://cucis.ece.northwestern.edu/projects/PnetCDF/CDF-5.html
- Modified configure.ac to provide finer control over parallel
support. Specifically, add flags for:- HDF5_PARALLEL when hdf5 library has parallel enabled
- --disable-parallel4 to be used when we do not want
netcdf-4 to use parallelism even if hdf5 has it enabled.
- Deprecating various extended format flags.
The various extended format flags of the format NC_FORMAT_FOO
have been refactored into the form NC_FORMATX_FOO
. The old flags still exist but have been marked as deprecated and will be removed at some point. This was done to avoid confusion between the extended format flags and the format flags NC_FORMAT_CLASSIC
, NC_FORMAT_64BIT_OFFSET
, etc. The mapping of deprecated-to-new flags is as follows:
Deprecated | Replaced with |
---|---|
NC_FORMAT_NC3 | NC_FORMATX_NC3 |
NC_FORMAT_NC_HDF5 | NC_FORMATX_NC_HDF5 |
NC_FORMAT_NC4 | NC_FORMATX_NC4 |
NC_FORMAT_NC_HDF4 | NC_FORMATX_NC_HDF4 |
NC_FORMAT_PNETCDF | NC_FORMATX_PNETCDF |
NC_FORMAT_DAP2 | NC_FORMATX_DAP2 |
NC_FORMAT_DAP4 | NC_FORMATX_DAP4 |
NC_FORMAT_UNDEFINED | NC_FORMATX_UNDEFINED |
- Reduced minimum cmake version to
2.8.11
from2.8.12
. This will allow for cmake use on a broader set of popular linux platforms without having to do a custom cmake install. See #135 for more information. - The documentation section
The Default Chunking Scheme
has been updated with more information. This lives in theguide.dox
file in thedocs/
directory, or can be found online in the appropriate location (typically http://www.unidata.ucar.edu/netcdf/docs), once this release has been published.
netCDF-C 4.4.0-rc3
This is the third release candidate for netCDF-C 4.4.0
. This release is primarily a bugfix release, addressing several smaller bugs reported from the first and second release candidates.
See the release notes for full details.
NetCDF-C 4.4.0-rc2
This is the second release candidate for netCDF-C 4.4.0
. This release is a bugfix release, addressing several smaller bugs reported from the first release candidate.
See the release notes for full details.
NetCDF-C 4.4.0-rc1
This is the first release candidate for netCDF-C 4.4.0
. Highlights of this release include:
- The ability to open netCDF data "in memory" using
nc_open_mem()
. - Added an authorization reference document as oc2/ocauth.html.
in addition to numerous bug fixes and optimizations. See the release notes for full details.
NetCDF-C 4.3.3.1
This is a bug-fix release based on the netCDF-C 4.3.3 release. The release notes for this release are below. Full release notes may be found at https://github.com/Unidata/netcdf-c/blob/v4.3.3.1/RELEASE_NOTES.md.
netCDF-C 4.3.3.1
- Fixed a bug related to renaming the attributes of coordinate variables in a subgroup. See NCF-325 for more information.
NetCDF-C 4.3.3
The notes below only reflect changes from the last release candidate. Full release notes may be found at https://github.com/Unidata/netcdf-c/blob/v4.3.3/RELEASE_NOTES.md.
4.3.3 Released 2015-02-12
- Fixed bug resulting in error closing a valid netCDF-4 file with a dimension and a non-coordinate variable with the same name. NCF-324
- Enabled previously-disabled shell-script-based tests for Visual Studio when
bash
is detected.
NetCDF-C 4.3.3-rc3
4.3.3-rc3 Released 2015-01-14
- Added functionality to make it easier to build
netcdf-fortran
as part of thenetcdf-c
build for NON-MSVC builds. This functionality is enabled at configure time by using the following Highly Experimental options:- CMake:
-DENABLE_REMOTE_FORTRAN_BOOTSTRAP=ON
- Autotools:
--enable-remote-fortran-bootstrap
- CMake:
Details are as follows:
Enabling these options creates two new make targets:
build-netcdf-fortran
install-netcdf-fortran
Example Work Flow from netcdf-c source directory:
- $
./configure --enable-remote-fortran-bootstrap --prefix=$HOME/local
- $
make check
- $
make install
- $
make build-netcdf-fortran
- $
make install-netcdf-fortran
These make targets are only valid after
make install
has been invoked. This cannot be enforced rigidly in the makefile for reasons we will expand on in the documentation, but in short:make install
may require sudo, but using sudo will discard environmental variables required when attempting to build netcdf-fortran in this manner.It is important to note that this is functionality is for convenience only. It will remain possible to build
netcdf-c
andnetcdf-fortran
manually. These make targets should hopefully suffice for the majority of our users, but for corner cases it may still be required of the user to perform a manual build. NCF-323
-
Added a failure state if the
m4
utility is not found on non-Windows systems; previously, the build would fail when it reached the point of invoking m4. -
Added an explicit check in the build systems (autotools, cmake) for the CURL-related option
CURLOPT_CHUNK_BGN_FUNCTION
. This option was introduced in libcurl version7.21.0
. On installations which require libcurl and have this version,CURLOPT_CHUNK_BGN_FUNCTION
will be available. Otherwise, it will not. -
The pnetcdf support was not properly being used to provide mpi parallel io for netcdf-3 classic files. The wrong dispatch table was being used. NCF-319
-
Fixed bug in ncgen. When classic format was in force (k=1 or k=4), the "long" datatype should be treated as int32. Was returning an error. NCF-318
-
Fixed bug where if the netCDF-C library is built with the HDF5 library but without the HDF4 library and one attempts to open an HDF4 file, an abort occurs rather than returning a proper error code (NC_ENOTNC). NCF-317
-
Added a new option,
NC_EXTRA_DEPS
, for cmake-based builds. This is analogous toLIBS
in autotools-based builds. Example usage:$ cmake .. -NC_EXTRA_DEPS="-lcustom_lib"
More details may be found at the Unidata JIRA Dashboard. NCF-316
NetCDF-C 4.3.3-rc2
4.3.3-rc2 Released 2014-09-24
-
Fixed the code for handling character constants
in datalists in ncgen. Two of the problems were:- It failed on large constants
- It did not handle e.g. var = 'a', 'b', ...
in the same way that ncgen3 did.
See NCF-309.
-
Added a new file,
netcdf_meta.h
. This file is generated automatically at configure time and contains information related to the capabilities of the netcdf library. This file may be used by projects dependent uponnetcdf
to make decisions during configuration, based on how thenetcdf
library was built. The macroNC_HAVE_META_H
is defined innetcdf.h
. Paired with judicious use of#ifdef
's, this macro will indicate to developers whether or not the meta-header file is present. See NCF-313.Determining the presence of
netcdf_meta.h
can also be accomplished by methods common to autotools and cmake-based build systems. -
Changed
Doxygen
-generated documentation hosted by Unidata to use more robust server-based searching. -
Corrected embedded URLs in release notes.
-
Corrected an issue where building with HDF4 support with Visual Studio would fail.