Skip to content

Releases: Unidata/netcdf-c

netCDF-4.4.0

13 Jan 21:59
Compare
Choose a tag to compare

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 is unsigned by default (such as ARM), as well as an issue describing regarding undefined behavior, again on ARM. 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 using nc_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

11 Nov 21:26
Compare
Choose a tag to compare
netCDF-4.4.0-rc5 Pre-release
Pre-release

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.

    1. Renamed libsrcp5 -> libsrcp because pnetcdf can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
    2. Given #1, then the NC_PNETCDF mode flag becomes a subset of NC_MPIIO, so made NC_PNETCDF an alias for NC_MPII.
    3. 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:
    1. HDF5_PARALLEL when hdf5 library has parallel enabled
    2. --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 from 2.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 the guide.dox file in the docs/ 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

11 Nov 00:01
Compare
Choose a tag to compare
netCDF-4.4.0-rc4 Pre-release
Pre-release

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

    1. Renamed libsrcp5 -> libsrcp because pnetcdf can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
    2. Given #1, then the NC_PNETCDF mode flag becomes a subset of NC_MPIIO, so made NC_PNETCDF an alias for NC_MPII.
    3. 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:
    1. HDF5_PARALLEL when hdf5 library has parallel enabled
    2. --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 from 2.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 the guide.dox file in the docs/ 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

08 Oct 21:32
Compare
Choose a tag to compare
netCDF-C 4.4.0-rc3 Pre-release
Pre-release

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

09 Jul 21:03
Compare
Choose a tag to compare
NetCDF-C 4.4.0-rc2 Pre-release
Pre-release

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

09 Jun 18:44
Compare
Choose a tag to compare
NetCDF-C 4.4.0-rc1 Pre-release
Pre-release

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

27 Feb 20:21
Compare
Choose a tag to compare

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

12 Feb 22:04
Compare
Choose a tag to compare

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

14 Jan 21:59
Compare
Choose a tag to compare
NetCDF-C 4.3.3-rc3 Pre-release
Pre-release

4.3.3-rc3 Released 2015-01-14

  • Added functionality to make it easier to build netcdf-fortran as part of the netcdf-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

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 and netcdf-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 version 7.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 to LIBS 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

24 Sep 18:39
Compare
Choose a tag to compare
NetCDF-C 4.3.3-rc2 Pre-release
Pre-release

4.3.3-rc2 Released 2014-09-24

  • Fixed the code for handling character constants
    in datalists in ncgen. Two of the problems were:

    1. It failed on large constants
    2. 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 upon netcdf to make decisions during configuration, based on how the netcdf library was built. The macro NC_HAVE_META_H is defined in netcdf.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.