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.
Hi George, I think what you're looking for is the parameter "chunksize" that can be passed in to either nc__create() or nc__open() (note these are the double-underbar "__" tuning functions, not the corresponding single-underbar user functions that have no such parameter. Here's an explanation from the netcdf(3) man page: The argument referenced by chunksize controls a space versus time tradeoff, memory allocated in the netcdf library versus number of system calls. Because of internal requirements, the value may not be set to ex- actly the value requested. The actual value chosen is returned by reference. Using the value NC_SIZEHINT_DEFAULT causes the library to choose a de- fault. How the system choses the default depends on the system. On many systems, the "preferred I/O block size" is available from the stat() system call, struct stat member st_blksize. If this is available it is used. Lacking that, twice the system pagesize is used. Lacking a call to discover the system pagesize, we just set default chunksize to 8192. There is no runtime control of the chunksize. Making this a lot larger might improve performance significantly if you can afford lots of memory, but we don't have much experience with this. --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: PUY-491456 Department: Support netCDF Priority: Normal Status: Closed