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.
Willa, > I appreciate it very much if anyone can offer me a clue about what > would cause the problem with netcdf-2.4.2 described below. > > I changed all "long" to "nclong" in my programs and recompiled them > with netcdf-2.4.2. All programs failed on ncvarget() function > with this error: (I have tested both on Solaris and DEC/OSF1) > > ncvarget: xxx: Invalid Coordinates > > where xxx is variable name. I have checked input arguments "nclong start" > and "nclong count" which all contain right values. Besides, all > these programs are working with old netcdf library. You should not change all occurrences of "long" to "nclong", only in declarations that declare types for *data* associated with the NC_LONG netCDF external data type (32-bit integer). In particular, the C prototype for ncvarget is: extern int ncvarget(int ncid, int varid, const long* start, const long* count, void* value) so the types of the "start" and "count" variables should be "long*", not "nclong*". The latter should result in a compile error, and won't work correctly on platforms where the "nclong" typedef is different from "long". Only the declaration for variables corresponding to the "value" argument in the ncvarget/put and ncattget/put functions needs to be changed from "long" to "nclong". Or, as the release notes say: This means that C/C++ programs on platforms with sizeof(long) > sizeof(int) (e.g. the DEC Alpha) will have to be recompiled and must use nclong as the variable type corresponding to NC_LONG data. All programs that use NC_LONG data should also use the nclong data type to declare such data for portability. The requirement that NC_LONG data be declared with the "nclong" typedef was first introduced in netCDF version 2.3.2, although programs that use "long" instead still work on platforms where sizeof(long) == sizeof(int). This is explained more fully in the Users Guide in the section "Language Types Corresponding to NetCDF Data Types", available on-line at http://www.unidata.ucar.edu/packages/netcdf/guide_9.html#SEC56 Please let me know if this needs further clarification. --Russ ______________________________________________________________________________ Russ Rew UCAR Unidata Program russ@xxxxxxxxxxxxxxxx http://www.unidata.ucar.edu
netcdfgroup
archives: