From 67a4da0a7c416b323e02d6279fbd5dcdb044e692 Mon Sep 17 00:00:00 2001 From: Peter Hjort Lauritzen Date: Mon, 17 Mar 2025 10:58:33 -0600 Subject: [PATCH 1/4] moving mountains update + turn off moving mountains for FV dycore --- bld/build-namelist | 17 +++++++++++++++-- bld/namelist_files/namelist_defaults_cam.xml | 4 ++-- doc/ChangeLog | 18 ++++++++++++++++++ src/physics/cam/gw_convect.F90 | 4 ++-- src/physics/cam/gw_drag.F90 | 2 +- 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/bld/build-namelist b/bld/build-namelist index d2b6211108..42535af518 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -3847,7 +3847,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'); @@ -3878,7 +3886,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'); @@ -3900,7 +3913,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 981e5740bf..b75dcc6abd 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.4D0 0.55D0 0.5D0 diff --git a/doc/ChangeLog b/doc/ChangeLog index 347763dd99..5d94ef89fe 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,21 @@ + +Tag name: cam6_4_0XX +Originator(s): PeterHjortLauritzen, mbramberger +Date: +One-line Summary: Improvements to moving mountains parameterization +Github PR URL: + +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; issue 1276). +Turn off moving mountains for dycores not passing vorticity to physics (1270). + +Resolves #1276 - tune QBO in MT. + +Resolves #1270 - Crash when running moving mountains with FV dycore. + +Only SE dycore in LT and MT regression tests should be affected. + =============================================================== Tag name: cam6_4_075 diff --git a/src/physics/cam/gw_convect.F90 b/src/physics/cam/gw_convect.F90 index 311865b499..33eb13aefa 100644 --- a/src/physics/cam/gw_convect.F90 +++ b/src/physics/cam/gw_convect.F90 @@ -190,8 +190,8 @@ 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 = 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 From 612912ad8dc081a8930a6d0e168b8b3c539dfc43 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Tue, 18 Mar 2025 09:23:53 -0600 Subject: [PATCH 2/4] Update cime commit --- cime | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime b/cime index cdf76d6919..71d2b71216 160000 --- a/cime +++ b/cime @@ -1 +1 @@ -Subproject commit cdf76d691961d697feafc14907f81b9c195dfe99 +Subproject commit 71d2b71216cc39abfb8224cc55861bd6424c95f9 From ea5fc294f6eb314d1837636e0309103aa75717f1 Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Tue, 18 Mar 2025 16:50:29 -0600 Subject: [PATCH 3/4] Remove extraneous comment and preliminary ChangeLog --- doc/ChangeLog | 80 ++++++++++++++++++++++++++++++---- src/physics/cam/gw_convect.F90 | 1 - 2 files changed, 71 insertions(+), 10 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index e063d83cba..f9497a096c 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,21 +1,83 @@ -Tag name: cam6_4_0XX -Originator(s): PeterHjortLauritzen, mbramberger -Date: + +=============================================================== + +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: +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: -Updates to moving mountains scheme for tuning QBO in MT (same settings adopted for LT; issue 1276). -Turn off moving mountains for dycores not passing vorticity to physics (1270). +derecho/nvhpc/aux_cam: + +izumi/nag/aux_cam: -Resolves #1276 - tune QBO in MT. +izumi/gnu/aux_cam: -Resolves #1270 - Crash when running moving mountains with FV dycore. +CAM tag used for the baseline comparison tests if different than previous +tag: -Only SE dycore in LT and MT regression tests should be affected. +Summarize any changes to answers, i.e., +- what code configurations: +- what platforms/compilers: +- nature of change (roundoff; larger than roundoff but same climate; new + climate): +If bitwise differences were observed, how did you show they were no worse +than roundoff? + +If this tag changes climate describe the run(s) done to evaluate the new +climate in enough detail that it(they) could be reproduced, i.e., +- source tag (all code used must be in the repository): +- platform/compilers: +- configure commandline: +- build-namelist command (or complete namelist): +- MSS location of output: + +MSS location of control simulations used to validate new climate: + +URL for AMWG diagnostics output used to validate new climate: + +=============================================================== =============================================================== Tag name: cam6_4_077 diff --git a/src/physics/cam/gw_convect.F90 b/src/physics/cam/gw_convect.F90 index 33eb13aefa..1d31b0a61f 100644 --- a/src/physics/cam/gw_convect.F90 +++ b/src/physics/cam/gw_convect.F90 @@ -190,7 +190,6 @@ 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) From fe92f1bc2dee3ceedd91b49f2bba5817874d601c Mon Sep 17 00:00:00 2001 From: Cheryl Craig Date: Wed, 19 Mar 2025 15:13:41 -0600 Subject: [PATCH 4/4] Update ChangeLog for cam6_4_078 --- doc/ChangeLog | 83 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 63 insertions(+), 20 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index f9497a096c..37e1c0c0a2 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,4 @@ - =============================================================== Tag name: cam6_4_078 @@ -39,43 +38,87 @@ M src/physics/cam/gw_convect.F90 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: -- what platforms/compilers: +- 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): - -If bitwise differences were observed, how did you show they were no worse -than roundoff? - -If this tag changes climate describe the run(s) done to evaluate the new -climate in enough detail that it(they) could be reproduced, i.e., -- source tag (all code used must be in the repository): -- platform/compilers: -- configure commandline: -- build-namelist command (or complete namelist): -- MSS location of output: - -MSS location of control simulations used to validate new climate: - -URL for AMWG diagnostics output used to validate new climate: + climate): answer changing, more than roundoff =============================================================== ===============================================================