[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