diff --git a/.gitmodules b/.gitmodules index 55983dad55..8f6afcfd8f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -151,7 +151,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git [submodule "cime"] path = cime url = https://github.com/ESMCI/cime -fxtag = cime6.1.97 +fxtag = cime6.1.102 fxrequired = ToplevelRequired fxDONOTUSEurl = https://github.com/ESMCI/cime diff --git a/bld/build-namelist b/bld/build-namelist index 4d1c61eb8a..1d47f1dadc 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -4353,7 +4353,6 @@ if ($dyn =~ /mpas/) { add_default($nl, 'mpas_xnutr'); add_default($nl, 'mpas_cam_coef'); add_default($nl, 'mpas_cam_damping_levels'); - add_default($nl, 'mpas_print_detailed_minmax_vel'); add_default($nl, 'mpas_rayleigh_damp_u'); add_default($nl, 'mpas_rayleigh_damp_u_timescale_days'); add_default($nl, 'mpas_number_rayleigh_damp_u_levels'); diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index a8be732e63..a2df7559f7 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -231,10 +231,12 @@ atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa480_L32_CFSR_c240508.nc atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa480_L58_CFSR_c240814.nc +atm/cam/inic/mpas/QPC7_mpasa480_L58_cami_c250527.nc atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa480_L93_CFSR_c240814.nc atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa120_L32_CFSR_c240508.nc atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa120_L58_CFSR_c240814.nc +atm/cam/inic/mpas/QPC7_mpasa120_L58_cami_c250527.nc atm/waccm/ic/mpasa120_L70.waccm_topography_SC_c240904.nc atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa120_L93_CFSR_c240814.nc @@ -3351,7 +3353,6 @@ 5 .false. .false. - .true. atm/cam/inic/mpas/mpasa480.graph.info.part. atm/cam/inic/mpas/mpasa120.graph.info.part. atm/cam/inic/mpas/mpasa60.graph.info.part. @@ -3361,7 +3362,7 @@ atm/cam/inic/mpas/mpasa15-3.graph.info.part. .false. - .true. + .false. .false. .false. diff --git a/cime b/cime index 38bf614c60..1006c39f59 160000 --- a/cime +++ b/cime @@ -1 +1 @@ -Subproject commit 38bf614c60645ae5c87a948750036faf4bba26d0 +Subproject commit 1006c39f59577d47994fb3fb897566b2b8fa12ed diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 3ff1dcd0d1..57b8fe74b0 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -262,7 +262,7 @@ aquaplanet_cam6 aquaplanet_cam6 aquaplanet_rce_cam6 - aquaplanet_cam7 + aquaplanet_cam7 aquaplanet_waccm_2000 2010_cam6 @@ -279,8 +279,8 @@ 1950-2010_ccmi_refc1_waccmx_ma 1850-2005_cam5 hist_cam6 - hist_cam_lt - hist_cam_mt + hist_cam_lt + hist_cam_mt waccm_tsmlt_hist_cam6 waccm_sc_hist_cam6 waccm_ma_hist_cam6 diff --git a/cime_config/testdefs/testlist_cam.xml b/cime_config/testdefs/testlist_cam.xml index 7e1a969f62..e51f8e05ff 100644 --- a/cime_config/testdefs/testlist_cam.xml +++ b/cime_config/testdefs/testlist_cam.xml @@ -199,14 +199,24 @@ - + - + + + + + + + + + + + @@ -1195,12 +1205,13 @@ - + + @@ -1213,15 +1224,6 @@ - - - - - - - - - @@ -1590,10 +1592,9 @@ - + - diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa120/user_nl_clm b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa120/user_nl_clm index c4cb9d28d6..14e4278aa5 100644 --- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa120/user_nl_clm +++ b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa120/user_nl_clm @@ -1,3 +1,4 @@ hist_nhtfrq = 9 hist_mfilt = 1 hist_ndens = 1 +flanduse_timeseries = '' diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam index ccffd8c129..3edf536070 100644 --- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam +++ b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam @@ -4,3 +4,4 @@ nhtfrq=9,9,9,9,9,9 inithist='ENDOFRUN' mpas_cam_coef=1.0D0 mpas_cam_damping_levels=3 +pertlim = 1.e-14 diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/shell_commands b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/shell_commands deleted file mode 100644 index eb40ad83e0..0000000000 --- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/shell_commands +++ /dev/null @@ -1,2 +0,0 @@ -./xmlchange ROF_NCPL=\$ATM_NCPL -./xmlchange GLC_NCPL=\$ATM_NCPL diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/user_nl_cam b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/user_nl_cam deleted file mode 100644 index 3edf536070..0000000000 --- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/user_nl_cam +++ /dev/null @@ -1,7 +0,0 @@ -mfilt=1,1,1,1,1,1 -ndens=1,1,1,1,1,1 -nhtfrq=9,9,9,9,9,9 -inithist='ENDOFRUN' -mpas_cam_coef=1.0D0 -mpas_cam_damping_levels=3 -pertlim = 1.e-14 diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/user_nl_clm b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/user_nl_clm deleted file mode 100644 index c4cb9d28d6..0000000000 --- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/user_nl_clm +++ /dev/null @@ -1,3 +0,0 @@ -hist_nhtfrq = 9 -hist_mfilt = 1 -hist_ndens = 1 diff --git a/doc/ChangeLog b/doc/ChangeLog index abe108410f..46ddf0fc1e 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,121 @@ =============================================================== +Tag name: cam6_4_095 +Originator(s): eaton +Date: 29 May 2025 +One-line Summary: Update CAM testing. Bugfix for config_component.xml. +Github PR URL: https://github.com/ESCOMP/CAM/pull/1316 + +Purpose of changes (include the issue number and title text for each relevant GitHub issue): + +. Making progress on (but not resolving): + + Issue #258 - Most converted CESM regression tests are CAM5 - may want to make most CAM7 + - Add QPC7 tests on mpasa120 and mpasa480 grids + +. Modify MPAS testing + - merge the outfrq9s_mpasa480_pertlim testmods into outfrq9s_mpasa480. + Don't need separate testmods to turn on pertlim. + +. Fix MPAS frontogenesisAngle calc to avoid invalid operation (same fix as + used by SE). + +. Fix #1315 - CAM_NML_USE_CASE bug + - fix bug in config_component.xml for B compsets. + +. Update cime submodule. + +Describe any changes made to build system: none + +Describe any changes made to the namelist: none + +List any changes to the defaults for the boundary datasets: none + +Describe any substantial timing or memory changes: none + +Code reviewed by: cacraig + +List all files eliminated: + +cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/* +. merged these testmods with outfrq9s_mpasa480 + +List all files added and what they do: + +List all existing files that have been modified, and describe the changes: + +bld/build-namelist +. remove duplicate mpas_print_detailed_minmax_vel setting + +bld/namelist_files/namelist_defaults_cam.xml +. remove duplicate mpas_print_detailed_minmax_vel setting +. set defaults for mpas_print_* to .false.. These prints are every + timestep and generate huge logfiles for long production runs. +. add spun-up IC files for QPC7 using mpasa120 and mpasa480 grids. + +cime_config/config_component.xml +. Fix CAM_NML_USE_CASE setting for HISTC_CAM70 compsets. This is a bug for + the B compsets, but doesn't impact F compsets. + +cime_config/testdefs/testlist_cam.xml +. replace + ERS_D_Ln9.mpasa480_mpasa480.FHISTC_LTso.derecho_intel.cam-outfrq9s_mpasa480 + by + ERC_D_Ln9_P512.mpasa120_mpasa120.FHISTC_LTso.derecho_intel.cam-outfrq9s_mpasa120 +. replace + ERS_D_Ln9.mpasa480_mpasa480.F2000climo.derecho_intel.cam-outfrq9s_mpasa480_pertlim + by + ERC_D_Ln9.mpasa480_mpasa480_mt232.QPC7.izumi_nag.cam-outfrq9s_mpasa480 + +cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480_pertlim/user_nl_cam +. add pertlim = 1.e-14 + +cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa120/user_nl_clm +. add flanduse_timeseries = '' + +src/dynamics/mpas/dp_coupling.F90 +. add tiny value to frontogenesisAngle calc to avoid invalid operation when + both theta_x and theta_y are 0.0. This mimics what's done in SE dycore. + +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: + +ERC_D_Ln9_P512.mpasa120_mpasa120.F2000climo.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF) details: +ERC_D_Ln9_P512.mpasa120_mpasa120.FHISTC_LTso.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF) details: +ERC_D_Ln9_P512.mpasa120_mpasa120.QPC7.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF) details: +- new tests - no baselines + +SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: FAIL) +- pre-existing failure due to CLM build-namelist error + +derecho/nvhpc/aux_cam: PASS + +izumi/nag/aux_cam: + +ERC_D_Ln9.mpasa480_mpasa480_mt232.FHS94.izumi_nag.cam-outfrq9s (Overall: NLFAIL) details: +- namelist diff in mpas print options - simulation is BFB + +ERC_D_Ln9.mpasa480_mpasa480_mt232.QPC7.izumi_nag.cam-outfrq9s_mpasa480 (Overall: DIFF) details: +- new test - no baseline + +izumi/gnu/aux_cam: + +ERS_Ln9_P24x1.mpasa480_mpasa480.F2000climo.izumi_gnu.cam-outfrq9s_mpasa480 (Overall: DIFF) +- diffs due to including pertlim in outfrq9s_mpasa480 + +CAM tag used for the baseline comparison tests if different than previous +tag: + +Summarize any changes to answers: Answers are BFB. Diffs due only to + changes in user_nl_cam testmods. + +=============================================================== +=============================================================== + Tag name: cam6_4_094 Originator(s): fvitt Date: 27 May 2025 diff --git a/src/dynamics/mpas/dp_coupling.F90 b/src/dynamics/mpas/dp_coupling.F90 index a9c00bf723..1681ec6df2 100644 --- a/src/dynamics/mpas/dp_coupling.F90 +++ b/src/dynamics/mpas/dp_coupling.F90 @@ -1125,12 +1125,12 @@ subroutine calc_frontogenesis( frontogenesisFunction, frontogenesisAngle, do k=1, nVertLevels frontogenesisFunction(k,iCell) = 0.5_r8*( & - -divh(k)*(theta_x(k)**2 + theta_y(k)**2) & - -d_diag(k)*theta_x(k)**2 & - -2.0_r8*d_off_diag(k)*theta_x(k)*theta_y(k) & - +d_diag(k)*theta_y(k)**2 ) - frontogenesisAngle(k,iCell) = atan2(theta_y(k),theta_x(k)) - + - divh(k)*(theta_x(k)**2 + theta_y(k)**2) & + - d_diag(k)*theta_x(k)**2 & + - 2.0_r8*d_off_diag(k)*theta_x(k)*theta_y(k) & + + d_diag(k)*theta_y(k)**2 ) + frontogenesisAngle(k,iCell) = atan2(theta_y(k), theta_x(k) + 1.e-10_r8) + end do end do