ESCOMP / ESCOMP/CMEPS

Have compsets determine CCSM_BGC setting for CO2 in ending _BGC% setting

Open
#698 5 comments 0 reactions 0 assignees View on GitHub
CESM only enhancement
Dominant language
Fortran
Stars
35
Forks
106
Avg merge
6d 5h
Merged PRs (30d)
4

Description

Right now there are several xml variables that have to be coordinated across CESM in different components.

Things that have to coordinate:

- CCSM_BGC – here in CMEPS
- DATM_CO2_TSERIES – in DATM
- CLM_CO2_TYPE – in CLM
- OCN_CO2_TYPE – in MOM
- CO2 settings: CAM_BLDNML_OPTS (-co2_cycle) and co2_cycle_rad_passive namelist -- in CAM

Right now they are treated independently and defaults are set by patterns from the compsets. But, the patterns watch different things, and are mostly tied to the compset period. The patterns checked for are also inconsistent, since they can evolve independently. But, this leads to problems in getting it setup correctly.

See for example this case in CDEPS:

https://github.com/ESCOMP/CDEPS/issues/225

And I'm also realizing it's a problem for CLM as well, and CLM, DATM, and CMEPS currently aren't set consistently.

But, I think the problem goes away if we rearrange how these are set to do the following principles:
- [ ] Have CMEPS set the CCSM_BGC setting based on the components involved and the _BGC% setting
- [ ] Have components set their defaults based on what CCSM_BGC is set to (and the compset when necessary)
- [ ] Have components die if their CO2 setting is inconsistent with CCSM_BGC in CMEPS
- [ ] Have the CCSM_BGC setting, set by the _BGC% setting in the compset

Some potential steps to get there
- [ ] Update CTSM defaults to use CCSM_BGC and _BGC%B in the compset
- [ ] Update CTSM buildnml to check for consistency with CCSM_BGC and DATM_CO2_TSERIES
- [ ] Do similar steps for MOM
- [ ] Add _BGC%CONST type setting to CMEPS
- [ ] Update CTSM compsets to require _BGC% in them (and have a checker for this)
- [ ] Update MOM compsets
- [ ] Update CAM defaults and CAM compsets
- [ ] Could potentially remove some of the extraneous logic for setting CCSM_BGC in CMEPS

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the listed CCSM_BGC, DATM_CO2_TSERIES, CLM_CO2_TYPE, OCN_CO2_TYPE, and CAM CO2 settings across CMEPS, DATM, CLM, MOM, and CAM, and read CDEPS issue 225. Review the proposed checklist and compset patterns before changing behavior. Done means the components derive consistent defaults from CCSM_BGC and _BGC%, reject inconsistent CO2 settings, and the relevant compsets are updated and checked.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.