[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 971002: netcdf 3 and GMT
- Subject: Re: 971002: netcdf 3 and GMT
- Date: Sat, 04 Oct 1997 18:20:25 -0600
>To: Russ Rew <address@hidden>
>From: Paul Wessel <address@hidden>
>Subject: netcdf 3 and GMT
>Organization: University of Hawaii
>Keywords: 199710022207.QAA22322 netCDF 3
Paul,
> >Yes, the netCDF-3 interface tries to prevent reading data as text that
> >was written as numbers, so unless the external type of the "title"
> >attribute is NC_CHAR, you will get this error message.
>
> Great, that was it. The old code that made the database had NC_BYTE.
> rewriting the database with NC_CHAR fixed it.
>
> THe only inconvenience I have now is that there are no #defines for NC_INT
> etc in netcdf.h, only a typedef enumeration. However, all the examples use
> NC_INT
> and NC_SHORT etc. I had to put in #define NC_INT 4 to make things compile.
> I must be missing something .
I don't understand this. The enum declaration in netcdf.h defines
NC_INT as 4:
/*
* The netcdf external data types
*/
typedef enum {
NC_BYTE = 1, /* signed 1 byte integer */
NC_CHAR = 2, /* ISO/ASCII character */
NC_SHORT = 3, /* signed 2 byte integer */
NC_INT = 4, /* signed 4 byte integer */
NC_FLOAT = 5, /* single precision floating point number */
NC_DOUBLE = 6 /* double precision floating point number */
} nc_type;
which is a better way to define it than using #define (because it can be
type-checked by the compiler), but you shouldn't need to #define NC_INT
in addition to this. All the nc_test code uses these types and doesn't
require any #defines. Maybe the assumption that you need to #define
these is due to a misleading compiler message. Can you send us a
small example that doesn't seem to work with just the enumerated typedef
above that including netcdf.h defines?
--Russ