Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Known Problems with the netCDF 3.4 Distribution

This is where we document some reported problems with the current release (netCDF version 3.4) and their workarounds. Reported problems and workarounds are also available for some previous releases: version 3.3.1, version 3.3, version 2.4.3, and version 2.4.2.

Need non-alphanumeric characters in names

Beginning with netCDF version 3, the netCDF library was made consistent with the CDL notation for netCDF data in restricting names of new variables, dimensions, and attributes to contain only alphanumeric characters and the characters `-', `_', and `.'. To remove the name restriction, apply this patch to the netCDF 3.4 source distribution, rebuild, and reinstall the library. The resulting library will permit any characters in netCDF component names.

Even applications linked to netCDF libraries built without this patch should be able to read or modify files created by applications linked to libraries built with this patch. However, the CDL produced by the "ncdump" utility for such files (if names use characters not permitted in CDL) may not be work as input to programs such as "ncgen", that require valid CDL. This may not be a serious restriction, if you don't need to use ncgen for generating programs or files.

Installed man pages missing new tuning functions

Through an oversight, the netCDF manual pages (both C and Fortran) that shipped with the latest netCDF distribution do not have documentation on the new "underbar underbar" tuning functions nc__create(), nc__open(), and nc__endef() (Fortran: nf__create(), nf__open(), and nf__endef()).

Augmented manual pages, with the above functions, are available for both C and Fortran.

You may install these pages in your netCDF distribution if you so choose.

Additionally, the augmented pages can be read online from our netCDF documentation page by following the "online man pages" links.

The User's Guides for C and Fortran have not yet been updated for version 3.4 to include descriptions of the new functions.

Patch supports access to new tuning functions from C++

Access to the new "underbar underbar" tuning functions nc__create(), nc__open(), and nc__endef() is not supported in the C++ interface for version 3.4. Joe VanAndel has provided a patch that makes these new interfaces available to C++ programs just by providing the additional tuning parameters to the constructor for NCFile. Joe's test harness shows a 60% improvement in throughput by using a chunksize of 65536.

These improvements will be included in the next minor release.

Cray "assigns" not versatile enough

Olaf Heudecker <oheudeck@awi-bremerhaven.de> has provided a patch for more versatile "assigns" on Cray Computers:
Problem:
-------
The implementation with "ffopens" allows only to pass a simple "assign"
parameter (namely the option following -F to determine the buffer
structure). For those who like to fiddle around with ALL assign
options (to determine the partitions and reserved block sizes and so
on) for optimization, I added some additional lines to libsrc/ffio.c.

Implementation:
------------
Here is a patch to netCDF version 3.4 for users of Cray Supercomputers
(tested for T3E only but it should run on all Unicos machines supplying the
fast flexible I/O (ffio) scheme, especially the Fortran ASSIGN
command).Instead of using the ffopens-command the Fortran ASSIGN
command is called to pass the options. To provide full compatabilty an
extra environment  variable called NETCDF_XFFIOSPEC ist introduced and
appended to the parameters of the assign command. Schematically:
assign -F $NETCDF_FFIOSPEC $NETCDF_XFFIOSPEC

Extra functionality:
--------------
Now there is an extra environment variable called "NETCDF_XFFIOSPEC"
which holds additional options to the assign command. For
compatibility reasons the -F option is still passed via
"NETCDF_FFIOSPEC". This seems a bit complicated but it assures
that even the not patched programms (including ncdump and ncgen) will
work without errors.

Example (bourne shell grammer):
------------------------
Type 
NETCDF_FFIOSPEC="cachea:8:350"
NETCDF_XFFIOSPEC="-p 0:1 -d 100"
and run a (patched) netCDF-programm. Then when reading or writing a
file it will use 350 asynchronous Buffers of 8 * 512kwords size each
AND place it only on partitions 0 and 1 of the (respectively designed)
file system, changing partitions every 100 Blocks (512kwords each).

Note: 
The cited NETCDF_FFIOSPEC yielded a factor 1/10 in execution time for
a programm that randomly accessed a netCDF file (array rearrangements).

Windows NT nc_test -O2 failure

In Windows NT, when compiling the nc_test suite under -O2 flag, there are two minor failures that can be ignored:
*** Testing nc_put_vars_float ... 
        FAILURE at line 5314 of test_put.c: range error: status = 0
 1194 good comparisons. 
        ### 1 FAILURES TESTING nc_put_vars_float! ###
...

*** Testing nc_put_varm_float ... 
        FAILURE at line 6637 of test_put.c: range error: status = 0
 1194 good comparisons. 
        ### 1 FAILURES TESTING nc_put_varm_float! ###
 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Office of Programs University Corporation for Atmospheric Research (UCAR)   Unidata is a member of the UCAR Office of Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690