This file contains a high-level description of this package's evolution. Entries are in reverse chronological order (most recent first). VERSION COMMENTS ------- -------- 3.6.3 2008-05-31 In ncdump and ncgen, added CDL support for UTF-8 encoding of characters in names and for escaped special chars in names. Made sure UTF-8 names are normalized using NFC rules before storing or comparing. Handle IEEE NaNs and infinities in a platform-independent way in ncdump output. Added support for ARM representation of doubles, (thanks to Warren Turkal). Fixed bug in C++ API creating 64-bit offset files. (See http://www.unidata.ucar.edu/software/netcdf/docs/known_problems.html#cxx_64-bit.) Fixed bug for variables larger than 4 GB. (See http://www.unidata.ucar.edu/software/netcdf/docs/known_problems.html#large_vars_362.) Changed the configure.ac to build either 3.6.x or 4.x build from the same configure.ac. Build now checks gfortran version and handles it cleanly, also Portland Group in Intel fortran, with various configurations. A Fortran netcdf.inc file is now created at build time, based on the setting of --disable-v2. Documentation has been fixed in several places. Upgraded to automake 1.10, autoconf 2.62, and libtool 2.2.2. Includes missing Windows Visual Studio build files. Fixed missing include of config.h in a C++ test program. Fixed maintainer-clean in man directory. Fixed --enable-c-only and make check. Fixed behavior when opening a zero-length file. Many portability enhancements to build cleanly on various platforms. Turned on some old test programs which were not being used in the build. 3.6.2 2007-03-05 Released. 3.6.2 beta6 2007-01-20 Fine tuning of build system to properly handle cygwin, Mingw, and strange configuration issues. Automake 1.10 has a problem with running our tests on MinGW, so I'm switching back to automake 1.9.6 for this release. 3.6.2 beta5 2006-12-30 Now netCDF configuration uses autoconf 2.61, and automake 1.10. (Thanks to Ralf Wildenhues for the patches, and all the autotools help in general!) Final major revision of netCDF tutorial before the 3.6.2 release. Now netCDF builds under MinGW, producing a windows DLL with the C and F77 APIs. Use the --enable-shared --enable-dll --disable-cxx --disable-f90 flags to configure. (C++ and F90 have never been built as windows DLLs, but might be in a future release if there is user interest). This has all been documented in the netCDF Porting and Installation Guide. Now extreme numbers (i.e. those close to the limits of their type) can be turned off in nc_test/nf_test, with --disable-extreme-numbers. It is turned off automatically for Solaris i386 systems. Added --enable-c-only option to configure. This causes only the core netCDF-3 C library to be built. It's the same as --disable-f77 --disable-cxx --disable-v2 --disable-utilities. Added --disable-utilities to turn off building and testing of ncgen/ncdump. Fix a long-standing bug in nf90_get_att_text() pointed out by Ryo Furue, to make sure resulting string is blank-padded on return. This is fixed in the Fortran-90 interface, but is impractical to fix in the Fortran-77 interface implemented via cfortran.h. Now large file tests are run if --enable-large-file-tests is used in the configure. For Cray users, the ffio module is used if the --enable-ffio option is passed to configure. Unrolled loops in byte-swapping code used on little-endian platforms to reduce loop overhead. This optimization resulted in a 22% speedup for some applications accessing floats or ints (e.g. NCO utilities ncap and ncbo) and a smaller speedup for shorts or doubles. Added "-k" option to ncdump and ncgen, for identifying and specifying the kind of netCDF file, one of "classic", "64-bit-offset", "hdf5", or "hdf5-nc3". Removed output of kind of netCDF file in CDL comment produced by ncdump. Fixed bug of ncdump seg-faulting if invoked incorrectly with option like "-c" or "-h" but no file name. 3.6.2 beta4 2006-08-15 Changed F77/F90 man pages from netcdf.3f and netcdf.3f90 to netcdf_f77.3 and netcdf_f90.3. Also fixed broken install of man pages. Changed configure script so that "-g -O2" is no longer set as CFLAGS, CXXFLAGS, and FFLAGS by default if a GNU compiler is being used. Now nothing is set. Changed configure script so that fortran flag is set in config.h. Updated Installation and Porting Guide, C++ Interface Guide, F77 and F90 Interface Guides. Build with static libraries by default. Added configure option --enable-separate-fortran, which causes the fortran library to be built separately. This is turned on automatically for shared libraries. Improved clarity of error messages. Changed configuration to get cygwin DLL and mingw DLL builds working, for the C library only (i.e. no F77, F90, or C++ APIs). Changed type of ncbyte in C++ interface from unsigned char to signed char, for consistency with C interface. The C++ documentation warned this change would eventually occur. Changed the C++ interface to use only the netCDF-3 C interface instead of the older netCDF-2 C interface. This has the added benefit that on-the-fly numeric conversions are now supported using get methods, for example you can get data of any type as double. When using --disable-v2 flag to configure, the C++ interface can now be built and installed. 3.6.2 beta3 2006-05-24 Changed to use default prefix of /usr/local instead of package-based prefix of previous releases of netCDF. Use the --prefix argument to the configure script to override the default. Made separate fortran library file, instead of appending fortran library functions to the C library file, if --enable-separate-fortran is used during configure (it's turned on automatically if --enable-shared is used). If uses, the fortran API users must link to *both* the C library and the new fortran library, like this: -lnetcdff -lnetcdf Added netCDF examples in C, C++, F77, F90, and CDL. See the examples subdirectory. Added the NetCDF Tutorial. Minor fixes to some of the netCDF documentation. Made it possible to build without V2 API using --disable-v2 from configure. Switched to new build system, with automake and libtool. Now shared libraries are built (as well as static ones) on platforms which support it. For more information about shared libraries, see http://www.unidata.ucar.edu/software/netcdf/docs/faq.html#shared_intro Fixed ncdump crash that happened when no arguments were used. Fixed for building with gfortran 4.1.0. Important fix for machines whose SIZEOF_SIZE_T != SIZEOF_LONG, such as NEC-SX, thanks to Stephen Leak. Fixed C++ on AIX platform. Fixed 64-bit builds on AIX platform. Removed bad assertion that could be triggered in rare cases when reading a small file. Added comments in v1hpg.c to clarify purpose of each internal function. Make sure filesize is determined in nc_close() *after* buffers get flushed. Fix long-standing problem resulting in files up to 3 bytes longer than necessary if there is exactly one record variable of type byte, char, or short and if the number of values per record for that variable is not divisible by 4 (or 2 in the case of short). Now the filesize determined from header info by NC_calcsize should be correct in all cases. 3.6.1 2006-01-31 Updated installation manual for 3.6.1. Changed installation to try to provide correct compiler flags for compiling in 64-bit mode on Sun, Irix, AIX, and HPUX. (HPUX doesn't work for me, however). Now run configure with --enable-64bit to get a 64 bit compile. Fixed long-standing bug that would cause small netCDF files to be padded on the end with zero bytes to 4096 bytes when they were opened and changed. Now small files should stay small after you change a value. Fixed bug in assertions in putget.c that would only be noticed if you change the manifest constant NC_MAX_DIMS in netcdf.h to be different from NC_MAX_VAR_DIMS. Moved test ftest.F from fortran to nf_test directory, and fixed bug in ftest.F which caused it to return 0 even if tests failed (no tests were failing, however). Also renamed some test output files to make things a little clearer. If open for writing, pad with up to 3 extra zero bytes before close to the correct canonical length, calculated from the header. Previously files could be short due to not padding when writing in NOFILL mode. Doubled arbitrary limits on number of dimensions, variables, attributes, and length of names. Change name of nc_get_format() to nc_inq_format(). Add analogous interfaces for nf_inq_format(), nf90_inquire(), and NcFile::get_format() to f77, f90, and C++ interfaces. Document new function in texinfo files. Add minimal test to nc_test, nf_test. 3.6.1-beta3 2005-02-17 Added function nc_get_format(int ncid, int* formatp) that returns either NC_FORMAT_CLASSIC or NC_FORMAT_64BIT for a CDF1 or CDF2 file, respectively. Added test to nc_test that detects whether format version was changed after a file is reopened and define mode is entered. Correctly configure for Intel ifort Fortran compiler on Linux. 3.6.0-p1 2005-02-18 Fixed bug that changes CDF2 files to CDF1 files if CDF2 file is reopened for write access and either an attribute is changed or define mode is entered. 3.6.1-beta2 2005-1-6 Fixed absoft compile problem. Maybe. 3.6.1-beta1 2005-1-3 Fixed Cygwin C++ problem. Fixed large file problem in MS Visual C++.NET environment. More information in installation and porting guide. 3.6.0 2004-12-16 Added texinfo source for the documentation. Added large file tests to Windows directory in distribution. Modified win32 visual studio project files so that m4 is no longer required to build netcdf under visual studio. Modified rules.make to use install instead of cp, fixing install problem for cygwin users. Modified configure/install stuff to support HP-UX. Modified configure/install stuff to support G95. In the f90 interface, applied Arnaud Desitter's fixes to correct mismatches between scalar and array arguments, eliminating (legitimate) complaints by the NAGWare f95 compiler. Also fixed bugs introduced in 3.6.0-beta5 in the mapped array interfaces. 3.6.0-beta6 2004-10-05 Fixed AIX 64-bit/largefile install problems. Removed FAQ section from netcdf.texi User's Guide, in deference to online version that can be kept up to date more easily. 3.6.0-beta5 2004-10-04 Fixed assertion violation on 64-bit platforms when size of last fixed size variable exceeds 2^32 - 1. Removed another restriction on file size by making record size (derived from other sizes, not part of the format) an off_t instead of a size_t, when an off_t is larger than a size_t. This permits records to be *much* larger in either classic format or 64-bit-offset format. Incorporated patch from Mathis Rosenhauer to improve performance of Fortran 90 interface for calls to nf90_put_var_TYPE(), nf90_get_var_TYPE(), nf90_put_vara_TYPE(), and nf90_get_vara_TYPE() functions by not emulating them with the corresponding nf90_put_varm_TYPE() and nf90_get_varm_TYPE() calls. Added tests for invalid offsets in classic format when defining multiple large variables. Improved installation ease. Have configure script use Large File Support as a default, if available. Add "extra_test" as a target for testing Large File Support.