CO2A for cplhist in DATM with CLM - #696
Conversation
billsacks
left a comment
There was a problem hiding this comment.
Thanks a lot for fixing this, @ekluzek !
I have one request for an improvement to the regex match.
Beyond that, I just want to confirm: With this addition, we'll use CO2A for any CPLHIST run with CLM, regardless of whether it's transient or spinup, but only for transient non-CPLHIST datm-forced runs (HIST or SSP). Is that the intended behavior?
| <value compset="_CAM">CO2A</value> | ||
| <value compset="_DATM">none</value> | ||
| <value compset="_DATM%CPLHIST.+BLOM%ECO">CO2A</value> | ||
| <value compset="_DATM%CPLHIST_CLM">CO2A</value> |
There was a problem hiding this comment.
For slightly more robustness, and for consistency with other matches, this should be:
| <value compset="_DATM%CPLHIST_CLM">CO2A</value> | |
| <value compset="_DATM%CPLHIST.*_CLM">CO2A</value> |
(The addition of .* handles: (1) If the order were ever allowed to change, so CLM isn't the next component after DATM; and (2) If there could ever be a second modifier after CPLHIST.)
(I am once again reminded of #640.)
There was a problem hiding this comment.
Thanks for that point. I should do something similar in other places in my CTSM PR where I'm doing things like this.
Yes, did that.
Yes, that's correct. It's just adding the bit about CPLHIST with CLM for any mode. This is the restricted change I want to make now. The idea is that the CO2 on the CPLHIST files is the truth about what CO2 should be for any CPLHIST case trying to duplicate it. The CO2 from CAM can be different from DATM (CAM has latitude bands), and CAM might've had prognostic CO2, or non-standard settings or datasets. So using CO2 from it as truth is the best default to use. We are also going to need to do something for MOM with MARBL, but we need to talk to @mnlevy1981 and @alperaltuntas about that. And that will be a future PR. The more general solution is to do #698 which I think is clearer and more robust, but requires changes across: CMEPS, CDEPS, CTSM, MOM, and CAM so we need to decide if/when that should be done. |
|
OK, I'm running aux_cdeps and aux_clm testing with this now, and if that looks good I'd like to merge. |
billsacks
left a comment
There was a problem hiding this comment.
Thanks for the change, but in making that change you introduced another change that I'd like you to revert:
| <value compset="_CAM">CO2A</value> | ||
| <value compset="_DATM">none</value> | ||
| <value compset="_DATM%CPLHIST.+BLOM%ECO">CO2A</value> | ||
| <value compset="DATM%CPLHIST.*_CLM">CO2A</value> |
There was a problem hiding this comment.
Please change this to restore the leading _ that you removed:
| <value compset="DATM%CPLHIST.*_CLM">CO2A</value> | |
| <value compset="_DATM%CPLHIST.*_CLM">CO2A</value> |
In practice it probably doesn't matter, but I find these arbitrary inconsistencies in regexes to be a source of confusion and possible bugs.
Description of changes
Set CCSM_BGC to CO2A for DATM CPLHIST forcing mode with CLM
Specific notes
Contributors other than yourself, if any:
CMEPS Issues Fixed (include github issue #):
Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial)
Yes, for DATM%CPLHIST mode compsets
Any User Interface Changes (namelist or namelist defaults changes)?
Rather than constant CO2 CPLHIST cases will use CO2 from the input CPLHIST case driving it
Testing performed
Please describe the tests along with the target model and machine(s)
If possible, please also added hashes that were used in the testing
Running: aux_clm, aux_cdeps testing in ctsm5.4.054 (ESCOMP/CTSM#4180)