[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ncgen, netcdf attributes ?
- Subject: Re: ncgen, netcdf attributes ?
- Date: Mon, 03 Oct 1994 08:57:37 -0600
>From: address@hidden (Charlie Zender)
>Organization: .
>Keywords: 199410012218.AA02747
>hello people,
>i'm trying to ncgen a cdl file that looks like
>
>netcdf ccm_labels {
>variables:
> float ALBD;
> ALBD:long_name = "ALBD";
> ALBD:english = "ERBE all-sky albedo";
> ALBD:idl_tit_str = "!5Albedo: All Sky";
> ALBD:idl_units = "!5Fraction";
> ALBD:disp_scale = 1.e0;
> ALBD:idl_symbol = "!8A!5";
> ALBD:idl_abbrev = "!5Albedo";
> ALBD:obs_src = "!5";
>
>.
>. about 100 more entries similar the above
>.
>}
>
>but i get the error msg:
>/home/zender/netcdf: ncgen ccm_labels.cdl
>ncgen: ccm_labels.cdl line 628: too many attributes
>ncgen: ccm_labels.cdl line 629: too many attributes
>ncgen: ccm_labels.cdl line 630: too many attributes
>and eventually the a core dump.
>i can't find a syntax error in the file so i'm wondering if i've overrun some
>internal limit on the number of attributes a file can have. this hunch is
>confirmed by splitting the file in two: each half separately compiles with
>ncgen, but not the two together. is there such
>a limit? ncgen is barfing after about attribute 500. if you think this hunch
>is correct what can i do about it/are there any workarounds? i'd prefer not
>to split the file up into smaller bits and pieces.
>thanks,
>charlie
Yes, you have over-run an internal limit for number of attributes per
variable. This is described in the netCDF users guide, and the limit
itself is defined in the netcdf.h include file:
/*
* These maximums are enforced by the interface, to facilitate writing
* applications and utilities. However, nothing is statically allocated to
* these sizes internally.
*/
#define MAX_NC_DIMS 32 /* max dimensions per file */
#define MAX_NC_ATTRS 512 /* max global or per variable attributes */
#define MAX_NC_VARS 512 /* max variables per file */
#define MAX_NC_NAME 128 /* max length of a name */
#define MAX_VAR_DIMS MAX_NC_DIMS /* max per variable dimensions */
You may change the limits in your interface (and rebuild), however, you
may run into trouble if you intend to exchange your data with others.