Features

  • Added official Python wheel builds for CMOR releases, including Linux wheels, full Python test coverage in the wheel pipeline, and release assets attached on GitHub. (#932)
  • CMIP7 controlled vocabularies can now define drs_specs and tracking_prefix as root-level strings. (#961)
    • A root-level drs_specs string is now written to the output file as a global attribute.
    • A root-level tracking_prefix string is now used when generating tracking_id.

Bugfixes

  • User-provided Conventions values in the dataset JSON are now preserved and written to the output file instead of always being replaced by the table default. (#960)
  • The default table-header product value is now model-output instead of model_output, aligning generated metadata with current DRS terminology. (#960)

CI / Tests

  • Fixed test-cleanup failures in make test_python and make test_cmip6_cv that could raise OSError: [Errno 39] Directory not empty during teardown. (#955)
    • CMOR now removes the generated NetCDF files without trying to remove shared output directories that may still contain files from other tests.

Changes

  • Nightly Linux builds that were previously run on CircleCI now run on GitHub Actions. (#958)
  • Nightly package versions are now kept in sync. (#959)

Issues / Pull Requests

GitHub