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

Comments promted by the release of netCDF 3.6.0-beta6

1. It is certainly good to see improved support for cygwin, linux and
64-bit platforms.  Similar support is needed for udunits, which has not
been updated since June 2001!

2. I successfully compiled & tested 3.6.0-beta6 on our IA64 (Intel
64-bit) running SGI Linux 2.4.21-sgi301rp04092819_10108. I configured
using:
env FC='g77' F90='' CC='gcc' ./configure

3. The web page
http://my.unidata.ucar.edu/content/software/netcdf/INSTALL-beta/Installa
tion-Requirements.html#Installation%20Requirements

contains the following:

"flex and yacc 
Used in ncgen directory to parse cdl files. Generates C files from .y
and .l files. The makefile warns me that I can only use the yacc on
OSF/1. Probably this is due to the curse of the headless scientist at
Unidata. You only need to use this to modify ncgen's understanding of
CDL grammer."

In fact my reading of the Makefile indicates that any yacc will be
tried, but lex (not flex) must be run on SunOS5. (udunits does still use
only the OSF/1 yacc.) This will only affect any user crazy enough to
want to modify the grammars, but it would be nice to provide a more
portable solution such as using GNU flex and bison. And if the
installation notes are to mention lex and yacc at all then the
information should be correct!

4. I am such a crazy user! I suggest the CDL grammar be extended to
provide a standard way of representing infinity and NaN in both 32 and
64 bits.  At the moment such values are printed by ncdump as in the
following example:

netcdf t {
variables:
        float n ;
                n:_FillValue = -1.#IND00f ;
        double i ;
                i:_FillValue = -1.#IND0000000000 ;
data:
 n = _ ;
 i = 1.#INF ;
}

This dump is rejected by ncgen.  Different platforms will print infinity
and NaN in different ways.

5. There is still some use of old netcdf2 C macros. For example ncdump
uses MAX_VAR_DIMS rather than the equivalent netcdf3 NC_MAX_VAR_DIMS.
There are many such cases in nctest & cxx code.  I keep encountering
this problem when I compile with the macro NO_NETCDF_2 defined.  (This
provides a good way of detecting such obsolete code.)

Harvey Davies, CSIRO Atmospheric Research,
Private Bag No. 1, Aspendale 3195
E-mail: harvey.davies@xxxxxxxx
Office: 03 9239 4556
Mobile: 04 2241 7563
   Fax: 03 9239 4444 



 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community 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