Change long name specifier for CO2 forcings#407
Conversation
We have decided to use the CESM2 scheme for this. See ESCOMP/CMEPS#658 for some relevant discussion.
|
@klindsay28 - can you please look over these changes and verify that I have made the correct changes to the compsets? @briandobbins - FYI |
|
I originally did this with two regex search & replaces: (1) Concentration-driven:
(2) Emissions-driven:
But it sounds like we may be using CONC / EMIS rather than BDRD / BPRP, so I changed those in a follow-up commit. |
|
I'm changing this to a draft because it sounds like the exact specifier (CONC / EMIS, BDRD / BPRP, ...) is still under discussion. |
a8f5b09 to
9ef8c91
Compare
|
Based on discussion this morning, we're going to use |
|
@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?: |
Looking into this a little more myself, I see that most of the B compsets in CESM2 had But my confidence here is very low, so I'm looking forward to clarity from @klindsay28. |
|
@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. |
|
@billsacks, |
|
@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 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. |
9dbf792 to
9ef8c91
Compare
|
Based on discussion with @klindsay28 we're actually inclined to use I have therefore backed out my last commit (9dbf792), which removed the I have some tests in the queue to verify that |
@mvertens and @gold2718 - I'm interested to hear how this sounds to you. Do you see something wrong with this logic based on your understanding of the system? (I'd be happy to find a time to talk about it if that would be easier.) |
Here is our understanding of the system. I am checking these statements against the ESCOMP code (not NorESMhub): TL;DR: We believe that Details:
By the way, the description on line 30 of config_component_cesm might be misleading here. There are also mentions of BDRD in CICE, CLM, and MOM but I did not investigate. |
|
Steve is correct, I stand corrected.
I was mistakenly still thinking of co2_cycle constituents as separate from
the rest of the system in BDRD compsets.
This is no longer the case with Steve's CAM PR, as the co2_cycle CO2
constituent points to the MOZART CO2 constituent.
Apparently I haven't completely wrapped my head around the full
consequences of the CAM PR.
…On Wed, Jun 17, 2026 at 4:09 AM goldy ***@***.***> wrote:
*gold2718* left a comment (ESCOMP/CESM#407)
<#407 (comment)>
@mvertens <https://github.com/mvertens> and @gold2718
<https://github.com/gold2718> - I'm interested to hear how this sounds to
you. Do you see something wrong with this logic based on your understanding
of the system? (I'd be happy to find a time to talk about it if that would
be easier.)
Here is our understanding of the system. I am checking these statements
against the ESCOMP code (not NorESMhub):
TL;DR: We believe that _BGC%BDRD is not the same as a concentration
driven compset.
Details:
- Both BDRD and BDRP set CCSM_BGC = CO2C (in
cmeps/config_component_cesm.xml)
- BGC_MODE="CO2C" sets flds_co2c = .true.
(cmeps/config_component_cesm.xml line 2472)
- Side note: Any CAM compset will have both 'Sa_co2prog' and
'Sa_co2diag' set
- flds_co2c also adds 'Fall_fco2_lnd' and 'Faoo_fco2_ocn' (so CO2
*from* surface) in the CAM cap (atm_import_export.F90).
- Both BDRD and BDRP set -co2_cycle in CAM which is the trigger for
emission-driven runs in CAM (config_component.xml line 156)
- Side note: In ESCOMP/CAM, co2_cycle requires aircraft emissions
- co2_cycle turns on fossil fuel emissions in CAM (e.g.,
'co2_readflux_fuel' and 'co2_readflux_aircraft') for transient runs
(e.g., NHIST but not 1850 or 2000 in ESCOMP/CAM)
- Turning on _BGC%BDRD in CAM sets co2_cycle_rad_passive=.true.
(config_component.xml line 387). I would expect this to affect the
simulation.
By the way, the description on line 30 of config_component_cesm might be
misleading here.
There are also mentions of BDRD in CICE, CLM, and MOM but I did not
investigate.
—
Reply to this email directly, view it on GitHub
<#407?email_source=notifications&email_token=ADWZPO4UELIOXVCV42XTHBT5AJU6VA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZSHA2TSMZQGYY2M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4728593061>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADWZPO4AVCRDHRBUWLQEFCT5AJU6VAVCNFSNUABFKJSXA33TNF2G64TZHMYTCMBYGY4TCNBYHNEXG43VMU5TINRSGUYDKNZRHE2KC5QC>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/ADWZPO3COQSHHV3A6X5CNO35AJU6VA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZSHA2TSMZQGYY2M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJKTGN5XXIZLSL5UW64Y>
and Android
<https://github.com/notifications/mobile/android/ADWZPO2FHGW6CD7XCHSWXH35AJU6VA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZSHA2TSMZQGYY2M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>.
Download it today!
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@klindsay28, while my draft PR fixes a bug in current CAM, my analysis was done on today's ESCOMP/(CAM,CMEPS) code. While I think it is true that running |
Based on discussions with Keith Lindsay: In CESM1 and CESM2, the addition of _BGC%BDRD just added some extra diagnostic fields that could be useful for understanding the carbon cycle. However, with the proposed changes in ESCOMP/CAM#1581 to get co2_cycle working with recent versions of CAM, _BGC%BDRD would change answers, and so wouldn't strictly be a concentration-driven configuration (if I understand correctly). Therefore, at least for now, we have decided to have no _BGC specifier on the concentration-driven compsets. We may revisit this choice later.
|
Thank you for sharing your analysis of this, @gold2718 . Based on your input and further discussion with @klindsay28 we have decided to have no I have updated this PR accordingly - both with the changes to config_compsets and changing the top-level PR description. I think it's finally ready for review. |
|
@billsacks It looks like we'll be ready to start prealpha testing for this as soon as the CAM tag is made. So if the PR is ready, you can merge it. |
Needs to wait for the compset changes in ESCOMP/CESM#407 and ESCOMP/CAM#1584.
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:
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:
<lname>([^_]*)C_(.*)</lname><lname>$1_$2_BGC%BDRD</lname>_BGC%BDRDfrom these compsets(2) Emissions-driven:
<lname>([^_]*)E_(.*)</lname><lname>$1_$2_BGC%BPRP</lname>This should be coordinated with the following component changes:
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*andBHISTE*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: