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