Skip to content

Changes to enable easily turning on CUPiD diagnostics from your CTSM case#3689

Draft
ekluzek wants to merge 43 commits intomasterfrom
CUPiD
Draft

Changes to enable easily turning on CUPiD diagnostics from your CTSM case#3689
ekluzek wants to merge 43 commits intomasterfrom
CUPiD

Conversation

@ekluzek
Copy link
Collaborator

@ekluzek ekluzek commented Jan 13, 2026

Description of changes

The changes that are needed to turn CUPiD diagnostics from a CTSM case.

Specific notes

Contributors other than yourself, if any:
@TeaganKing @samrabin

CTSM Issues Fixed (include github issue #):

Are answers expected to change (and if so in what way)? No

Any User Interface Changes (namelist or namelist defaults changes)? Allows

RUN_POSTPROCESSING==TRUE to be used in CTSM cases

Does this create a need to change or add documentation? Did you do so? Yes
I worked on the README files, but we'll need to add to the User's Guide

Testing performed, if any:

I'm running a single test case to show the workflow. But, there are issues...

@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability bfb bit-for-bit science Enhancement to or bug impacting science usability Improve or clarify user-facing options labels Jan 13, 2026
@@ -0,0 +1,44 @@
# QuickStart to Running Diagnostics of your Case with CUPiD (CESM Unified Postprocessing and Diagnostics)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we point to the documentation for running CUPiD via the CESM workflow rather than duplicating and ending up with outdated information?
I'm thinking it would also be good for me to put the land-specific 'cheat sheet' as a docs page for component-specific example of running a STANDALONE version

.gitmodules Outdated
path = tools/CUPiD
#url = https://github.com/NCAR/CUPiD.git
url = https://github.com/TeaganKing/CUPiD.git
#fxtag = v0.4.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tag will need to be updated.

Copy link
Member

@samsrabin samsrabin Jan 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's go through this and figure out which of these should be default settings for ALL CTSM standalone cases—i.e., not just in this usermod. (And also—which of these are already set correctly by default without us in CTSM needing to do anything.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe in cime_config/config_component.xml. But need to check that these would only apply in a standalone CTSM checkout.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been looking at other repositories for other things, but I see this sort of thing in config_compsets.xml for several components.

  <entries>
    <entry id="RUN_STARTDATE"> 
      <values>
        <value compset="1850_">0001-01-01</value>
      </values>
    </entry>

So it looks like that's the sort of thing that can be done. The entry is defined elsewhere, but you can set the value according to the compset as above. I think in our case we want it to be in config_component.xml, so I'll check if it can be added there.

If not we could add %CUPID as part of the CLM compset options. I don't think I like that, but it's probably something to discuss. We do have compsets that set a particular user-mod directory as part of their definition. And this would be doing that same thing here.


This document has more details on more options and such

https://docs.google.com/document/d/1ziZWGgaj9FxgR6WRHyCAZnzIc6-4ezqfUDDpQv4MzUI/edit?tab=t.0
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And you only need to do it again if the CUPiD environment changes.

``` shell
# Setup the conda environments
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, point to the CUPiD documentation

@ekluzek ekluzek marked this pull request as draft January 13, 2026 19:38
@ekluzek ekluzek self-assigned this Jan 13, 2026
@ekluzek ekluzek added this to the cesm3_0_beta08 milestone Jan 13, 2026
Merge b4b-dev to master

- Change some _U and _R history fields to be on by default PR #3667 by Keith Oleson
- Update to cime version that fixes the check_input_data --download issue PR #3647 by Erik Kluzek; #3647 updated to cime6.1.145, while updating b4b-dev to master in this PR gets us to cime6.1.146.
- Initial fixes to generate_gdd20_baseline PR #3543
- Decomp mod unittest PR #3699
…e new land_only example, add a hist_2000-2005 user-mod _include for CUPiD
@wwieder wwieder removed the next this should get some attention in the next week or two. Normally each Thursday SE meeting. label Feb 5, 2026
#

# Set the standard CUPiD baseline case to compare to
./xmlchange --force CUPID_BASELINE_CASE='$CASE'
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the base case I need to point to @wwieder base case.

/glade/campaign/cesm/development/cross-wg/diagnostic_framework/CESM_output_for_testing/ctsm5.4.002_clm6_BGCcrop_crujra_4x5_HIST/lnd/hist

make the clm6_0 physics in the ctsm5.,4.002 tag 4x5 case the base case

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the start and extent for the base case.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do the case as a I2000 starting 2000-2004

./xmlchange CUPID_RUN_ALL=FALSE
# Use the land_only example
./xmlchange CUPID_EXAMPLE=land_only
# TODO: Get CUPiD working with LDF under CESM
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LND without either LDF or ILAMB won't work except with a ne30 case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bfb bit-for-bit enhancement new capability or improved behavior of existing capability science Enhancement to or bug impacting science usability Improve or clarify user-facing options

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

Add CUPiD to the CTSM checkout and start hooking it up to enable using it in cases

4 participants