This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
> Organization: NCAR/CGD > Keywords: 199411232108.AA04548 ncgen > From: address@hidden (Charlie Zender) Hi Charlie, > i'm using a perl script to generate CDL files out of some pretty big ascii > model (CCM2) output files. i then use ncgen to create a binary netcdf > file. the ncgen command is working on "small" CDL files--- 8 > one-dimensional floats with a dimension length of under a thousand. but > i'm encountering mysterious syntax errors when i ncgen some larger CDL > files. it could be a problem with perl, but i also want to know if > there's any default internal limit to the number of elements a field can > have in a CDL file? No, the limit to the number of values in a variable on a machine where longs are at least 32 bits is 2**31-1, which is 2147483647. There are limits on the number of dimensions, variables, and attributes that can be defined in a netCDF file. From netcdf.h, these are: /* * 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 */ -- Russ Rew UCAR Unidata Program address@hidden P.O. Box 3000 http://www.unidata.ucar.edu/ Boulder, CO 80307-3000