NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #PUY-491456]: netcdf question



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