Currently support for netcdf-4 features in CICE is pretty limited. Netcdf supports chunking and compression.
When implemented, #862 will let CICE standalone output netcdf-4 files when it is built using the io_pio directory. (The nuopc driver also has options to configure netcdf-4)
It would be good to add support for the extra features like chunking and compression (we would use in it in the ACCESS model). This would need a namelist option (e.g. netcdf4_options) which would be something like:
Currently support for netcdf-4 features in CICE is pretty limited. Netcdf supports chunking and compression.
When implemented, #862 will let CICE standalone output netcdf-4 files when it is built using the
io_pio
directory. (The nuopc driver also has options to configure netcdf-4)It would be good to add support for the extra features like chunking and compression (we would use in it in the ACCESS model). This would need a namelist option (e.g.
netcdf4_options
) which would be something like:netcdf4_options = deflate_level, chunksize_x, chunksize_y
This option would only be relevant if the iotype is one of the netcdf4 types (
netcdf4c
ornetcdf4p
), otherwise it would be ignored.For code changes, in all the places
pio_def_var()
is used we would need to add:pio_def_var_deflate()
ifdeflate_level
is set (https://ncar.github.io/ParallelIO/group___p_i_o__def__var.html)pio_def_var_chunking()
ifchunksize_x
orchunksize_y
are set (https://ncar.github.io/ParallelIO/group___p_i_o__def__var.html)This change would mean the io_pio build is ahead of the io_netcdf build. Builds using the io_netcdf files would only be using netcdf-3 / classic.