Skip to content

cam6_4_187: Change specification for CO2 concentration-driven compsets#1584

Merged
cacraigucar merged 5 commits into
ESCOMP:cam_developmentfrom
billsacks:conc_driven_compsets_opt2
Jul 16, 2026
Merged

cam6_4_187: Change specification for CO2 concentration-driven compsets#1584
cacraigucar merged 5 commits into
ESCOMP:cam_developmentfrom
billsacks:conc_driven_compsets_opt2

Conversation

@billsacks

@billsacks billsacks commented Jun 13, 2026

Copy link
Copy Markdown
Member

THIS PR WILL BE BROUGHT IN IMMEDIATELY AFTER THE CESM ALPHA TAG WITH THE ACCUMULATED CAM TAGS.

We have decided to use the CESM2 mechanism for CO2 – _BGC%BDRD, _BGC%BPRP or no _BGC specifier rather than a C or E at the end of the time period. This PR makes changes towards that.

Based on discussions with @klindsay28, it probably makes sense for F compsets to not have a _BGC specifier, in contrast to B compsets (update 2026-06-18: actually, we're skipping the _BGC specifier for concentration-driven B compsets, too, at least for now). So this PR simply removes the C at the end of the time period without adding _BGC%BDRD.

Should be coordinated with ESCOMP/CESM#407.

Note that @gold2718 's changes in #1581 and some additional changes (which may be folded into that PR or may come in separately) are needed for co2_cycle to work correctly. However, the changes in this PR don't add any triggering of co2_cycle, so this PR could be brought in before #1581. #1581 will be needed for the emissions-driven compsets in ESCOMP/CESM#407 to work.

We have decided to use the CESM2 scheme for this - with _BGC%BDRD or
_BGC%BPRP. In this scheme, concentration-driven is implicit, without any
_BGC specifier.

See ESCOMP/CMEPS#658 for some relevant
discussion.
@billsacks

Copy link
Copy Markdown
Member Author

Either this OR #1583 should come in; not both! @klindsay28 or @fvitt do you know which is correct?

@billsacks

Copy link
Copy Markdown
Member Author

Also, we may want to change the aliases for these changed compsets; I'll leave that step up to the CAM group.

@billsacks

Copy link
Copy Markdown
Member Author

I'm coming to think that this is the right option (not #1583), but I want confirmation from others (like @klindsay28 or @fvitt ). See also discussion in ESCOMP/CESM#407.

I think this PR should be bit-for-bit, which is good because it would be good to verify that the removals of [CE]? don't change answers for anything.

@billsacks

Copy link
Copy Markdown
Member Author

Based on discussion with @klindsay28, F compsets should probably have no _BGC specifier, so this PR seems like the correct option. I'm therefore taking it out of draft.

@billsacks billsacks marked this pull request as ready for review June 16, 2026 23:24
@billsacks

Copy link
Copy Markdown
Member Author

Based on discussion with @klindsay28, F compsets should probably have no _BGC specifier, so this PR seems like the correct option. I'm therefore taking it out of draft.

However, we'd welcome confirmation of this from @fvitt or others.

@billsacks

billsacks commented Jun 17, 2026

Copy link
Copy Markdown
Member Author

From talking with @fvitt - we want confirmation from others on this, especially with what's wanted for compset aliases... so @nusbaume and @cacraigucar - tentatively assigning you as reviewers.

@billsacks billsacks changed the title Change specification for CO2 concentration-driven compsets - option 2 Change specification for CO2 concentration-driven compsets Jun 18, 2026
@cacraigucar cacraigucar removed the request for review from nusbaume July 13, 2026 16:22
@cacraigucar cacraigucar changed the title Change specification for CO2 concentration-driven compsets cam6_4_187: Change specification for CO2 concentration-driven compsets Jul 13, 2026
@cacraigucar cacraigucar merged commit d38ad70 into ESCOMP:cam_development Jul 16, 2026
2 checks passed
billsacks added a commit to ESCOMP/CESM that referenced this pull request Jul 16, 2026
Change long name specifier for CO2 forcings

### Description of changes

We have decided to use the CESM2 scheme for this.

See ESCOMP/CMEPS#658 for some relevant discussion.

I did this with two regex search & replaces:

(1) Concentration-driven:
- Search for `<lname>([^_]*)C_(.*)</lname>`
- Replace with `<lname>$1_$2_BGC%BDRD</lname>`
- Update 2026-06-18: we later decided to remove the `_BGC%BDRD` from these compsets

(2) Emissions-driven:
- Search for `<lname>([^_]*)E_(.*)</lname>`
- Replace with `<lname>$1_$2_BGC%BPRP</lname>`

**This should be coordinated with the following component changes:**
- **This should come in at the same time as the CAM PR that changes compsets similarly: ESCOMP/CAM#1584
- Ideally, [this CTSM PR](ESCOMP/CTSM#4097) and [this CDEPS PR](ESCOMP/CDEPS#413) would come in at the same time. However, it's safe for either or both of them to come later. (The reason that it's ideal for them to come in at the same time is just to ensure that they are bit-for-bit across a wide range of configurations - so it would be ideal to include them in the bit-for-bit prealpha testing that is planned for this PR.)
- For emissions-driven compsets to work correctly, this also needs the changes in [this CAM PR](ESCOMP/CAM#1581); however, emissions-driven compsets currently aren't tested, so it's safe for that CAM PR to come in later

### Specific notes

Contributors other than yourself, if any: none

Fixes: none

User interface changes?: No

**Expected answer changes:** Bit-for-bit for concentration-driven compsets (which are the only ones currently tested). (`B1850E*` and `BHISTE*` compsets would change answers, but we currently don't test them.)

Testing performed (automated tests and/or manual tests):

Ran these tests; they pass and are bit-for-bit:
- ERS_Ld5.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio
- ERS_Ld5.ne30pg3_t232.BHISTC_LTso.derecho_intel.allactive-defaultio
- ERS_D_Ld3.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio
billsacks added a commit to ESCOMP/CDEPS that referenced this pull request Jul 16, 2026
billsacks added a commit to ESCOMP/CDEPS that referenced this pull request Jul 16, 2026
No longer need to allow for C/E at end of time period

### Description of changes

We are changing the compset specification to no longer have C/E at the end of the time period, so we can remove the parsing of this from compset regexes.

Needs to wait for the compset changes in
ESCOMP/CESM#407 and
ESCOMP/CAM#1584.

### Specific notes

Contributors other than yourself, if any: none

CDEPS Issues Fixed (include github issue #): none

Are there dependencies on other component PRs (if so list):
- ESCOMP/CESM#407
- ESCOMP/CAM#1584

Are changes expected to change answers (bfb, different to roundoff, more substantial): bfb

Any User Interface Changes (namelist or namelist defaults changes): no

Testing performed (e.g. aux_cdeps, CESM prealpha, etc): none yet

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

Labels

None yet

Projects

Status: Tag

Development

Successfully merging this pull request may close these issues.

3 participants