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