Skip to content

Releases: PCMDI/cmor

CMOR 3.9.0

28 Aug 20:01
2d376a0
Compare
Choose a tag to compare

Features

  • Added the functions cmor_set_quantize and cmor_set_zstandard for exposing the data quantization and Zstandard compression utilities of the netCDF library since version 4.9.0.
  • MacOS arm64 builds for use on Apple silicon (M-series CPUs).

Bugfixes

  • The attribute realm will not be written to files if it is not specified in the required_global_attributes of a controlled vocabulary.

Changes

  • End of support for Python 3.8.
  • Compatibility with the Numpy 2.0 C API.
  • Use netCDF's default chunking rather than setting chunk size to 1 for coordinates/axis such as time to enhance performance of reading netCDF variables.

Closed Issues

CMOR 3.8.0

08 Apr 23:12
Compare
Choose a tag to compare

CMOR 3.8.0 is the first release built to work natively with the mip-cmor-tables, CMIP6Plus_CVs, input4MIPs_CVs and obs4MIPs_CVs. The software has been generalized to allow more broad usage following the new CVs templates noted above.

Changes

  • CMOR will throw an error if it processes a JSON file that contains null values. Used to avoid segfaults.
  • When processing attributes in variable entries, any JSON list values will be converted into a space-separated lists string. Used for the dimensions and modeling_realm variable attributes.
  • Modeling realm strings were being split by spaces and only had the first word found stored in the realm attribute of the file. This has been fixed by storing the whole realm string.
  • The further_info_url attribute is no longer created automatically unless it is listed in the CV's required_global_attributes list.

Closed Issues

CMOR 3.7.3

17 Oct 21:57
Compare
Choose a tag to compare

Changes

  • CMOR now supports Python 3.12.

Bugfixes

  • Fixed error caused when cmor_write writes arrays with more than 231-1 elements.
  • Fixed segmentation fault casued when the value for further_info_url in the user input is an empty string or only whitespace.
  • Fixed implicit declaration compilation error in cmor.c.

Closed Issues

GitHub

CMOR 3.7.2

24 Mar 18:33
8a5260d
Compare
Choose a tag to compare

Changes

  • testsrunner is no longer being used for running CMIP6 CV tests, which are now a part of make test.
  • CDMS2 is no longer supported.

Bugfixes

  • Removed deprecated NumPy types numpy.float and numpy.int, which caused errors with NumPy >=1.24.

Closed Issues

GitHub

CMOR 3.7.1

30 Nov 00:29
eb60909
Compare
Choose a tag to compare

Changes

  • End of support for Python 3.7.
  • CMOR now supports Python 3.11.
  • The Python 3.11 build of CMOR will not support CDMS2.

Bugfixes

  • Fixed issue with Python 3.10 build of PrePARE where it was skipping files due to an issue with the check_filename function.
  • CMOR failed when doing multiple writes to a dataset with seasonal forecast time coordinates ('reftime' and 'leadtime'). Fixed by checking if the 'leadtime' coordinate already exists.

Closed Issues

GitHub

CMOR 3.7.0

22 Aug 18:26
Compare
Choose a tag to compare

Features

  • CMOR automatically sets attributes in a dataset using the registered data listed in a project CV's source_id entry (e.g. Tables/CMIP6_CVs.json or Tables/input4MIPs.json), reducing the input requirements from a user. This feature can be overridden by setting the attributes in the user input file (e.g. user_input.json).
  • Added ability to write reftime and leadtime coordinates to datasets for forecast data.

Changes

  • End of support for Python 3.6.
  • CMOR now supports Python 3.10.
  • The CCLRC license has been replaced with a BSD-3 license.
  • Updated warning and error messages from retired listserv email address [email protected] to [email protected].
  • Updated CMOR and CF versions listed in the Fortran wrapper.

Bugfixes

  • PrePARE would crash if the experiment_id attribute is not present in a dataset. It will now check for the presence of experiment_id before further processing the dataset.
  • PrePARE was generating errors when processing cell_methods values that contained multiple comments, which are substrings in parentheses embeded in the values. PrePARE can now handle cell_methods values containg mulitple comments.
  • Fixed error caused by an error message exceeding the maximum string size when an attribute value cannot be validated with a list of values from the CV.
  • Corrected typo in udunits initialization message.

