diff --git a/bld/build-namelist b/bld/build-namelist
index 76d4520212..345e3a0e64 100755
--- a/bld/build-namelist
+++ b/bld/build-namelist
@@ -3851,7 +3851,15 @@ if (!$simple_phys) {
}
if ($phys =~ /cam7/) {
- add_default($nl, 'use_gw_movmtn_pbl', 'val'=>'.true.');
+ #
+ # moving mountains only supported by SE dycore
+ # (since vorticity needs to be passed to physics in dp_coupling)
+ #
+ if ( $dyn =~ /se/ ) {
+ add_default($nl, 'use_gw_movmtn_pbl', 'val'=>'.true.');
+ } else {
+ add_default($nl, 'use_gw_movmtn_pbl', 'val'=>'.false.');
+ }
}
my $use_gw_movmtn_pbl = $nl->get_value('use_gw_movmtn_pbl');
@@ -3882,7 +3890,12 @@ if ($waccm_phys or
# QBO in the high vertical resolution configuration.
add_default($nl, 'use_gw_front' , 'val'=>'.true.');
$use_gw_convect_dp = '.true.';
+ #WACCM value
my $hdepth_scaling = '0.25D0' ;
+ #MT value
+ if ($cfg->get('model_top') eq 'mt') {
+ $hdepth_scaling = '0.32D0';
+ }
my $qbo_forcing = '.false.';
if ($dyn eq 'fv') {
my $nlon = $cfg->get('nlon');
@@ -3904,7 +3917,7 @@ if ($waccm_phys or
# cam7 settings for model_top = 'lt'
add_default($nl, 'use_gw_front' , 'val'=>'.true.');
$use_gw_convect_dp = '.true.';
- add_default($nl, 'gw_qbo_hdepth_scaling', 'val'=>'1.0D0');
+ add_default($nl, 'gw_qbo_hdepth_scaling', 'val'=>'0.32D0');
} else {
add_default($nl, 'use_gw_front' , 'val'=>'.false.');
}
diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml
index e6ce1fc9fd..21c3c22add 100644
--- a/bld/namelist_files/namelist_defaults_cam.xml
+++ b/bld/namelist_files/namelist_defaults_cam.xml
@@ -769,8 +769,8 @@
0.7D0
-0.30D0
-0.70D0
+0.15D0
+0.15D0
0.25D0
0.25D0
0.4D0
diff --git a/cime b/cime
index cdf76d6919..71d2b71216 160000
--- a/cime
+++ b/cime
@@ -1 +1 @@
-Subproject commit cdf76d691961d697feafc14907f81b9c195dfe99
+Subproject commit 71d2b71216cc39abfb8224cc55861bd6424c95f9
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 96a7401c2d..37e1c0c0a2 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,126 @@
+
+===============================================================
+
+Tag name: cam6_4_078
+Originator(s): PeterHjortLauritzen, mbramberger, cacraig
+Date: March 19, 2025
+One-line Summary: Improvements to moving mountains parameterization
+Github PR URL: https://github.com/ESCOMP/CAM/pull/1281
+
+Purpose of changes (include the issue number and title text for each relevant GitHub issue):
+ - Updates to moving mountains scheme for tuning QBO in MT (same settings adopted for LT: https://github.com/ESCOMP/CAM/issues/1276
+ - Turn off moving mountains for dycores not passing vorticity to physics: https://github.com/ESCOMP/CAM/issues/1270
+
+Describe any changes made to build system: N/A
+
+Describe any changes made to the namelist:
+ - use_gw_movmtn_pbl is set to false if it is not CAM7 and SE dycore
+ - change values for gw_qbo_hdepth_scaling and effgw_beres_dp for specific configurations
+
+List any changes to the defaults for the boundary datasets: N/A
+
+Describe any substantial timing or memory changes: N/A
+
+Code reviewed by: cacraig
+
+List all files eliminated:
+
+List all files added and what they do:
+
+List all existing files that have been modified, and describe the changes:
+M bld/build-namelist
+M bld/namelist_files/namelist_defaults_cam.xml
+ - update namelist settings
+
+M src/physics/cam/gw_convect.F90
+ - Limit value for hdepth
+
+M src/physics/cam/gw_drag.F90
+ - Change the beres storm_shift setting
+
+If there were any failures reported from running test_driver.sh on any test
+platform, and checkin with these failures has been OK'd by the gatekeeper,
+then copy the lines from the td.*.status files for the failed tests to the
+appropriate machine below. All failed tests must be justified.
+
+derecho/intel/aux_cam:
+ SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
+ - pre-existing failures due to build-namelist error requiring CLM/CTSM external update
+
+ ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
+ SMS_Lh12.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq3h (Overall: DIFF) details:
+ - pre-existing failures due to HEMCO not having reproducible results (issues #1018 and #856)
+
+ ERP_D_Ln9.ne30pg3_ne30pg3_mt232.FHISTC_LTso.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERP_D_Ln9.ne30pg3_ne30pg3_mt232.QPC7.derecho_intel.cam-outfrq3s_cosp (Overall: FAIL) details:
+ ERP_Ld3.ne16pg3_ne16pg3_mg17.FHISTC_WAt1ma.derecho_intel.cam-reduced_hist1d (Overall: DIFF) details:
+ ERP_Ld3.ne30pg3_ne30pg3_mt232.FHISTC_MTt4s.derecho_intel.cam-outfrq1d_aoa (Overall: DIFF) details:
+ ERP_Lh12.f19_f19_mg17.FW4madSD.derecho_intel.cam-outfrq3h (Overall: DIFF) details:
+ ERP_Ln9.f19_f19_mg17.FWsc1850.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERP_Ln9.ne30pg3_ne30pg3_mg17.FCnudged.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERP_Ln9.ne30pg3_ne30pg3_mg17.FHISTC_WAma.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERS_Ln9.f09_f09_mg17.FX2000.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERS_Ln9.f19_f19_mg17.FXSD.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERS_Ln9.ne30pg3_ne30pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
+ SMS_C2_D_Ln9.ne16pg3_ne16pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9.f09_f09_mg17.FCts2nudged.derecho_intel.cam-outfrq9s_leapday (Overall: DIFF) details:
+ SMS_D_Ln9.f09_f09_mg17.FCvbsxHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9.f19_f19_mg17.FWma2000climo.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9.f19_f19_mg17.FWma2000climo.derecho_intel.cam-outfrq9s_waccm_ma_mam4 (Overall: DIFF) details:
+ SMS_D_Ln9.f19_f19_mg17.QPC2000climo.derecho_intel.cam-outfrq3s_usecase (Overall: DIFF) details:
+ SMS_D_Ln9.ne16_ne16_mg17.QPX2000.derecho_intel.cam-outfrq9s_amie (Overall: DIFF) details:
+ SMS_D_Ln9.ne30pg3_ne30pg3_mt232.FHISTC_MTso.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9_P1280x1.ne30pg3_ne30pg3_mt232.FHISTC_MTt1s.derecho_intel.cam-outfrq9s_Leung_dust (Overall: DIFF) details:
+ SMS_Ld1.f09_f09_mg17.FCHIST_GC.derecho_intel.cam-outfrq1d (Overall: DIFF) details:
+ SMS_Ld1.f09_f09_mg17.FW2000climo.derecho_intel.cam-outfrq1d (Overall: DIFF) details:
+ SMS_Ld1.ne30pg3_ne30pg3_mg17.FC2010climo.derecho_intel.cam-outfrq1d (Overall: DIFF) details:
+ SMS_Ln9.f09_f09_mg17.FW1850.derecho_intel.cam-reduced_hist3s (Overall: DIFF) details:
+ SMS_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_rrtmgp (Overall: DIFF) details:
+ - baseline changes due to upgrades described above
+
+ FAIL ERP_D_Ln9.ne30pg3_ne30pg3_mt232.FHISTC_LTso.derecho_intel.cam-outfrq9s NLCOMP
+ FAIL ERP_D_Ln9.ne30pg3_ne30pg3_mt232.QPC7.derecho_intel.cam-outfrq3s_cosp NLCOMP
+ FAIL ERP_Ld3.ne30pg3_ne30pg3_mt232.FHISTC_MTt4s.derecho_intel.cam-outfrq1d_aoa NLCOMP
+ FAIL SMS_D_Ln9.ne30pg3_ne30pg3_mt232.FHISTC_MTso.derecho_intel.cam-outfrq9s NLCOMP
+ FAIL SMS_D_Ln9_P1280x1.ne30pg3_ne30pg3_mt232.FHISTC_MTt1s.derecho_intel.cam-outfrq9s_Leung_dust NLCOMP
+ -namelist changes as described above
+
+derecho/nvhpc/aux_cam:
+ ERS_Ln9.ne30pg3_ne30pg3_mg17.F2000dev.derecho_nvhpc.cam-outfrq9s_gpu_default (Overall: DIFF) details:
+ - baseline and namelist changes due to upgrades described above
+
+izumi/nag/aux_cam:
+ ERC_D_Ln9.f10_f10_mg37.QPWmaC6.izumi_nag.cam-outfrq3s (Overall: DIFF) details:
+ SMS_D_Ln3.ne5pg3_ne5pg3_mg37.QPX2000.izumi_nag.cam-outfrq3s (Overall: DIFF) details:
+ SMS_D_Ln6.ne5_ne5_mg37.QPWmaC4.izumi_nag.cam-outfrq3s_physgrid_tem (Overall: DIFF) details:
+ - baseline changes due to upgrades described above
+
+izumi/gnu/aux_cam:
+ ERC_D_Ln9.f10_f10_mg37.QPC4.izumi_gnu.cam-outfrq3s_diags (Overall: DIFF) details:
+ ERP_D_Ln9.ne3pg3_ne3pg3_mg37.FHISTC_LTso.izumi_gnu.cam-outfrq9s (Overall: DIFF) details:
+ ERP_D_Ln9.ne3pg3_ne3pg3_mg37.QPC7.izumi_gnu.cam-outfrq9s (Overall: DIFF) details:
+ ERP_Ln9_P24x2.f45_f45_mg37.QPWmaC6.izumi_gnu.cam-outfrq9s_mee_fluxes (Overall: DIFF) details:
+ ERR_D_Ln9.ne3pg3_ne3pg3_mg37.FHISTC_LTso.izumi_gnu.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9.f10_f10_mg37.QPWmaC4.izumi_gnu.cam-outfrq9s_apmee (Overall: DIFF) details:
+ SMS_P48x1_D_Ln9.f19_f19_mg17.FW4madSD.izumi_gnu.cam-outfrq9s (Overall: DIFF) details:
+ - baseline changes due to upgrades described above
+
+ FAIL ERP_D_Ln9.ne3pg3_ne3pg3_mg37.FHISTC_LTso.izumi_gnu.cam-outfrq9s NLCOMP
+ FAIL ERP_D_Ln9.ne3pg3_ne3pg3_mg37.QPC7.izumi_gnu.cam-outfrq9s NLCOMP
+ FAIL ERR_D_Ln9.ne3pg3_ne3pg3_mg37.FHISTC_LTso.izumi_gnu.cam-outfrq9s NLCOMP
+ -namelist changes as described above
+
+CAM tag used for the baseline comparison tests if different than previous
+tag:
+
+Summarize any changes to answers, i.e.,
+- what code configurations: All LT/MT/WACCM/WACCMX and codes which use Beres
+- what platforms/compilers: all
+- nature of change (roundoff; larger than roundoff but same climate; new
+ climate): answer changing, more than roundoff
+
+===============================================================
===============================================================
Tag name: cam6_4_077
diff --git a/src/physics/cam/gw_convect.F90 b/src/physics/cam/gw_convect.F90
index 311865b499..1d31b0a61f 100644
--- a/src/physics/cam/gw_convect.F90
+++ b/src/physics/cam/gw_convect.F90
@@ -190,8 +190,7 @@ subroutine gw_beres_src(ncol, band, desc, u, v, &
hdepth = [ ( (zm(i,topi(i))-zm(i,boti(i))), i = 1, ncol ) ]
! J. Richter: this is an effective reduction of the GW phase speeds (needed to drive the QBO)
- hdepth = hdepth*qbo_hdepth_scaling
-
+ hdepth = max(1000._r8, hdepth*qbo_hdepth_scaling)
hd_idx = index_of_nearest(hdepth, desc%hd)
! hd_idx=0 signals that a heating depth is too shallow, i.e. that it is
diff --git a/src/physics/cam/gw_drag.F90 b/src/physics/cam/gw_drag.F90
index 6f2b66f886..9686122555 100644
--- a/src/physics/cam/gw_drag.F90
+++ b/src/physics/cam/gw_drag.F90
@@ -1114,7 +1114,7 @@ subroutine gw_init()
ttend_dp_idx = pbuf_get_index('TTEND_DP')
! Set the deep scheme specification components.
- beres_dp_desc%storm_shift = .true.
+ beres_dp_desc%storm_shift = .false.
do k = 0, pver
! 700 hPa index