NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi, Version 2.3-beta of the netCDF software is now available, via anonymous FTP from host: unidata.ucar.edu file: pub/netcdf/netcdf-2.3-beta.tar.Z We have so far verified that building and testing version 2.3-beta works `out of the box' on the following platforms: SPARCstation 2 SunOS 4.1.3 cc or acc f77 SPARCstation 10 Solaris 2.1 cc f77 DECstation 3000 ULTRIX V4.3 cc f77 IBM RS-6000 AIX 3.2 cc f77 CRAY Y-MP UNICOS 6.1.6 cc cf77 HP-7000 HPUX 9.0 cc or c89 fort77 SGI Iris Indigo Elan IRIX 4.0.5F cc f77 We know that there are still some (relatively small) problems building the new version under MSDOS, OS/2, NeXT, and probably VMS. These will likely be fixed before the general netcdf-2.3 release. There are also likely to be some bugs that will be uncovered by users of the beta release. Please send all reports of problems with the new release, bug fixes, or patches for other platforms to support@xxxxxxxxxxxxxxxx. What's New in netCDF 2.3 Subsampling along specified dimensions (using `strides') is one of the commonly-asked-for features supported by new interfaces for generalized hyperslab access. In addition, these interfaces permit accessing data that is not contiguous in memory. In a generalized hyperslab, an index mapping vector is used to define the mapping between points in the generalized hyperslab and the memory locations of the corresponding values. There are also some new interfaces that can be used to write, read, and inquire about records, where a record may contain multiple variables of different types and shapes. Where before you had to access a record's worth of data using multiple calls, now you may instead use a single call. New optimizations for the library have resulted in significant speedups for accessing cross-sections involving non-contiguous data. In some cases, speedups by a factor of 40 are achieved with the new implementation of I/O, and the new design isolates the I/O layer to facilitate other platform-specific optimizations. The ncdump utility now supports several new command-line options including the ability to specify for which variables data values will be output, to provide brief annotations in the form of CDL comments to identify data values for large multidimensional variables, or to provide full annotations in the form of trailing CDL comments for every data value. The way in which all the default fill values are defined in the FORTRAN interface was changed, so that now the FORTRAN default fill values will always be the same as the C default values. This eliminates the need for some platform-specific files where these constants were previously defined. The new release is intended to be backward-compatible with previous releases, adding a few new interfaces but not changing existing interfaces. The file format for netCDF files remains the same. The one change that might be a problem for some users is a new definition for the default floating-point fill values (FILL_FLOAT and FILL_DOUBLE in the C interface, FILFLOAT and FILDOUB in FORTRAN interface). Previously these had been defined to be values that on writing would map into the XDR representation for IEEE infinity. The idea was that although the values that had this property might vary from platform to platform, the on-disk representation for missing floating-point data would at least be the same for all platforms. But such fill values turn out to be an obstacle to writing portable generic netCDF applications, since there is still no portable way to determine if a floating-point value is an IEEE NaN (Not-a-Number), and using ordinary comparisons with such numbers can produce surprising results. Other problems included an undesirable dependence not only on the platform but also on the compilation environment. This led to the definition of new, default floating-point fill values that are very large constants, but still within the floating-point range. These are intended to be portable across all platforms and compilation environments. If you wish, however, to obtain the old, non-portable floating-point fill values, then this is possible by following the instructions in the INSTALL file. Many bugs have been fixed, portability has been improved, and the installation has been greatly simplified for most systems. The installation procedure on UNIX platforms was changed to use the GNU configure approach to constructing makefiles with a configure shell script. The suggested extension for netCDF files has been changed from `.cdf' to `.nc', in order to avoid a clash with the NASA CDF file extension. Although the old extension is still supported in a backward compatible way (ncgen -n still produces `.cdf' files), new netCDF files should use the new filename extension, where practical. A new `-b' flag to ncgen generates files with the new extension. An draft prototype C++ interface has been added. See the c++ subdirectory for the implementation, an example of the use, and some preliminary minimal documentation. The code has been ANSI-ized, although it can still be built with non ANSI-compliant C compilers such as the SunOS /bin/cc. Many `const' declarations were added to the interfaces and documentation, to specify where functions do not change values through pointers. Many changes were made to the User's Guide and man pages to improve the documentation and describe the new interfaces. A new Appendix includes some answers to frequently asked questions. Among the changes, it is now made clearer in the User's Guide that a NULL pointer can be provided for any return parameter from an inquire function to indicate where a value should not be returned, and that inquire functions do not incur any I/O. ________________________________________________________________________ Russ Rew Unidata Program Center russ@xxxxxxxxxxxxxxxx UCAR, PO Box 3000 Boulder, CO 80307-3000
netcdfgroup
archives: