NetCDF 3.6.0 Release Notes
The source distribution for netCDF 3.6.0 is now available in compressed
tar, gzipped tar form. Instructions for installation are available in
the INSTALL file that accompanies the software or online.
Version 3.6 includes improved large file support, simplified installation, bug
fixes, and portability enhancements to version 3.5.
The original netCDF file format is still supported as the default,
so files written with version 3.6 can be read with previous versions and vice
versa. Existing source code requires no code changes.
Version 3.6 also supports a new variant of the file format with
64-bit offsets for very large files. Minor code changes are required
to create such files by using a non-default flag on creation, and
files that use the new 64-bit offset variant will not be readable by
previous versions of the netCDF library. Applications built with the
version 3.6 library will be able to access both formats transparently.
Changes Since Version 3.5.1
- 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 confgure/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.
- 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.
- 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.
- Upgraded to recent autoconf, changed configure to
(hopefully) improve installation. Also added macros
to deal with large file systems.
- Added nf_set_default_format to Fortran
interface.
- Added testing to the set_default_format functions to
nc_test and nf_test.
- Added documentation to the man page for
set_default_format functions.
- Added two new error return codes to C, f77, and f90
interfaces for invalid dimension size and for bad
variable size. Made test for max dimension size
depend on whether 64-bit offsets used. Fixed bug with
dimension sizes between 2^31 and 2^32 (for byte
variables).
- Fixed ncdump to properly print dimensions larger than
2^31.
- Fixed ncgen to properly handle dimensions between 2^31
and 2^32.
- Added -v2 (version 2 format with 64-bit offsets)
option to ncgen, to specify that generated files or
generated C/Fortran code should create 64-bit offset
files. Also added -x option to ncgen to specify use
of no-fill mode for fast creation of large
files.
- Added function to set default create mode to C
interface (nc_set_default_create).
- Added win32 directory, with NET subdirectory to hold
.NET port of netCDF. To use, open netcdf.sln with
Visual Studio, and do a clean and then a build of
either the debug or release builds. Tests will be run
as part of the build process. VC++ with managed
extensions is required (i.e. VC++.NET).
- Added windows installer files to build windows binary
installs.
- By incorporating Greg Sjaardema's patch, added support
for 64-bit offset files, which remove many of the
restrictions relating to very large files (i.e.
larger than 2 GB.) This introduces a new data format
for the first time since the original netCDF format
was introduced. Files in this new 64-bit offset
format can't be read by earlier versions of
netCDF. Users should continue to use the netCDF
classic format unless they need to create very large
files.
- The test suite, nc_test, will now be run twice, once for
netCDF classic format testing, and once for 64-bit offset
format testing.
- The implementation of the Fortran-77 interface has been
adapted to version 4.3 of Burkhard Burow's
"cfortran.h".
- Added NEC SX specific optimization for NFILL tunable
parameter in libsrc/putget.c
- Added support for the ifc Fortran-90 compiler creating
files "netcdf.d" and "typesizes.d" (instead of ".mod"
files).
- Fixed access to iargc and getarg functions from
Fortran-90 for NAG f90 compiler, contributed by Harald
Anlauf.
Changes Since Version 3.5.0
- Updated INSTALL.html for Mac OS X (Darwin).
- Made the installation of the netCDF Fortran-90 module
file more robust regarding the name of the file.
- Added support for eight-byte integers in Fortran90
interface.
- Increased advisory limits in C netcdf.h and Fortran
netcdf.inc for maximum number of dimensions, variables, and attributes.
- Changed C++ declarations
friend NcFile to friend
class NcFile in cxx/netcdfcpp.h to conform to
standard.
- Added Dan Schmitt's backward compatible extension to
the C++ record interface to work with arbitrary
dimension slices.
- Added C++ documentation note that caller is
responsible for deleting pointer returned by
Variable::values() method when no longer needed.
- Made C++ interface more standard; the result may not
compile on some old pre-standard C++ compilers.
- Fixed bug in ncgen when parsing values of a
multidimensional char variable that resulted in
failure to pad a value with nulls on IRIX.
- Fixed ncdump bug adding extra quote to char variable
data when using
-fc or -ff option.
- Fixed so compiling with
-DNO_NETCDF_2 will work for
building without backward-compatibility netCDF-2
interfaces.
- Eliminated use of ftruncate(), because it fails on
FAT32 file systems under Linux.
- Initialized a pointer in putget.m4 (used to generate
putget.c) that was involved in uninitialized memory
references when nc_test is run under Purify. Two
users had reported seeing crashes resulting from this
problem in their applications.
- Reverted pointer initializations in putget.m4, after
testing revealed these caused a performance problem,
resulting in many extra calls to px_pgin and px_pgout
when running nc_test.
- Added checking of size of "dimids" vector in function
nf90_inquire_variable(...) and error-returning if it
isn't sufficiently capacious.
- Added variable index to ncvarget() and ncattinq() error
messages and attribute name to ncattinq() error message.
- Tweaked configure script to work with recent C++ compilers.
- Fixed a memory leak in C++ interface, making sure
NcVar::cur_rec[] gets deleted in NcVar destructor.
- Reimplemented nc_sync() fix of version 3.5.0 to eliminate
performance penalty when synchronization is unnecessary.
- Changed order of targets in Makefile to build Fortran
interface last, as a workaround for problem with make
on AIX platforms.
Providing Feedback
Questions or suggestions about this release may be sent to
<support@unidata.ucar.edu>,
mentioning the platform and version of the software.
Last modified: Wed Feb 14 10:47:49 MST 2007