The status about the chunk sizes specification in the model #1012
-
Hi, UFS developers, currently, what is considered in specifying the chunk size for UFS netcdf output? In the restart files, we recently found, the chunk size is "too small" for large model domains, as in the regional parallel runs at EMC, ........ |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 7 replies
-
@TingLei-NOAA the netcdf library will choose chunksizes if you don't specify the chunk size parameters (ichunk2d, ichunk3d etc) in model_configure. Not sure what your question is - are you asking how best to choose the ichunk,jchunk parameters in model_configure? There is some discussion of this here: https://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes Note that the chunk size that produces the fastest write may not be optimized for a given read pattern, so there will always be compromises involved. |
Beta Was this translation helpful? Give feedback.
-
To be clear, the default values for the ichunk,jchunk, kchunk parameters (0) will cause the domain decompisition for the IO tasks to be used as chunk sizes. If the ichunk,jchunk,kchunk parameters are set to -1, then the netcdf-c lib will chose the chunksizes. |
Beta Was this translation helpful? Give feedback.
-
@TingLei-NOAA You are asking about chunking in restart files, which are written by FMS. The above explanation of ichunk,jchunk,kchunk options applies only if write grid component is used (history files). |
Beta Was this translation helpful? Give feedback.
-
@jswhit2 @DusanJovic-NOAA Thank you so much for your information/clarifications. Yes, now, my target is the restart files. |
Beta Was this translation helpful? Give feedback.
-
From the FMS Changelog FMS2_IO: An fms2_io_nml namelist has been created. It includes the variable ncchksz. This is the replacement for the environment variable NC_BLKSZ set in model run scripts and used by mpp_io. The default value is 64 KB. Any time a file is opened in fms2_io (nf90_open or nf90_create), the optional argument chunksize=ncchksz is passed to the NetCDF library. NetCDF attempts to use this value to control the blocksize utilized for reads and writes of data from the filesystem. |
Beta Was this translation helpful? Give feedback.
-
Dear All, An update from FMS developers on chunk size/shapes specification in FMS. |
Beta Was this translation helpful? Give feedback.
@TingLei-NOAA You are asking about chunking in restart files, which are written by FMS. The above explanation of ichunk,jchunk,kchunk options applies only if write grid component is used (history files).