ESCOMP / CAM

Community Atmosphere Model
71 stars 133 forks source link

namelist change required for FCMTHIST compset #1009

Open tilmes opened 2 months ago

tilmes commented 2 months ago

Issue Type

Other (please describe below)

Issue Description

A namelist change is required to the default namelist setting for the FCMTHIST compset: tau_0_ubc = .true.

Will this change answers?

Yes

Will you be implementing this yourself?

Yes

adamrher commented 2 months ago

I confirmed this is a bug in FCMTHIST and I don't understand why it's happening. The FCMHIST compset is CAM%DEV, and so this logic in build-namelist should select tau_0_ubc=T:

# Some complexity to unpack.
# 1. In WACCM, we want tau_0_ubc = .false., because it hasn't been tuned
#    for that option.
# 2. In the low top model with most gravity waves on, we want tau_0_ubc to
#    be .true., to get a QBO.
# 3. If only orographic waves are on, we can't get a QBO regardless, so
#    use tau_0_ubc = .false. to avoid changing answers.
if ((not $waccm_phys) and
    ($do_gw_front or $do_gw_front_igw or
     $do_gw_convect_dp or $do_gw_convect_sh )) {
    add_default($nl, 'tau_0_ubc', 'val'=>'.true.');
} elsif ($phys =~ /cam_dev/) {
    add_default($nl, 'tau_0_ubc', 'val'=>'.true.');
} elsif (!$simple_phys) {
    add_default($nl, 'tau_0_ubc', 'val'=>'.false.');
}

But it doesn't. Maybe there's a use case being loaded that's setting it to false?

brian-eaton commented 2 months ago

The value of tau_0_bc is coming from the use case file. The file config_component.xml determines the use case as follows. The first element to match the FCMTHIST definition is

      <value compset="HIST_CAM%DEV%MT"   >hist_cam_mt</value>

But the definition is also matched by the following element, and the last match wins

      <value compset="HIST_CAM.*CCTS1"   >hist_trop_strat_vbs_cam6</value>

The use case hist_trop_strat_vbs_cam6 contains

<tau_0_ubc>.false.</tau_0_ubc>

The solution is to determine what the correct use case is, and then make sure that that use case is the result of matching the FCMTHIST definition. Let me know what use case to use and I'll update the config_component.xml file to give the correct match.

PeterHjortLauritzen commented 2 months ago

Can we set tau_0_ubc=.true. in the namelist using the model_top="mt" specifier instead of setting tau_0_ubc in the use case? (we would like all "mt" configurations to use tau_0_ubc=.true.)

JulioTBacmeister commented 2 months ago

I believe we are also using tau_0_ubc=.true. in FLT, so the setting should happen for model_top='mt' OR model_top='lt'

adamrher commented 2 months ago

I agree with taking tau_0_ubc out of the use_case and just make it contingent on the model_top. We should probably check it there are other namelist that don't need to be in use_case files, i.e., are exclusively determined by the model top.

brian-eaton commented 2 months ago

There are currently 12 use case files with the setting tau_0_ubc=.false.. Removing those settings would change the value of tau_0_ubc to .true. for configurations using cam6. The reason is that although the build-namelist logic (which @adamrher provided above) sets the cam6 default value of tau_0_ubc to .false., all the 12 use case files just mentioned also set use_gw_front=.true. and use_gw_convect_dp=.true., and that in turn causes tau_0_ubc to be set to .true. for cam6.

I'm guessing that we don't want to change the settings for cam6 configurations. The current logic in build-namelist for setting tau_0_ubc is very physics dependent, depending on both the physics package and on other GW namelist settings. It's set to .false. for all WACCM configurations which seems inconsistent with the goal of having it just depend on model top.

I propose addressing the current issue opened by @tilmes by adding a use case file, hist_trop_strat_vbs_cam7.xml, which will start as a copy of the cam6 version, but remove the tau_0_ubc=.false. setting. Then adjust the compset matches so that the new use case would be used for FCMTHIST.

Thoughts?

adamrher commented 2 months ago

all the 12 use case files just mentioned also set use_gw_front=.true. and use_gw_convect_dp=.true., and that in turn causes tau_0_ubc to be set to .true. for cam6.

Alrighty then lets nix my proposal to remove tau_0_ubc from all use cases!

Regarding your proposal for a new use case file that can match FCMTHIST. That's fine by me. I'll note the chemists seem to be used to running the ne30pg3 emissions files in the namelist_defaults_cam.xml w/ cam_dev/cam7, and not the ones currently in hist_trop_strat_vbs_cam6.xml.

brian-eaton commented 1 month ago

@tilmes, I'm planning to add a use case file, hist_trop_strat_vbs_cam7.xml to be used with the FCMTHIST compset. It will start as a copy of hist_trop_strat_vbs_cam6.xml with the setting tau_0_ubc=.false. removed. Are there other changes that should be included in the new use case file? Possibly you could point to a case directory for a current FCMTHIST run and I could look at that to set up the new use case file appropriately.