90 likes | 214 Views
NetCDF 3.6: What’s New. Russ Rew Unidata Program Center University Corporation for Atmospheric Research 2004-09-01. www.unidata.ucar.edu/packages/netcdf/. Overview. A new format variant Backward compatibility Refactored documentation File size limitations eliminated
E N D
NetCDF 3.6: What’s New • Russ Rew • Unidata Program Center • University Corporation for Atmospheric Research • 2004-09-01 www.unidata.ucar.edu/packages/netcdf/
Overview • A new format variant • Backward compatibility • Refactored documentation • File size limitations eliminated • Better configuration support • Better Windows support • Bug fixes, performance enhancements
Larger netCDF files, 64-bit file offsets • Current “classic” format uses 32-bit offsets • New 64-bit offset format mode available on creation, for very large files: • nc_create(file, NC_64BIT_OFFSET, &ncid) • Initial development by Greg Sjaardema, Sandia Labs • We added: • Fortran, C++, ncgen, ncdump support • Extensive additional error checking • 2GiB to 4GiB variable size increase • Elimination of 4GiB record size limit
Backward Compatibility • Version 3.6 library reads classic format or new format transparently • By default, new files are created in classic format • New format should only be used for files too large for classic format • No code changes needed for existing code • Third-party software eventually should be upgraded to 3.6 to support new format
Refactored Documentation • User’s Guides for C, FORTRAN-77, FORTRAN-90 converted from FrameMaker (proprietary) to Texinfo (GNU documentation system) • Language-neutral User’s Guide documents data model and language-independent concepts • Language-specific guides for C, Fortran-77, Fortran-90, and C++ interfaces • Will support better maintenance of documentation, easier addition of other language-specific manuals
Elimination of some size limitations I GiB = 230 or about 1.07 109 bytes I EiB = 260 or about 1.15 1018 bytes
Better configuration support • Upgraded to use latest autoconf configuration tool • Builds with Large File Support by default, if available • Tested on more platforms with more development environments
Better Windows support • Included with source distribution in win32 directory • Added .Net port • Builds with VC++.NET from source • Added windows installer files to build windows binary installs
Performance enhancements, bug fixes • Fortran -77 implementation upgraded with more recent cfortran.h • Added -x option to ncgen to use fast “no fill” mode for netcdf file creation • Fixed ncdump and ncgen to properly handle dimension lengths > 231 • Added new error codes for invalid dimension and variable size • Added tests for invalid offsets in classic format • Added performance fix for Fortran-90 array access interfaces