Support Policy
Supported CESM versions
The supported CESM development release is: CESM2.2.2
The supported CESM production release is: CESM2.1.5
* CESM1.2 and iCESM1.2 for deep time paleoclimate and water isotope applications, respectively, are also supported subject to availability of resources
Overview
This policy relates to support of CESM. By CESM we refer to the entire CESM system and each component that it comprises. Support will consist of updates as needed for bug fixes, script changes, and/or code to allow the addition of new machines. Released code, scripts, and associated input datasets for production as well as development releases will be available for that period. This policy may be modified at the discretion of the SSC. Support, including responding to questions on the CESM Forums , will be provided by CESM liaisons during the support period.
CESM releases fall into two categories: production and development releases. Production releases provide a stable code base to a large number of community users in order to perform experiments that may require several years to complete. Development releases, on the other hand, provide the community with new science capabilities that are not necessarily accompanied by scientifically supported configurations.
Production releases of CESM will be fully supported for five years after the date of the release or for one year after the next production release, whichever period is longer. We will strive to provide limited support beyond that date, particularly for users who started simulations during the support period but then require additional support after the official support period has ended (for example, because a paper reviewer has asked them to run additional simulations). Development releases will be supported only until the next development or production release. More details are provided below.
CESM Versioning Procedure
CESM releases may incorporate different types of model enhancements as specified in the model release strategy.
Releases are identified by a numbering system CESMx.y.z where:
- "x" refers to a major release number
- "y" refers to a minor release number that is associated with changes in functionality and MAY BE climate changing. As an example, the move from CESM2.0 to CESM2.1.0 involved changing the out of the box behavior of existing compsets used in CMIP6 simulations
- "z" refers to a revision release number that is associated with changes such as bug fixes, machine updates, new component sets, and new science capabilities. At times, some of these changes, such as bug fixes, may be climate changing and these will be clearly documented in the release notes
A given major.minor pair (i.e. “x.y”) will have its own supported time period, depending on if the pair refers to a “production” or “development” release version. For both production and development releases, only the latest revision number (".z") is supported. At the time of a x.y.0 release, we will indicate whether it is a production or development release. Development releases can later be reclassified as production, but not the reverse.
As an example, CESM2.0 was a development release, whereas CESM2.1 is a production release. Therefore, support for CESM2.0 ended at the time of the CESM2.1.0 release, whereas the CESM2.1.z series will be supported for 5 years after the CESM2.1.0 release date (or for 1 year after the next production release, if that is longer). Support for the specific version CESM2.1.0 ended when CESM2.1.1 was released, but (as with revision releases in general) CESM2.1.1 includes the features of CESM2.1.0 with non-climate-changing answers, so users are encouraged to switch to the latest version in the CESM2.1.z series.
Recommendations For Users
For users whose main purpose is to use the model for scientific studies, and/or who expect to want long-term support on the model's use, we recommend using the latest production release version (e.g., CESM2.1.z for the latest z). We highly recommend checking the CESM2 release web page to determine the latest available version before starting any simulations. If you have already started simulations with a given model revision number, then we generally recommend sticking with that version for the duration of your experiment: switching code versions mid-experiment can cause significant problems for ongoing cases, and bug fixes can cause unwanted answer changes between multiple cases run as part of an ensemble, a control vs. experiment study, etc. Although official support will end upon release of the next revision, we will still strive to provide limited support in these circumstances.
For users whose main purpose is to develop new model functionality for future CESM versions, we recommend starting with the latest model version, regardless of whether this is a development or production release. Development releases have only limited-term support, but an important consideration for model developers is starting with code that is close to the latest code base, to minimize the potential for conflicts when merging these new developments with the master version. In fact, in many cases, we recommend starting with unreleased development code for this purpose, and then periodically updating your code base to pull in the latest changes from master as you go. Please reach out to liaisons for the component(s) you plan to develop for recommendations specific to your situation.
Machine Support
Category 1: Fully Supported Machines
- All fully supported machines are climate validated and routinely tested
- The machine support status is defined as "Scientific" under the Support Level of the machines page
(e.g. https://www.cesm.ucar.edu/models/cesm2/config/machines.html)
Category 2: Tested Machines
- Some machines are routinely tested but have not produced scientifically validated configurations
- Tested machines are defined as "Tested" under the Support Level of the machines page
(e.g. https://www.cesm.ucar.edu/models/cesm2/config/machines.html)
Category 3: Other Machines
- Users should first review the CIME Defining the machine Documentation
- Review the CESM2 machine/compiler/test status spreadsheet
- Use the ensemble port verification tool
- Users should post questions to the CESM Forums
The addition of new machines to, or removal of old systems from, the Category 1 class will be based upon the availability of future CESM production capability.
Support Details
Extensive CESM and component model documentation will be available for each currently supported release series. The release notes for each supported release series provide information regarding what's new in science and software functionality, answer-changing features, supported machines, and known problems. The CESM Software Engineering Group (CSEG) and CESM science liaisons will provide help in addressing issues regarding porting, data inquiries, bug reports and any other model related questions via the CESM Forums. The community is also encouraged to assist each other in sharing resolutions of issues.