📄 release_notes
字号:
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".3.6.0-alpha 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.3.5.1 2004-02-03 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.3.5.0 2001-03-23 Added Fortran 90 interface. Changed C macro TIMELEN in file cxx/nctst.cpp to TIMESTRINGLEN to avoid clash with macro defined on AIX systems in /usr/include/time.h. Fixed miswriting of netCDF header when exiting define mode. Because the header was always written correctly later, this was only a problem if there was another reader of the netCDF file. Fixed explicit synchronizing between netCDF writer and readers via the nc_sync(), nf_sync(), and ncsync() functions. Fixed a number of bugs related to attempts to support shrinking the header in netCDF files when attributes are rewritten or deleted. Also fixed the problem that nc__endef() did not work as intended in reserving extra space in the file header, since the extra space would be compacted again on calling nc_close(). Fixed the "redef bug" that occurred when nc_enddef() or nf_enddef() is called after nc_redef() or nf_redef(), the file is growing such that the new beginning of a record variable is in the next "chunk", and the size of at least one record variable exceeds the chunk size (see netcdf.3 man page for a description of this tuning parameter and how to set it). This bug resulted in corruption of some values in other variables than the one being added. The "__" tuning functions for the Fortran interface, nf__create, nf__open, and nf__enddef, are now documented in the Fortran interface man pages. Add an 'uninstall' target to all the Makefiles. Dave Glowacki <dglo@SSEC.WISC.EDU> 199810011851.MAA27335 Added support for multiprocessing on Cray T3E. Hooks added by Glenn, but the majority of the work was done at NERSC. Also includes changes to ffio option specification. Patch rollup provided by R. K. Owen <rkowen@Nersc.GOV>. The following functions are added to the public interface. nc__create_mp() nc__open_mp() nc_set_base_pe() nc_inq_base_pe() Fixed makefile URL for Win32 systems in INSTALL file. Made test for UNICOS system in the configure script case independent. Ported to the following systems: AIX 4.3 (both /bin/xlc and /usr/vac/bin/xlc compilers) IRIX 6.5 IRIX64 6.5 Changed the extension of C++ files from ".cc" to ".cpp". Renamed the C++ interface header file "netcdfcpp.h" instead of "netcdf.hh", changing "netcdf.hh" to include "netcdfcpp.h" for backward compatibility. Treat "FreeBSD" systems the same as "BSD/OS" system w.r.t. Fortran and "whatis" database. Corrected manual pages: corrected spelling of "enddef" (was "endef") and ensured that the words "index" and "format" will be correctly printed. Updated support for Fortran-calling-C interface by updating "fortran/cfortran.h" from version 3.9 to version 4.1. This new version supports the Portland Group Fortran compiler (C macro "pgiFortran") and the Absoft Pro Fortran compiler (C macro "AbsoftProFortran"). Corrected use of non-integral-constant-expression in specifying size of temporary arrays in file "libsrc/ncx_cray.c". Added Compaq Alpha Linux workstation example to INSTALL file. Ported cfortran.h to Cygnus GNU Win32 C compiler (gcc for Windows). Fixed bug in ncdump using same CDL header name when called with multiple files. Added new NULL data type NC_NAT (Not A Type) to facilitate checking whether a variable object has had its type defined yet, for example when working with packed values. Fixed use of compile-time macro NO_NETCDF_2 so it really doesn't include old netCDF-2 interfaces, as intended. Ported to MacOS X Public Beta (Darwin 1.2/PowerPC). Fixed C++ friend declarations to conform to C++ standard. Changed INSTALL file to INSTALL.html instead.3.4 1998-03-09 Fixed ncx_cray.c to work on all CRAY systems, not just CRAY1. Reworked USE_IEG, which was incorrect. Reworked short support. Now USE_IEG and otherwise both pass t_ncx. To better support parallel systems, static and malloc'ed scratch areas which were shared in the library were eliminated. These were made private and on the stack where possible. To support this, the macros ALLOC_ONSTACK and FREE_ONSTACK are defined in onstack.h. The buffered i/o system implementation in posixio.c was reimplemented to limit the number and size of read() or write() system calls and use greater reliance on memory to memory copy. This saves a great deal of wall clock time on slow (NFS) filesystems, especially during nc_endef(). Added performance tuning "underbar underbar" interfaces nc__open(), nc__create(), and nc__enddef(). The 'sizehint' contract between the higher layers and the ncio layer is consistently enforced. The C++ interface has been updated so that the deprecated "nclong" typedef should no longer be required, and casts to nclong no longer necessary. Just use int or long as appropriate. nclong is still supported for backwards compatibility. The ncdump utility now displays byte values as signed, even on platforms where the type corresponding to a C char is unsigned (SGI, for example). Also the ncdump and ncgen utilities have been updated to display and accept byte attributes as signed numeric values (with a "b" suffix) instead of using character constants. In libsrc/error.c:nc_strerror(int), explain that NC_EBADTYPE applies to "_FillValue type mismatch". Some changes to configure scripts (aclocal.m4), macros.make.in and ncgen/Makefile to support NEC SUPER-UX 7.2. The "usage" messages of ncgen and ncdump include the string returned from nc_inq_libvers(). Corrected some casts in the library so that all phases of the arithmetic computing file offsets occurs with "off_t" type. This allows certain larger netcdf files to be created and read on systems with larger (64bit) off_t. In ncgen, multidimensional character variables are now padded to the length of last dimension, instead of just concatenating them. This restores an undocumented but convenient feature of ncgen under netCDF-2. Also, a syntax error is now reliably reported if the netcdf name is omitted in CDL input. Fortran and C code generated by ncgen for netCDF components whose names contain "-" characters will now compile and run correctly instead of causing syntax errors. The library allows "." characters in names as well as "_" and "-" characters. A zero length name "" is explicitly not allowed. The ncgen utility will now permit "." characters in CDL names as well. Memory leaks in the C++ interface NcVar::as_*() member functions and NcFile::add_var() member function are fixed. The documentation was fixed where it indicated incorrectly that the library managed value blocks that the user is actually responsible for deleting. The values of the version 2 Fortran error codes have been modified to make the version 2 Fortran interface more backward compatible at the source level. Added support for systems whose Fortran INTEGER*1 and INTEGER*2 types are equivalent to the C "long" type but whose C "int" and "long" types differ. An example of such a system is the NEC SX-4 with the "-ew" option to the f90 compiler (sheesh, what a system!). Fixed Version 2 Fortran compatibility bug: NCVGTG, NCVGGC, NCVPTG, and NCVPGC didn't work according to the Version 2 documentation if the innermost mapping value (i.e. IMAP[1]) was zero (indicating that the netCDF structure of the variable should be used).3.3.1 1997-06-16 One can now inquire about the number of attributes that a variable has using the global variable ID. The FORTRAN interface should now work on more systems. In particular: It should now work with FORTRAN compilers whose "integer*1" datatype is either a C "signed char", "short", or "int" and whose "integer*2" datatype is either a C "short" or "int". It should now work with FORTRAN compilers that are extremely picky about source code formatting (e.g. the NAG f90 compiler). The dependency on the non-POSIX utility m4(1) for generating the C and FORTRAN manual pages has been eliminated. EXTERNAL statements have been added to the FORTRAN include-file "netcdf.inc" to eliminate excessive warnings about "unused" variables (which were actually functions) by some compilers (e.g. SunOS 4.1.3's f77(1) version 1.x). Building the netCDF-3 package no longer requires the existence of the Standard C macro RAND_MAX. Fixed an ncdump bug resulting in ncdump reporting Attempt to convert between text & numbers when _FillValue attribute of a character variable set to the empty string "". Made ncgen tests more stringent and fixed various bugs this uncovered. These included bugs in handling byte attributes on platforms on which char is unsigned, initializing scalar character variables in generated C code under "-c" option, interspersing DATA statements with declaration statements in generated Fortran code under "-f" option, handling empty string as a value correctly in generated C and Fortran, and handling escape characters in strings. The Fortran output under the "-f" option was also made less obscure and more portable, using automatic conversion with netCDF-3 interfaces instead of "BYTE", "INTEGER*1", or "INTEGER*2" declarations. Fixed a C++ interface problem that prevented compiling the C++ library with Digital's cxx compiler. Made ncgen "make test" report failure and stop if test resulted in a failure of generated C or Fortran code. The file that you are now reading was created to contain a high-level description of the evolution of the netCDF-3 package.3.3 1997-05-15 The production version of the netCDF-3 package was released. A comparison of the netCDF-2 and netCDF-3 releases can be found in the file COMPATIBILITY.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -