Skip to content

Change long name specifier for CO2 forcings#407

Open
billsacks wants to merge 3 commits into
ESCOMP:cesm3.0-alphabranchfrom
billsacks:bgc_compset_specifier
Open

Change long name specifier for CO2 forcings#407
billsacks wants to merge 3 commits into
ESCOMP:cesm3.0-alphabranchfrom
billsacks:bgc_compset_specifier

Conversation

@billsacks

@billsacks billsacks commented Jun 9, 2026

Copy link
Copy Markdown
Member

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>

(2) Emissions-driven:

  • Search for <lname>([^_]*)E_(.*)</lname>
  • Replace with <lname>$1_$2_BGC%BPRP</lname>

This will need to be coordinated with a few component changes, coming soon.

Specific notes

Contributors other than yourself, if any: none

Fixes: none

User interface changes?: No

Expected answer changes: I think that any compset that now has a _BGC specifier will change answers. (Answer changes may not show up in testing if we don't have any tests of B1850E or BHISTE compsets.)

Testing performed (automated tests and/or manual tests):
None yet!

We have decided to use the CESM2 scheme for this.

See ESCOMP/CMEPS#658 for some relevant
discussion.
@billsacks billsacks requested a review from fischer-ncar June 9, 2026 19:43
@billsacks

Copy link
Copy Markdown
Member Author

@klindsay28 - can you please look over these changes and verify that I have made the correct changes to the compsets?

@briandobbins - FYI

@billsacks

Copy link
Copy Markdown
Member Author

I originally did this with two regex search & replaces:

(1) Concentration-driven:

  • Search for <lname>([^_]*)C_(.*)</lname>
  • Replace with <lname>$1_$2_BGC%BDRD</lname>

(2) Emissions-driven:

  • Search for <lname>([^_]*)E_(.*)</lname>
  • Replace with <lname>$1_$2_BGC%BPRP</lname>

But it sounds like we may be using CONC / EMIS rather than BDRD / BPRP, so I changed those in a follow-up commit.

@billsacks billsacks marked this pull request as draft June 9, 2026 23:09
@billsacks

Copy link
Copy Markdown
Member Author

I'm changing this to a draft because it sounds like the exact specifier (CONC / EMIS, BDRD / BPRP, ...) is still under discussion.

@billsacks billsacks force-pushed the bgc_compset_specifier branch from a8f5b09 to 9ef8c91 Compare June 12, 2026 18:49
@billsacks billsacks marked this pull request as ready for review June 12, 2026 18:53
@billsacks

Copy link
Copy Markdown
Member Author

Based on discussion this morning, we're going to use _BGC%BDRD and _BGC%BPRP after all, so I have reverted to those specifiers and marked this ready for review. This will need to be coordinated with at least a CAM tag... I'll figure out all the component coordination needed soon.

@billsacks

Copy link
Copy Markdown
Member Author

@klindsay28 - based on our recent discussion, I'm questioning whether I did the right thing here with the concentration-driven compsets: My initial thinking was that I should change the comcentration-driven compsets to BDRD, but based on our discussion a couple of days ago, should those actually have no _BGC specifier?

@billsacks

Copy link
Copy Markdown
Member Author

@klindsay28 - based on our recent discussion, I'm questioning whether I did the right thing here with the concentration-driven compsets: My initial thinking was that I should change the comcentration-driven compsets to BDRD, but based on our discussion a couple of days ago, should those actually have no _BGC specifier?

@klindsay28 - also a similar question for CAM: do you know if these compsets should have _BGC%BDRD or no _BGC specifier?:

https://github.com/ESCOMP/CAM/blob/9e9c1371e6c3b8aafa6d1c7480cac7988335f163/cime_config/config_compsets.xml#L437-L469

@billsacks

Copy link
Copy Markdown
Member Author

@klindsay28 - based on our recent discussion, I'm questioning whether I did the right thing here with the concentration-driven compsets: My initial thinking was that I should change the comcentration-driven compsets to BDRD, but based on our discussion a couple of days ago, should those actually have no _BGC specifier?

@klindsay28 - also a similar question for CAM: do you know if these compsets should have _BGC%BDRD or no _BGC specifier?:

https://github.com/ESCOMP/CAM/blob/9e9c1371e6c3b8aafa6d1c7480cac7988335f163/cime_config/config_compsets.xml#L437-L469

Looking into this a little more myself, I see that most of the B compsets in CESM2 had _BGC%BDRD; this makes me think that _BGC%BDRD may be the right thing to do here, too. (However, I see that the WACCM compsets did not have any _BGC specifier in CESM2.) But most F compsets in CESM2 did not have a _BGC specifier, so I'm wondering if that behavior should be maintained for CESM3 as well??

But my confidence here is very low, so I'm looking forward to clarity from @klindsay28.

@mvertens

Copy link
Copy Markdown
Contributor

@billsacks - my understanding is that _BGC%BDRD or _BGC%BPRP turns on an emission driven scenario (based on triggering CO2C) and the lack of _BGC%XXX triggers concentration driven scenario (based on triggering COA). This can also be seen based on what happens in CAM with co2_cycle. I'm happy to chat about this.

@gold2718

Copy link
Copy Markdown

@billsacks,
_BGC%BDRD is emission driven but CO2 is radiatively passive (implemented by setting co2_cycle_rad_passive=.true. in CAM_NAMELIST_OPTS which sets CO2 as a passive species in the rad_climate namelist variable).

I think I made a mistake in mapping concentration-driven compsets to
BGC%BDRD: I think these in fact should have no _BGC specifier. This
commit fixes this.
@billsacks

Copy link
Copy Markdown
Member Author

@mvertens and @gold2718 - thank you both for this input! I think the main question at this point is: what is the intent for CESM3? Based on what you two have said and the understanding I've gotten from conversations with @klindsay28, I'm starting to think that the intent is that the compsets that previously had a C at the end of the time period should now have no _BGC specifier. I'd like confirmation from @klindsay28 on that. Note that that would mean that we currently don't have any _BGC%BDRD compsets, in contrast to CESM2, where most B compsets were _BGC%BDRD. I'll push a commit here that makes this change, for review.

I'm also realizing that there will probably be answer changes to any compset that now has a _BGC specifier, since this specifier changes behavior in various components. That means that at least the emissions-driven compsets - with BGC%BPRP - will change answers. If the concentration-driven compsets map to having no BGC specifier, then I think they won't change answers, but if they map to BGC%BDRD then I think they'll change answers, too.

@billsacks

billsacks commented Jun 14, 2026

Copy link
Copy Markdown
Member Author

I'm also realizing that there will probably be answer changes to any compset that now has a _BGC specifier, since this specifier changes behavior in various components. That means that at least the emissions-driven compsets - with BGC%BPRP - will change answers. If the concentration-driven compsets map to having no BGC specifier, then I think they won't change answers, but if they map to BGC%BDRD then I think they'll change answers, too.

Oh, it looks like we currently don't have any tests of the B1850E or BHISTE compsets, so I think that the latest version of this PR (which maps concentration-driven compsets to no BGC specifier) should be bit-for-bit in testing.

I like the idea that this will be bit-for-bit in testing, partly because I'd like to be assured that the changes to the compset matches in RUN_STARTDATE don't change answers for any tests.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants