[netcdfgroup] legal NetCDF variable names

Hi,

When we recently relinked our software products, NCL and PyNIO, with the newly released version of the NetCDF 4.0 library we discovered that there seems to have been a change in the actual, as opposed to the documented, rules for variable names. Specifically it appears that names that begin with a digit can no longer be written to NetCDF files. This change causes difficulties for our software, particularly with our conversion utility, ncl_convert2nc, when used to convert GRIB to NetCDF. Our GRIB reader uses GRIB parameter names, as published by NCEP and other sources such as ECMWF, as the initial characters of GRIB variable names. A number of these parameter names (e.g. "4LFTX", "5WAVH", and "5WAVA" from NCEP's operational table) begin with digits. Now suddenly with the new version of NetCDF file conversions
that have worked for many years no longer complete successfully.

Since first encountering this problem, I have discovered 2 additional points: (1) the new NetCDF 3.6.3 library has the same behavior as the 4.0 library and (2) neither version of the library (fortunately) has a problem reading existing
files that contain variable names that begin with digits.

Admittedly, NCL and our file I/O library should have been coded to follow the documented behavior rather than the actual behavior of the NetCDF library. However, initial digits in variable names have worked for at least the last 10 years, and were working as recently as netcdf-4.0-beta1. Assuming the change was intentional, I wonder if the developers realized the serious backwards incompatibility that could result for client software. It seems to me that a user-visible change like this should have been announced for at least a few months. It should not have taken place without warning between a beta and a final release. However, perhaps the change was inadvertent. In any case is there a possibility of treating this as a bug and reverting to the older behavior at least for awhile? Actually I wonder what the need is to restrict names in this fashion other than just to satisfy the written documentation. Why not allow initial digits in names when they have worked just fine for many years?

 -Dave Brown
  NCL, PyNGL/PyNIO development team






  • 2008 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: