netCDF-C 4.4.1.1

@WardF WardF released this Nov 21, 2016 · 75 commits to master since this release

This is the official release of netCDF-C 4.4.1.1. This is a maintenance release which contains several important bug fixes. The Unidata/netCDF team recommend migrating to netCDF 4.4.1.1 as soon as is possible to avoid a potential, albeit rare, data loss issue in ncgen (as described below or detailed at #323).

Changes from version 4.4.1

Below is a list of notable changes from the previous release.

  • [Bug] Fixed an issue where ncgen would potentially crash or write incorrect netCDF4 binary data under very specific circumstances. This bug did not affect data written on 32-bit systems or by using the netCDF library; it was specific to ncgen. This would only happen when writing a compound data type containing an 8-byte data type followed by a 4-byte data type and the 4-byte data type was not properly aligned; this would possibly result in incorrect padding. This did not affect 32-bit systems, or data written directly by the library. See GitHub #323 for more information.
  • [Documentation] Updated documentation related to netCDF variable names and DAP2 access to reflect the undefined behavior potentially observed when DAP2 reserved keywords are used as netCDF variable names. See GitHub #308 for more information.
  • [Bug] Fixed an issue with nc_inq_type() not returning proper value in some circumstances. See GitHub #317 for more information.
  • [Bug] Corrected an issue related to test failures when --disable-utilities or -DENABLE_UTILITIES=OFF are specified when building with autotools or cmake, respectively. See GitHub #313 for more information.
  • [Bug][Enhancement] Corrected a behavioral issue with the _NCProperties attribute taking up too much space. See GitHub #300 and GitHub #301 for more information.
  • [Bug] Corrected behavior for nc-config so that, if nf-config is found in system, the proper fortran-related information will be conveyed. See [GitHub #296](#296] for more information.

Downloads

netCDF-C 4.4.1

@WardF WardF released this Jun 28, 2016 · 228 commits to master since this release

This is the official release of netCDF-C 4.4.1.

This release provides compatibility with libhdf5 1.10.0+; previous versions of netCDF will generate binary files which cannot be read on systems using older versions of libhdf5. A summary of changes between this official release and the previous release candidate are as follows:

  • [File Change] Starting with release 4.4.1, netCDF-4 files created will have superblock version 0 instead of superblock version 2, as was observed in previous netCDF versions. This is due to a workaround required to avoid backwards binary incompatibility when using libhdf5 1.10.x or greater. Superblock versions 0 and 2 appear to be forward and backward compatible. Other than a different superblock number the data should remain consistent.
  • [Enhancement] Added better error reporting when ncdump/nccopy are given a bad constraint in a DAP url. See GitHub #279 for more information.

Full release notes are available here.

Downloads

netCDF-C 4.4.1-rc3

@WardF WardF released this Jun 20, 2016 · 242 commits to master since this release

This is the third release candidate for netCDF-C 4.4.1. It contains various improvements and bug fixes over the previous release candidate. The notes for this release may be seen below, and the full list of release notes may be seen here. Notable improvements are as follows:

4.4.1-RC3 - June 17, 2016

  • [Bug Fix] Corrected an issue where adding a _FillValue attribute to a variable would result in other attributes being lost. See GitHub #239 for more details.
  • [Bug Fix][Parallel I/O] Corrected an issue reported by Kent Yang at the HDF group related to Collective Parallel I/O and a potential hang.
  • [Bug Fix] Misc. bug fixes and improvements.

Downloads

netCDF-C 4.4.1-rc2

@WardF WardF released this May 13, 2016 · 294 commits to master since this release

This is the second release candidate for netCDF-C 4.4.1. It contains various improvements and bug fixes over the first release candidate. The notes for this release may be seen below, and the full list of release notes may be seen here.

4.4.1-RC2 - May 13, 2016

  • [Enhancement] Added provenance information to files created. This information consists of a persistent attribute named _NCProperties plus two computed attributes, _IsNetcdf4 and _SuperblockVersion. Associated documentation was added to the file docs/attribute_conventions.md. See GitHub pull request #260 for more information.
  • [Bug Fix] Cleaned up some dead links in the doxygen-generated documentation.
  • [Bug Fix] Corrected several issues related to building under Visual Studio 2014.
  • [Bug Fix] Corrected several test failures related to HDF5 1.10.0
  • [Bug Fix] Reverted SOVersion current to 11 from 12; it was incorrectly incremented in netCDF-C release 4.4.1-RC1.
  • [Enhancement][Windows] Updated included libhdf5 version from 1.8.15 to 1.8.16 for pre-built Windows/Visual Studio installers.

Downloads

netCDF-4.4.1-rc1

@WardF WardF released this Apr 15, 2016 · 334 commits to master since this release

This is the first release candidate for netCDF 4.4.1. It contains many improvements and bug fixes, and addresses one very important issue. This is the first release which will write backwards-compatible netCDF4 files properly when linked against HDF5 1.10.0. See #250 for full details.

See the file RELEASE_NOTES.md for full release notes. Here is a summary of changes made so far:

Changes from 4.4.0 to 4.4.1-rc1

  • [Bug Fix][Enhancement] Fixed an issue with netCDF4 files generated using version 1.10.0 of the HDF5 library. The 1.10 release potentially changed the underlying file format, introducing a backwards compatibility issue with the files generated. HDF5 provided an API for retaining the 1.8.x file format, which is now on by default. See GitHub Issue #250 for more information.
  • [Bug Fix] Corrected an issue with autotools-based builds performed out-of-source-tree. See GitHub Issue #242 for more information.
  • [Enhancement] Modified nc_inq_type() so that it would work more broadly without requiring a valid ncid. See GitHub Issue #240 for more information.
  • [Enhancement] Accepted a patch code which added a hashmap lookup for rapid var and dim retrieval in nc3 files, contributed by Greg Sjaardema. See GitHub Pull Request #238 for more information.
  • [Bug Fix] Accepted a contributed pull request which corrected an issue with how the cmake-generated nc-config file determined the location of installed files. See GitHub Pull Request #235 for more information.
  • [Enhancement] Added an advanced option for CMake-based builds, ENABLE_SHARED_LIBRARY_VERSION. This option is ON by default, but if turned off, only libnetcdf.dylib will be generated, instead of files containing the SOVERSION in the file name. This is a requested feature most people might not care about. See GitHub #228 for more information.
  • [Bug Fix] Corrected an issue with duplicated error codes defined in multiple header files. See GitHub #213 for more information.
  • [Bug Fix] Addressed an issue specific to Visual Studio 2015 on Windows. On very large files, some calls to the fstat class of functions would fail for no apparent reason. This behavior was not observed under Visual Studio 2013. This has now been mitigated. See GitHub #188 for more information.
  • [Enhancement] Updated nc-config to report whether logging is enabled in netcdf. Additionally, if f03 is available in an installed netcdf-fortran library, it will now be reported as well.
  • [Bug Fix] Addressed an issue where netcdf_mem.h was not being installed by cmake. See GitHub #227 for more information.
  • [Bug Fix] Addressed an issue where ncdump would crash when trying to read a netcdf file containing an empty ragged VLEN variable in an unlimited dimension. See GitHub #221 for more information.

Downloads

netCDF-4.4.0

@WardF WardF released this Jan 13, 2016 · 530 commits to master since this release

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/Unidata/netcdf-c/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.

Downloads

netCDF-4.4.0-rc5

@WardF WardF released this Nov 11, 2015 · 697 commits to master since this 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.

Downloads

netCDF-4.4.0-rc4

@WardF WardF released this Nov 10, 2015 · 706 commits to master since this 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.

Downloads