Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Update the version of CLM to 5.3 within CESM 2.15

krivers

K. Andrew Rivers
New Member
Hi,

I've successfully ported CESM 2.1.5 to the Compute Canada systems. This version includes CLM 5.0.37 by default, but I'd like to update CLM to the latest release (5.3) without upgrading the entire CESM framework.

Due to current system constraints, I'm unable to port CESM 2.2 or newer versions at this time. Is it possible to update just the CLM component to 5.3 while keeping the rest of the CESM components at their existing versions?

Any guidance on how to approach this would be greatly appreciated.

Thanks!


What version of the code are you using?
------------------------------------------------------------------------
git describe:
release-cesm2.1.5-0-g7a6c5b0
------------------------------------------------------------------------
Also,

release-clm5.0.37

Have you made any changes to files in the source tree?
I ported the code to Compute Canada machines using Downloading CESM2 (CESM2.1) — CESM CESM2.1 documentation.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I don't believe that is possible. Generally, updated versions of CLM will need updated versions of other components.
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
It is technically possible to do what you want to do -- with a TON of work. The latest ctsm5.3.0 moved over from the MCT cap used by default in CESM2.1 to only having a NUOPC cap. The cap is the top level code that interfaces with the coupler driver code. In ctsm5.3.0, some of the new code only has a NUOPC version. So you'd need to add an MCT version. And there might have been changes in the NUOPC version that will need to be updated in the MCT cesm2.1 version.

So roughly you need to keeping the MCT cap code for CLM from 2.1 (and everything in cime_config) and only updating the rest of the internal code. But, the things in the internal code that are dependent on other submodules (like cesm_share, and cdeps) would need to be handled somehow as well. And an MCT version of some of the stream handling would need to be added (or modified). So it's pretty involved. And in practice I'm sure there are things I'm forgetting.

So I don't really recommend doing this even if it is technically possible.
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
However, it seems like the key thing here is this statement you make that you can't use CESM 2.2 or newer.
Due to current system constraints, I'm unable to port CESM 2.2 or newer versions at this time. Is it possible to update just the CLM component to 5.3 while keeping the rest of the CESM components at their existing versions?

This should be something that's easier to do than to the proposed solution of bringing in updates to ctsm5.3. I would hope that using a fairly recent version of the cesm3_0 beta series could be ported reasonably easily. What "system constraints" prevent this for you? If it's compute limitations the cesm3_0 beta versions should be able to be adapted to build/run on smaller systems.

Doing this would be a much more sustainable framework to work under, and it would mean you could easily stay updated to near the latest versions if you want to. Whereas the other path would be a one-off that would always be hard to bring in new updates.
 
Top