Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to NOT set the dust-emission drv_flds_in settings when coupled to CAM #2524

Closed
ekluzek opened this issue May 3, 2024 · 5 comments · Fixed by #2545
Closed

Add option to NOT set the dust-emission drv_flds_in settings when coupled to CAM #2524

ekluzek opened this issue May 3, 2024 · 5 comments · Fixed by #2545
Assignees
Labels
enhancement new capability or improved behavior of existing capability priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations science Enhancement to or bug impacting science

Comments

@ekluzek
Copy link
Collaborator

ekluzek commented May 3, 2024

As part of the work on dust emissions, we need a way to choose if either CAM or CTSM is going to set the CMEPS dust_emission namelist. The current logic for this is that if CAM and CTSM disagree on the fields in drv_fld_in -- CESM aborts with an error. This happens inside of CMEPS buildnml.

In the case of fire-emissions, MEGAN, or drydep these are all optional so we just don't set them when coupled to CAM. So there is no disagreement with CAM. In this case though dust_emissions -- must be set. So when coupled to CAM, CTSM needs to know not to set it, which means default values should NOT be set for this case.

@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations tag: enh - new science labels May 3, 2024
@ekluzek ekluzek added this to the 2024 CESM June workshop milestone May 3, 2024
@ekluzek ekluzek self-assigned this May 3, 2024
@ekluzek
Copy link
Collaborator Author

ekluzek commented May 3, 2024

One way to do this is to have this handled in build-namelist and add something like a "--no-dust_settings" option. This would be added to compsets that run with CAM for CLM_BLDNML_OPTS in cime_config/config_component.xml.

@ekluzek
Copy link
Collaborator Author

ekluzek commented May 3, 2024

Another way would be to add a new XML variable for dust emission drv_flds_in settings to say whether it's in CLM or ATM. build-namelist (or buildnml) would then see it and then do the appropriate thing. In light of #1763 we should go along this route.

This could be done with either a generic field for all drv_flds_in setting or one specific for dust. I'll start with a dust specific one. Error checking in buildnml/build-namelist could then check that if it's set to ATM that CAM is in the COMPSET name. This wouldn't be something that users should NOT mess with.

So maybe something like:

  <entry id="LND_SETS_DUST_EMIS_DRV_FLDS">
    <type>logical</type>
    <valid_values>TRUE,FALSE</valid_values>
    <default_value>TRUE</default_value>
    <values>
      <value compset="CAM"  >FALSE</value>
    </values>
    <group>run_component_cpl</group>
    <file>env_run.xml</file>
    <desc>If CTSM will set the dust settings in drv_flds_in (TRUE), or if ATM (i.e. CAM) will - DO NOT EDIT (set by compset name)</desc>
  </entry>

@ekluzek
Copy link
Collaborator Author

ekluzek commented May 4, 2024

Thinking about it initially this should only be TRUE, even when connected to CAM, until CAM is updated to be able to control the dust_emis drv_flds_in namelist.

@fvitt do you have any thoughts on this issue?

@fvitt
Copy link
Contributor

fvitt commented May 6, 2024

Thinking about it initially this should only be TRUE, even when connected to CAM, until CAM is updated to be able to control the dust_emis drv_flds_in namelist.

@fvitt do you have any thoughts on this issue?

I think this makes sense.

@ekluzek
Copy link
Collaborator Author

ekluzek commented Jun 20, 2024

This will be coming into b4b-dev with #2545.

@samsrabin samsrabin added the science Enhancement to or bug impacting science label Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations science Enhancement to or bug impacting science
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants