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