Skip to content

Help and Guidance for CESM Submodule Updates

Erik Kluzek edited this page May 5, 2025 · 5 revisions

Help and Guidance for CESM Submodule Updates

Introduction

The .gitmodules file contains the submodules that are needed for CTSM to run. This list include the CESM submodules:

  • cime
  • cdeps
  • cmeps
  • ccs_config_cesm
  • share
  • mpi-serial
  • parallel-io

As well as CESM subcomponents such as:

  • RTM
  • MOSART
  • mizuRoute
  • CISM

Sometimes a specific submodule can be updated independent of the others. But, sometimes there is a dependency between two or more of them. When this happens it can be tricky to figure out a set of submodules that all work together. Sometimes that interdependency is documented in the CESM testdb for either the planned tags or for existing tags. And sometimes the commit log will document these interdependencies, but not always. The version number for a submodule may also bump up the major or minor version for it to denote such interdependencies.

Suggestion 1 -- always look at CESM alpha tags

Go to the CESM testdb and look at the alpha tags (both planned and completed ones).

https://cseg.cgd.ucar.edu/testdb

For completed tags, this shows you the submodules that were tested together.

Suggestion 2 -- look for dependencies in the testdb

As part of looking at the testdb from above, look to see which alpha tags document dependencies between submodules.

Suggestion 3 -- look at CESM nightly testing with latest submodules

Nightly tests appear on Derecho here:

/glade/derecho/scratch/fischer/nightly

With the date of the test as MMDDYYY and with the tests run

The code being tested is here:

/glade/u/home/fischer/code/cesm3_nightly_tests

Clone this wiki locally