How the chunk sizes are selected in the fms of UFS #892
-
Hi, FMS folks, ........ |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
An update: UFS developers pointed out that ncchksz in namelist fms2_io_nml is used in nf90_open ( default 64k). However, it is expected not only sizes but the shapes of the chunking could be specified to help the efficient IO to those netcdf files. I did some searching in fms and didn't find the chunking shapes are controlled by fms (seemingly selected by netcdf intrinsic functions according the sizes), is that right? |
Beta Was this translation helpful? Give feedback.
-
Hi @TingLei-NOAA, Your findings are correct... FMS does not currently have a mechanism to control the chunking shape. Chunk shapes are defined in the |
Beta Was this translation helpful? Give feedback.
-
@GFDL-Eric Thank you so much for your rather complete description of the situation. I will share them with UFS developers and colleagues at EMC. Yes, to add a new function to specify the chunk shape and sizes in UFS/FMS are not trivial. Currently, we may try using nccopy to do the conversion, which would, in total, still give us a quicker throughout. |
Beta Was this translation helpful? Give feedback.
Hi @TingLei-NOAA,
Your findings are correct... FMS does not currently have a mechanism to control the chunking shape. Chunk shapes are defined in the
nf90_def_var
call as an optional argument. The function within FMS that calls nf90_def_var is callednetcdf_add_variable
and is located in the netcdf_io.F90 file of fms2_io.netcdf_add_variable
does not currently accept or pass a chunksizes argument to nf90_def_var, so the "default" chunk sizes are used (n.b. although we didn't use thestorage
optional argument in the nf90_def_var call, chunking is used because an unlimited dimension is present). The determination of the "default" chunk sizes is a bit hazy, but ostensibly has something to do…