Closed Issues

GitHub

CMOR 3.6.1

16 Dec 19:57
b94984b
Compare
Choose a tag to compare

CMIP6_CVs-6.2.55.1/DREQ-01.00.33/CMOR-3.6.1

Changes

  • End of support for Python 2.7.
  • CMOR now supports Python 3.9.

Bugfixes

  • Fixed handling of Unicode string values in cmor.axis for the Python API.

Closed Issues

GitHub

CMOR 3.6.0

19 May 20:14
cc5818f
Compare
Choose a tag to compare

CMIP6_CVs-6.2.52.2/DREQ-01.00.31/CMOR-3.6.0

Features

  • Added the option --hide-progress to PrePARE to remove the number of files completed while processing files.
  • Added the option --no-text-color to PrePARE to remove the color code from the terminal output.
  • Added the option --version to PrePARE to output the version of CMOR/PrePARE in use.

Changes

  • CMOR now supports Python 3.8.
  • Changed Control Vocabulary to Controlled Vocabulary.
  • Improved error messages for supported data types in pywrapper.py.
  • Removed gfortran 4.8.5 requirement for OSX.
  • CMOR will now allow axis values to be within 1.e-6 fractional error for valid_min and valid_max.
  • cmor_CV_checkSourceID will throw an error if source is not found in a source_id section of the CV.
  • In the function cmor_CV_checkParentExpID, if parent_experiment_id is "" or not found in the variable file, then it will be set to "no parent" if that is the valid value for parent_experiment_id in the CV.
  • When parent_experiment_id is a value other than "no parent" in the function cmor_CV_checkParentExpID, it will check the attributes parent_activity_id, branch_method, branch_time_in_child, branch_time_in_parent, parent_time_units, parent_variant_label, parent_source_id, and parent_mip_era, and only return an error after going through all of them.

Bugfixes

  • Improved how comments in the cell_methods attribute are handled.
  • Fixed error message for false_northing in cmor_set_grid_attribute
  • Fixed issue with PrePARE not counting errors for attribute errors.
  • Fixed errors when processing the nwdFracLut variable in the Emon table.
  • PrePARE will now check if external_variables exists when values are present in cell_measures.
  • PrePARE will now give an error if the activity_id is wrong.

Closed Issues

GitHub

3.5.0

30 Jul 17:00
10716a2
Compare
Choose a tag to compare

CMIP6_CVs-6.2.35.3/DREQ-01.00.31/CMOR-3.5.0

Changes

  • CMOR now supports Python 3.6 and 3.7.
  • PrePARE will stop if CMIP6_coordinate.json, CMIP6_formula_terms.json, and CMIP6_CV.json are missing from the table directory.
  • Changed missing value replacement history message to include "corresponding data".
  • The UUID library ossuuid has been replaced with libuuid
  • CMOR will now use the json-c library installed from conda-forge instead of building its own library.
  • In the Python API, CMOR will throw an error if the number of time steps being passed to cmor.write is less than ntimes_passed.
  • If the number of timesteps written is less than the length of the time axis, CMOR will give a warning when closing.
  • cdms2 has been replaced with Netcdf4 for use in PrePARE.

Bugfixes

  • Fixed bug in PrePARE where it crashes when it does not find the _FillValue attribute in a file.
  • Fixed error caused by variables having both a singleton dimension and a generic level.
  • Fixed bugs in PrePARE where it was not processing the attribute cell_measures correctly.
  • Fixed bug caused by cmor.write in the Python API when the number of time steps passed is less than the ntimes_passed argument.
  • Fixed bug when handling the olevhalf dimension.
  • Fixed error caused by variables having multiple singleton dimensions.
  • Fixed bug when using CMOR in Append mode for instantaneous variables.
  • Fixed bug caused by multiple instances of CMOR running a file permissions test by writing a test file. Each test file will now have the instance's PID in the file name.
  • Fixed bug where the frequency of the variable used in the last call to cmor_write is applied to the output file name of all variables when calling cmor_close_variable or cmor_close.

Closed Issues

CMOR 3.4.0

20 Dec 17:19
81f1361
Compare
Choose a tag to compare

CMIP6_CVs-6.2.15.0/DREQ-01.00.29/CMOR-3.4.0