Releases: Unidata/netcdf-c
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.
NetCDF-C 4.3.3-rc1
4.3.3-rc1 Released 2014-08-25
- Added
CMake
-based export files, contributed by Nico Schlömer. See #74. - Fixed ncdump bug for char variables with multiple unlimited dimensions and added an associated test. Now the output CDL properly disambiguates dimension groupings, so that ncgen can generate the original file from the CDL. NCF-310
- Converted the Manually-maintained FAQ page into markdown and added it to the
docs/
directory. This way the html version will be generated when the rest of the documentation is built, the FAQ will be under version control, and it will be in a more visible location, hopefully making it easier to maintain. - Bumped minimum required version of
cmake
to2.8.12
. This was necessitated by the adoption of the newCMAKE_MACOSX_RPATH
property, for use on OSX. - Jennifer Adams has requested a reversion in behavior so that all dap requests include a constraint. Problem is caused by change in prefetch where if all variables are requested, then no constraint is generated. Fix is to always generate a constraint in prefetch.
NCF-308 - Added a new option for cmake-based builds,
ENABLE_DOXYGEN_LATEX_OUTPUT
. On those systems withmake
andpdflatex
, setting this option ON will result in pdf versions of the documentation being built. This feature is experimental. - Bumped minimum CMake version to
2.8.9
from2.8.8
as part of a larger pull request contributed by Nico Schlömer. Pull Request #64 - Replaced the
NetCDF Library Architecture
image with an updated version from the 2012 NetCDF Workshop slides. - Fix HDF4 files to support chunking.
NCF-272 - NetCDF creates a
libnetcdf.settings
file after configuration now, similar to those generated byHDF4
andHDF5
. It is installed into the same directory as the libraries. NCF-303. - Renamed
man4/
directory todocs/
to make the purpose and contents clearer. See man4 vs. docs #60. - Removed redundant variable
BUILD_DOCS
from the CMake configuration file. See the issue at github: #59. - Added missing documentation templates to
man4/Makefile.am
, to correct an issue when trying to build the localDoxygen
-generated documentation. This issue was reported by Nico Schlömer and may be viewed on github. Releases miss Doxygen files #56 - When the NC_MPIPOSIX flag is given for parallel I/O access and the HDF5 library does not have the MPI-POSIX VFD configured in, the NC_MPIPOSIX flag is transparently aliased to the NC_MPIIO flag within the netCDF-4 library.
NetCDF-C 4.3.2
Below are the release notes for the changes made since the v4.3.1.1 release.
4.3.2 Released 2014-04-23
- As part of an ongoing project, the Doxygen-generated netcdf documentation has been reorganized. The goal is to make the documentation easier to parse, and to eliminate redundant material. This project is ongoing.
- The oc .dodsrc reader was improperly handling the user name and password entries. NCF-299
- CTestConfig.cmake has been made into a template so that users may easily specify the location of an alternative CDash-based Dashboard using the following two options:
NC_TEST_DROP_SITE
- Specify an alternative Dashboard by URL or IP address.NC_CTEST_DROP_LOC_PREFIX
- Specify a prefix on the remote webserver relative to the root directory. This lets CTest accommodate dashboards that do not live at the top level of the web server.
- Return an error code on open instead of an assertion violation for truncated file.
4.3.2-rc2 Released 2014-04-15
- Cleaned up a number of CMake inconsistencies related to CMake usage, parallel builds.
- Now passing -Wl,--no-undefined to linker when appropriate.
- Corrected an issue preventing large file tests from running correctly under Windows.
- Misc Bug Fixes detected by static analysis.
4.3.2-rc1 Released 2014-03-20
- Pre-built Windows downloads will now be bundled with the latest (as of the time of this writing) versions of the various dependencies:
hdf5: 1.8.12
zlib: 1.2.8
libcurl: 7.35.0
- Added a separate flag to enable DAP AUTH tests. These tests are disabled by default. The flags for autotools and CMAKE-based builds are (respectively):
- --enable-dap-auth-tests
- -DENABLE_DAP_AUTH_TESTS
- Fixed small default chunk size for 1-dimensional record variables. NCF-211
- Cleaned up type handling in netCDF-4 to fix bugs with fill-values.
- Corrected "BAIL" macros to avoid infinite loop when logging is disabled and an error occurs.
- Refactored how types are used for attributes, variables, and committed types, clarifying and categorizing fields in structs, and eliminating duplicated type information between variables and types they use.
- Made type structure sharable by committed datatypes and variables that use it.
- Handled string datatypes correctly, particularly for fill value attributes. Expanded testing for string fill values.
- Simplified iteration of objects in the file when it's opened, tracking fewer objects and using less memory.
- Enabled netCDF-4 bit-for-bit reproducibility for nccopy and other applications (thanks to Rimvydas Jasinskas and Quincey Koziol) by turning off HDF5 object creation, access, and modification time tracking. NCF-290
- Addressed an issue where
cmake
-based builds would not properly create apkg-config
file. This file is now created properly bycmake
. NCF-288 - Addressed an issue related to old DAP servers. NCF-287