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.
Lynton, Evidently the HDF5 limit that's being exceeded is H5O_MESG_MAX_SIZE, defined as 65536 /*max obj header message size */ in H5Oprivate.h. You're right, this seems to have something to do with initializing a header object with HDF5 fill values. Your compound type has a double array member with 8192 values, and sizeof(double)*8192 is 65536, so I think that's the problem. I expect if you used float instead of double, you could have twice as many of them. I'm not sure why the HDF5 size limit for an array type is only 2**16, except that the documentation says A compound datatype is similar to a struct in C or a common block in Fortran. It is a collection of one or more atomic types or small arrays of such types. ... Each member can be a small array of up to four dimensions. http://www.hdfgroup.org/HDF5/doc/H5.intro.html#Intro-PMCreateCompound --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: XYO-599400 Department: Support netCDF Priority: Normal Status: Closed