\brief Release notes file for the netcdf-fortran package.
This file contains a high-level description of this package's evolution. Entries are in reverse chronological order (most recent first).
-
netCDF-C: 4.9.0+
Note: to enable
libzstd
support, you need to satisfy the following requirements.libnetcdf.so
installed withlibzstd
support.- The environmental variable
HDF5_LIBRARY_PATH
needs to be specified to the same location used when installinglibnetcdf
. This can be determined after-the-fact usingnc-config --plugindir
.
- Add quantize constants and test by @edwardhartnett in #383
- Merge v4.6.0-wellspring.wif back upstream into
main
by @WardF in #374 - delete unuseful code by @DragonPara in #377
- Adding MacOS tests. by @WardF in #363
- Newbranch by @LeonABenjamin in #336
- @DragonPara made their first contribution in #377
Full Changelog: https://github.com/Unidata/netcdf-fortran/compare/v4.6.0...v4.9.1
- netCDF-C: 4.9.0+
- We've added API support to take advantage of the Quantize functionality provided by libnetcdf 4.9.0+. See this conversation for more information.
- We've added API support to take advantage of ZStandard compression functionality, as described here. Note that you can suppress this with the new options
--disable-zstandard-plugin
(forconfigure
) and-DDISABLE_ZSTANDARD_PLUGIN
(forcmake
).
- Merge 4.5.4 changes back upstream by @WardF in #319
- Fix error in cmake-generated nf-config by @WardF in #322
- Wire in new tests in to PR #294 by @WardF in #325
- Update of netcdf f90 get interface to handle arrays with total size >… by @m214089 in #294
- Rationalize CMake minimum version to 3.12 by @scivision in #323
- Fix hdf5 version mismatch. by @WardF in #331
- adding v2 api test by @WardF in #332
- adding v2 api test by @edwardhartnett in #330
- set 'CMAKE_POSITION_INDEPENDENT_CODE ON' for shared lib by @MuellerSeb in #334
- bug fix: when all parallel features are disabled in netcdf-c by @wkliao in #352
- Updating github actions. by @WardF in #362
- Untangle conflicts caused by PR merge/reversions by @WardF in #324
- Gh318.wif by @WardF in #364
- "Add quantize feature to F77 and F90 APIs, with tests and documentation" by @WardF in #318
- convert to F90 and F by @edwardhartnett in #365
- Fix f90tst_parallel_compressed.F90 extension in CMake builds by @ArchangeGabriel in #339
- protect quantize code with preprocessor directives by @edwardhartnett in #366
- initialize value_grid_yt_loc to zeros by @wkliao in #357
- CI improvements: don't try to cache netcdf-c main build, add parallel I/O testing, and add testing with HDF5-1.12.2 by @edwardhartnett in #351
- fix warning of status may be used uninitialized by @wkliao in #356
- check if netcdf4 is enabled in netcdf-c by @wkliao in #353
- Github 292 by @WardF in #368
- Update nf_fortv2.90 by @LeonABenjamin in #292
- CMake build: fix handling of run_f90_par_test.sh by @ArchangeGabriel in #341
- Add support for zstandard compression by @edwardhartnett in #367
- HDF5_PLUGIN_DIR verbosity by @WardF in #372
- @m214089 made their first contribution in #294
- @scivision made their first contribution in #323
- @MuellerSeb made their first contribution in #334
- @ArchangeGabriel made their first contribution in #339
- @LeonABenjamin made their first contribution in #292
- netCDF-C: 4.7.4+
- Various bug fixes and updates.
- Now allow setting of parallel I/O test launcher to something other than mpiexec with the --with-mpiexec= option on configure. See Github #262.
- Added nf90_inq_format to the F90 API. See Github #263.
- Avoid compilation failure with -Werror=implicit-function-declaration by @opoplawski in #57
- F90 parallel wr2 test: collective writes by @marshallward in #56
- got doxygen build working by @edhartnett in #77
- Updates to netCDF fortran in support of the upcoming release. by @WardF in #79
- Github #67 plus a couple other small changes by @WardF in #83
- CMakeLists.txt: check for the C types that match Fortran ones. by @multiplemonomials in #67
- check error string for prefix 'Unknown Error' only by @wkliao in #87
- Combine multiple pull requests by @WardF in #93
- consistent error out for nf_test.F and nf03_test.F by @wkliao in #88
- add missing cdf2 and cdf5 flags by @wkliao in #89
- add dependency of relax_coord_bound set in netcdf-c by @wkliao in #90
- Updated to travis testing for netcdf-fortran. by @WardF in #95
- Add parallel I/O tests for PnetCDF and serial I/O for CDF5 files by @wkliao in #91
- Update CMake Options by @WardF in #97
- Fix use of diskless in Fortran test. by @DennisHeimbigner in #98
- Oops wrong flag for nc_open_mem by @DennisHeimbigner in #99
- fixed configure.ac for static builds by @edhartnett in #102
- Add filter support to the netcdf-fortram API by @DennisHeimbigner in #105
- Fix compiler issue on OSX by @WardF in #110
- remove legacy cfortran.h build, change valgrind use by @edhartnett in #120
- Fix some build issues (remove unused scripts, get make -j working, remove unused option, stop setting FC in configure) by @edhartnett in #116
- Detect inability to link to netcdf-c library at configure time by @edhartnett in #124
- fixed spacing to accommodate punch cards, fixed parallel builds in example dirs, added comments to build files by @edhartnett in #125
- bugfix in nf-config.in by @aerorahul in #137
- Remove unused files, fix detection of parallel I/O by @edhartnett in #135
- Next round of clean up of build system, also fixed some warnings and added some docs by @edhartnett in #145
- fix cache preemption issue, also some warnings by @edhartnett in #149
- Fix parallel I/O test not running, remove nfconfig.inc. by @edhartnett in #156
- Fix 2 broken parallel tests, clean out some remaining support for legacy cfortran build and upper-case mod file names by @edhartnett in #162
- Fix for remaining parallel I/O tests by @edhartnett in #163
- starting to eliminate duplicate tests by @edhartnett in #166
- next round of test cleanup by @edhartnett in #167
- Moving the rest of F77 API netcdf-4 tests to nf_test4 by @edhartnett in #168
- move neetcdf-4 f90 API tests to nf03_test4 by @edhartnett in #170
- More test cleanup, also adding CDF5 to F90 API constants by @edhartnett in #173
- More test work by @edhartnett in #175
- Final round of test cleanup by @edhartnett in #176
- fix dependency tracking in fortran directory, enabling parallel (make -j) builds by @edhartnett in #178
- fixing some dependencies by @edhartnett in #179
- Correct linking issue on OSX by @WardF in #171
- Get filter test to work with Fortran by @DennisHeimbigner in #180
- fix compile error: NC_CLASSIC_MODEL by @wkliao in #189
- duplicated module_netcdf4_nc_interfaces.$(OBJEXT) by @wkliao in #186
- Add $(srcdir) when doing VPATH build by @wkliao in #187
- Support 64-bit integer memory type by @wkliao in #190
- Use of "stop retval" is not portable by @wkliao in #188
- added logging source to autotools build by @edhartnett in #191
- 64-bit integer: missing the case for --disable-fortran-type-check by @wkliao in #195
- Check FC supports MPI-IO at configure time by @wkliao in #194
- remove an unused variable 'counter' by @wkliao in #193
- Merge selected changes from v4.5.0 upstream. by @WardF in #196
- v4.5.1 wellspring.wif by @WardF in #197
- Fixes distribution of cmake-based large file tests by @WardF in #199
- Correct issue when building against nc3-only libnetcdf by @WardF in #201
- Merge back upstream to master by @WardF in #202
- Fixes an issue with Intel Compiler 19 by @WardF in #204
- Spelling fix in docs for cache_preemption by @mathomp4 in #206
- Correct failure to compile on some mpi systems. by @WardF in #210
- Turn off parallel builds for this directory until a more suitable sol… by @WardF in #211
- support nc_def_var_szip in Fortran APIs by @edwardhartnett in #216
- correctly detect absence of szip write capability by @edwardhartnett in #220
- Allow installing Fortran modules into alternate location by @opoplawski in #224
- Fix a warning in v2 code by @edwardhartnett in #226
- Now run szip test from CMake build, if szip write capability is present in netcdf-c by @edwardhartnett in #227
- Adds support and test for compact storage by @edwardhartnett in #231
- Fix warnings and documentation in examples by @edwardhartnett in #234
- Add missing build dependencies for Fortran by @edwardhartnett in #235
- fixed warning in f90tst_io.f90 by @edwardhartnett in #237
- Removed reference to NF90_TYPE in documentation by @WardF in #230
- Fix parallel builds by @skosukhin in #238
- Tests to confirm get/set var cache working in F77 and F90 APIs by @edwardhartnett in #239
- Autotools build improvements by @edwardhartnett in #245
- Merge 217 by @WardF in #243
- commented out cache value test because it doesnt work on parallel by @edwardhartnett in #254
- Change error message to mention LIBS and static builds by @edwardhartnett in #257
- Install CMake config/target files by @ZedThree in #259
- Add summary file libnetcdff.settings by @WardF in #261
- CMake: Fail if nc_def_var_szip missing by @ZedThree in #260
- Merge wellspring back upstream by @WardF in #250
- testing parallel writes just as NOAA does them by @edwardhartnett in #265
- Fix missing file by @WardF in #267
- Added missing nf90_inq_format() function by @edwardhartnett in #273
- Add CC, CFLAGS, CPPFLAGS to build summary, remove AM_LDFLAGS by @edwardhartnett in #271
- Allow user to select different parallel I/O launcher at configure by @edwardhartnett in #272
- Windows compile by @brucenairn in #268
- Tweak Travis-CI Settings by @WardF in #282
- Fix for nf-config using autotools by @mathomp4 in #281
- Fix typo in readme by @mflehmig in #290
- Add quantize feature to F77 and F90 APIs, with tests and documentation by @edwardhartnett in #304
- Revert "Add quantize feature to F77 and F90 APIs, with tests and docu… by @WardF in #305
- First pass at adding github actions support. by @WardF in #297
- Docs migration by @oxelson in #307
- Add quantize feature to F77 and F90 APIs, with tests and documentation by @WardF in #306
- Attempt to correct an issue being observed under linux and OSX with gfortran by @WardF in #316
- Revert "Add quantize feature to F77 and F90 APIs, with tests and documentation" by @WardF in #317
- netCDF-C: 4.7.4+
- Adds a
libnetcdff.settings
file similar to libnetcdf.settings. See Github #256 for more information. - Added support for gcc/gfortran 10. The
-fallow_argument_mismatch
flag is passed to the underlying compiler when the flag is found to be supported. This change has been added to theautotools
andcmake
based builds. See GitHub #212 for more information. - Added support for HDF5 compact storage. See Github #213.
- Added support for creating netCDF/HDF5 files with szip compression with new functions nf90_def_var_szip() and nf_def_var_szip(). See Github #213.
- Corrected an issue where parallel netCDF-Fortran builds would fail despite the presense of MPI libraries/compiler/infrastructure. See Github #208 for more information.
- netCDF-C: 4.6.0 or greater
- Corrected an issue where netCDF-Fortran would fail to build correctly on some platforms when the underlying
libnetcdf
lacked netCDF-4 support. See GitHub #200 for more information. - Corrected an issue where cmake-specific large file tests weren't being captured by
make dist
. See Github #198 for more details.
- netCDF-C: 4.6.0 or greater
- Corrected an issue where a cmake-specific file wasn't being captured by
make dist
. - Corrected an issue where nf-config wasn't being generated by cmake-based builds. Corrected a couple of other missing files. See Github #108 for more information.
- netCDF-C: 4.6.0 or greater
- Moved netCDF classic F90 API tests to new subdirectory nf03_test.
- Moved netCDF-4 F77 API tests to new subdirectory nf_test4.
- Moved netCDF-4 F90 API tests to new subdirectory nf03_test4.
- Fixed bug which caused parallel I/O tests to not be run. See #155 and #157.
- Fixed bug in the setting of file cache preemption for netCDF-4 files. See #146.
- Removed many near-duplicate tests files, now they are created at build time with sed. See #165.
- Removed no longer needed configure options --enable-dll (see #161),
--enable-extra-tests
(see #114),--enable-extra-example-tests
(see #126), and--enable-valgrind
(see #118). - Moved handling of F77 man page to the docs directory. See #141.
- netCDF-C: 4.6.0 or greater
- Removed legacy cfortran.h based build, which allowed F77-only compilers to build the F77 API (only). Since all compilers now support F2003, we can use F2003 features to build the F77 API. Full backwards-compatibility with all existing F77 API code is assured. See #85 for more information.
- Added an option in cmake builds,
BUILD_EXAMPLES
,TRUE
by default. When disabled, the examples will not be built. See #93 for more information. - Misc. Bugfixes to bring netCDF-Fortran in line with the features in netCDF-C.
- Updated CMakeLists.txt to check for C types that match Fortran ones. See GitHub #67 for more information.
-
Corrected an issue where cmake-based builds specifying
USE_LOGGING
were not seeing expected behavior. The issue was reported, and subsequently fixed, by Neil Carlson at Los Alamos Nat'l Laboratory. See Github Pull Request #44 for more information. -
Integrated improvements provided by Richard Weed. For a complete list of modifications, see the file
docs/netcdf_fortran_4.4.2dev_notes_RW.pdf
. It is highly detailed and worth reading!The highlights of the improvements are as follows:
- Explicit dependencies on
NC_MAX_DIM
constant for arrays has been removed and replaced with dynamically-allocated arrays. - Support for
nc_open_mem()
in the C library, allowing for the creation of "in memory" files. - General clean up.
- Explicit dependencies on
-
Corrected a bug which would return a false-positive in
nf_test
when using netCDF-C4.4.0
. -
Updated the
cfortran.doc
license document for thecfortran.h
library. The most recent version was pulled from http://cfortran.sourceforge.net. The previous version did not reflect that the author had released cfortran under the LGPL. See Github Issue 27 for more information.
-
Added infrastructure to support the new
netcdf-c
option,ENABLE_REMOTE_FORTRAN_BOOTSTRAP
. -
Incorporated changes submitted by Nico Schlomer which extends the cmake compatibility between
netcdf-c
andnetcdf-fortran
. -
Incorporated a patch submitted by Thomas Jahns which fixed
FC
being unconditionally overwritten byF77
whenFortran 90
was disabled.
- No significant changes from RC1.
- Added a new variable for cmake-based builds,
NC_EXTRA_DEPS
. Use this to specify additional dependencies when linking against a staticnetcdf-c
library, e.g.
netcdf-fortran/build$ cmake .. -DNC_EXTRA_DEPS="-lhdf5 -lhdf5_hl -lcurl"
- Fixed to build correctly with netCDF-3-only C library, for example C library configured with --disable-netcdf-4 (R. Weed).
-
For 32-bit platforms fixed integer fill parameters, initialized potentially unitialized variables, and provided some missing defaults (R. Weed).
-
Fixed CMake builds on 32-bit platforms.
-
Added new
inq_path
andrename_grps
functions analogous to corresponding C functions. Added associated tests (R. Weed). -
Added support for NF_MPIIO,
NF_MPIPOSIX
,NF_PNETCDF
flags andNF_FILL_UINT
. (R. Weed) -
Fixed potential bug in attribute functions for integer values when Fortran
INTEGER*1
orINTEGER*2
types are the same size as C long (R. Weed). -
Added test for compiler support of Fortran 2008
ISO_FORTRAN_ENV
additions and TS29113 standard extension. -
Fixed
C_PTR_DIFF_T
issue reported by Orion Poplowski (R. Weed).
-
Added doxygen-generated documentation, using the
--enable-doxygen
and-DENABLE_DOXYGEN
flags for autotools and cmake-based builds, respectively. -
Added missing error codes for DAP and some netCDF-4 errors
-
Fixed some documentation for F77 API, added make rule for creating netcdf-f77 HTML files.
- Added configuration files to github distribution.
-
Moved to GitHub from Subversion, the location of the new GitHub repository is at: http://github.com/Unidata/netCDF-Fortran
-
Parallel-build portability fixes, particularly for OpenMPI and gcc/gfortran-4.8.x on the Mac. Also added test from Reto Stöckli for NCF-250 bug, demonstrating it was fixed in previous commit.
-
Add support for NF_MPIIO, NF_MPIPOSIX, NF_PNETCDF, and NF_FILL_UINT in the data files.
-
Add support for nf_inq_path.
-
Add a pre-processor macro that can be used to bypass the home-brew C_PTRDIFF_T definition and use the standard one for compilers that support it.
-
Fix a potential bug in nf_attio to call the _long version of some puts/gets instead of the _int version. These were inside INT1_IS_C_LONG and INT2_IS_C_LONG ifdef blocks so they would have only showed up when those macros were true.
-
Fixed bug that "make -j check" fails, but "make check" works fine.
-
Fixed build problems resulting from syncing with separate C distribution.
-
Synchronize with all changes made to version 4.2 since ts release.
-
Made handling of --disable-f03 more transparent.
-
Fixed adding flags for parallel I/O for MPI from David Warren.
-
Removed all the old C code that's not needed for this separate distribution.
-
Inadvertently broke the build until syncing with C distribution in later beta release.
-
Fortran 2003 Support
Version 4.4 is the first release to support fortran 2003 and to use the ISO C Bindings available in fortran 2003 to replace the older C code wrappers.
Congratulations and thanks to Richard Weed at Mississippi State University, who is the author of new code.
See the file
README_F03_MODS
for a more complete description of the changes. Many changes to the build structure have been made at the same time as the new 2003 code has been inserted.As part of the fortran 2003 refactor, the directory structure has been significantly modified. All the previous F90 C wrapper code has been moved to the "libsrc" directory.
All of the fortran code has been moved to the "fortran" directory. The directories names F77 and F90 have been removed. The most important consequence of this refactor is that pure Fortran77 compilers are no longer supported. It is assumed that the compiler supports at least Fortran 90 and also Fortran 77. If it also supports the ISO C Bindings, then the new 2003 code is used instead of the older C wrappers.