Features

  • New chunking strategy to support CMIP7 repacking requirements.
    • Chunking dimensions of the time and time bounds axes will be set to the length of the time axis, plus a dimension of size 2 for the bounds, if it is known when the time axis is created. Otherwise, the time and time bounds chunking dimensions will be set to 512 by default.
    • Chunking dimensions for data variables will be determined by whether chunks can be at least 4 MB in size.
      • If multiple time slices of data can fit within 4 MB, then chunking dimensions will have multiple time slices and full spatial dimensions of the data variable.
      • If a single time slice is greater than 4 MB, then chunking dimensions will have one time slice with spatial chunking dimensions determined by the NetCDF library.
  • The function cmor_set_chunking has been added to the API, allowing users to define NetCDF variable chunking dimensions.
    • Setting the chunking dimensions with cmor_set_chunking will override the automatic chunking strategy for CMIP7 repacking.

Bugfixes

  • Fixed bug where using cmor.write with the store_with parameter will throw an error when time values are not passed.

Changes

  • Removed legacy Python 2 code from Python interface and unit tests.
  • cmor_setup in the Fortran API will now allow the use of NetCDF4 functionality when setting the parameter netcdf_file_action with either “preserve_4”, “append_4”, or “replace_4”.

Closed Issues

GitHub