From b4338bb2dafe092142d47114db57ec9852231c5f Mon Sep 17 00:00:00 2001 From: PeterHjortLauritzen Date: Tue, 12 May 2026 11:42:30 -0600 Subject: [PATCH 1/7] fix energy bug in physics-dynamics coupling --- doc/ChangeLog | 32 ++++++++++++++++++++++++++++++++ src/physics/cam/physpkg.F90 | 16 ++++++++++------ src/physics/cam7/physpkg.F90 | 15 +++++++++------ src/physics/simple/physpkg.F90 | 14 +++++++++----- src/utils/air_composition.F90 | 2 +- 5 files changed, 61 insertions(+), 18 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 492dd911ce..a54dfada9d 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,35 @@ +Tag name: cam6_4_xxx +Originator(s): pel +Date: +One-line Summary: Fix (energy) bug in physics-dynamics coupling +Github PR URL: https://github.com/ESCOMP/CAM/pull/ + +Purpose of changes (include the issue number and title text for each relevant GitHub issue): + + Fix (energy) bug in physics-dynamics coupling -- issue #1551 + +Describe any changes made to build system: N/A + +Describe any changes made to the namelist: N/A + +List any changes to the defaults for the boundary datasets: N/A + +Describe any substantial timing or memory changes: N/A + +Code reviewed by: + +List all files eliminated: N/A + +List all files added and what they do: N/A + +List all existing files that have been modified, and describe the changes: + + + +Expecting failures against baseline for all tests using SE dycore +(only tests without moisture should not fail) + + =============================================================== Tag name: cam6_4_171 diff --git a/src/physics/cam/physpkg.F90 b/src/physics/cam/physpkg.F90 index 27790526e5..6ee5ecaf6d 100644 --- a/src/physics/cam/physpkg.F90 +++ b/src/physics/cam/physpkg.F90 @@ -1469,6 +1469,7 @@ subroutine tphysac (ztodt, cam_in, & real(r8) :: tmp_trac (pcols,pver,pcnst) ! tmp space real(r8) :: tmp_pdel (pcols,pver) ! tmp space real(r8) :: tmp_ps (pcols) ! tmp space + real(r8) :: tmp_cpcv (pcols,pver) ! tmp space real(r8) :: scaling(pcols,pver) logical :: moist_mixing_ratio_dycore @@ -1987,11 +1988,6 @@ subroutine tphysac (ztodt, cam_in, & ! FV: convert dry-type mixing ratios to moist here because physics_dme_adjust ! assumes moist. This is done in p_d_coupling for other dynamics. Bundy, Feb 2004. moist_mixing_ratio_dycore = dycore_is('LR').or. dycore_is('FV3') - ! - ! update cp/cv for energy computation based in updated water variables - ! - call cam_thermo_water_update(state%q(:ncol,:,:), lchnk, ncol, vc_dycore,& - to_dry_factor=state%pdel(:ncol,:)/state%pdeldry(:ncol,:)) ! for dry mixing ratio dycore, physics_dme_adjust is called for energy diagnostic purposes only. ! So, save off tracers @@ -2005,10 +2001,17 @@ subroutine tphysac (ztodt, cam_in, & tmp_trac(:ncol,:pver,:pcnst) = state%q(:ncol,:pver,:pcnst) tmp_pdel(:ncol,:pver) = state%pdel(:ncol,:pver) tmp_ps(:ncol) = state%ps(:ncol) + tmp_cpcv(:ncol,:pver) = cp_or_cv_dycore(:ncol,:pver,lchnk) if (trim(cam_take_snapshot_before) == "physics_dme_adjust") then call cam_snapshot_all_outfld_tphysac(cam_snapshot_before_num, state, tend, cam_in, cam_out, pbuf,& fh2o, surfric, obklen, flx_heat) - end if + end if + ! + ! update cp/cv for energy computation based in updated water variables + ! + call cam_thermo_water_update(state%q(:ncol,:,:), lchnk, ncol, vc_dycore,& + to_dry_factor=state%pdel(:ncol,:)/state%pdeldry(:ncol,:)) + call physics_dme_adjust(state, tend, qini, totliqini, toticeini, ztodt) if (trim(cam_take_snapshot_after) == "physics_dme_adjust") then call cam_snapshot_all_outfld_tphysac(cam_snapshot_after_num, state, tend, cam_in, cam_out, pbuf,& @@ -2020,6 +2023,7 @@ subroutine tphysac (ztodt, cam_in, & state%q(:ncol,:pver,:pcnst) = tmp_trac(:ncol,:pver,:pcnst) state%pdel(:ncol,:pver) = tmp_pdel(:ncol,:pver) state%ps(:ncol) = tmp_ps(:ncol) + cp_or_cv_dycore(:ncol,:pver,lchnk) = tmp_cpcv(:ncol,:pver) end if else ! diff --git a/src/physics/cam7/physpkg.F90 b/src/physics/cam7/physpkg.F90 index ae1620787a..fe6e867bce 100644 --- a/src/physics/cam7/physpkg.F90 +++ b/src/physics/cam7/physpkg.F90 @@ -1539,6 +1539,7 @@ subroutine tphysac (ztodt, cam_in, & real(r8) :: tmp_trac (pcols,pver,pcnst) ! tmp space real(r8) :: tmp_pdel (pcols,pver) ! tmp space real(r8) :: tmp_ps (pcols) ! tmp space + real(r8) :: tmp_cpcv (pcols,pver) ! tmp space real(r8) :: scaling(pcols,pver) logical :: moist_mixing_ratio_dycore @@ -2497,12 +2498,6 @@ subroutine tphysac (ztodt, cam_in, & ! FV: convert dry-type mixing ratios to moist here because physics_dme_adjust ! assumes moist. This is done in p_d_coupling for other dynamics. Bundy, Feb 2004. moist_mixing_ratio_dycore = dycore_is('LR').or. dycore_is('FV3') - ! - ! update cp/cv for energy computation based in updated water variables - ! - call cam_thermo_water_update(state%q(:ncol,:,:), lchnk, ncol, vc_dycore,& - to_dry_factor=state%pdel(:ncol,:)/state%pdeldry(:ncol,:)) - ! for dry mixing ratio dycore, physics_dme_adjust is called for energy diagnostic purposes only. ! So, save off tracers if (.not.moist_mixing_ratio_dycore) then @@ -2515,10 +2510,17 @@ subroutine tphysac (ztodt, cam_in, & tmp_trac(:ncol,:pver,:pcnst) = state%q(:ncol,:pver,:pcnst) tmp_pdel(:ncol,:pver) = state%pdel(:ncol,:pver) tmp_ps(:ncol) = state%ps(:ncol) + tmp_cpcv(:ncol,:pver) = cp_or_cv_dycore(:ncol,:pver,lchnk) if (trim(cam_take_snapshot_before) == "physics_dme_adjust") then call cam_snapshot_all_outfld_tphysac(cam_snapshot_before_num, state, tend, cam_in, cam_out, pbuf,& fh2o, surfric, obklen, flx_heat, cmfmc, dlf, det_s, det_ice, net_flx) end if + ! + ! update cp/cv for energy computation based in updated water variables + ! + call cam_thermo_water_update(state%q(:ncol,:,:), lchnk, ncol, vc_dycore,& + to_dry_factor=state%pdel(:ncol,:)/state%pdeldry(:ncol,:)) + call physics_dme_adjust(state, tend, qini, totliqini, toticeini, ztodt) if (trim(cam_take_snapshot_after) == "physics_dme_adjust") then call cam_snapshot_all_outfld_tphysac(cam_snapshot_after_num, state, tend, cam_in, cam_out, pbuf,& @@ -2530,6 +2532,7 @@ subroutine tphysac (ztodt, cam_in, & state%q(:ncol,:pver,:pcnst) = tmp_trac(:ncol,:pver,:pcnst) state%pdel(:ncol,:pver) = tmp_pdel(:ncol,:pver) state%ps(:ncol) = tmp_ps(:ncol) + cp_or_cv_dycore(:ncol,:pver,lchnk) = tmp_cpcv(:ncol,:pver) end if else ! diff --git a/src/physics/simple/physpkg.F90 b/src/physics/simple/physpkg.F90 index 0bbb63dd7e..a0893b08f0 100644 --- a/src/physics/simple/physpkg.F90 +++ b/src/physics/simple/physpkg.F90 @@ -543,6 +543,7 @@ subroutine tphysac (ztodt, cam_in, cam_out, state, tend, pbuf) real(r8) :: tmp_trac (pcols,pver,pcnst) ! tmp space real(r8) :: tmp_pdel (pcols,pver) ! tmp space real(r8) :: tmp_ps (pcols) ! tmp space + real(r8) :: tmp_cpcv (pcols,pver) ! tmp space real(r8) :: scaling(pcols,pver) !-------------------------------------------------------------------------- @@ -609,11 +610,6 @@ subroutine tphysac (ztodt, cam_in, cam_out, state, tend, pbuf) ! other dynamics. Bundy, Feb 2004. ! moist_mixing_ratio_dycore = dycore_is('LR').or. dycore_is('FV3') - ! - ! update cp/cv for energy computation based in updated water variables - ! - call cam_thermo_water_update(state%q(:ncol,:,:), lchnk, ncol, vc_dycore,& - to_dry_factor=state%pdel(:ncol,:)/state%pdeldry(:ncol,:)) if (moist_physics) then ! Scale dry mass and energy @@ -643,6 +639,13 @@ subroutine tphysac (ztodt, cam_in, cam_out, state, tend, pbuf) tmp_trac(:ncol,:pver,:pcnst) = state%q(:ncol,:pver,:pcnst) tmp_pdel(:ncol,:pver) = state%pdel(:ncol,:pver) tmp_ps(:ncol) = state%ps(:ncol) + tmp_cpcv(:ncol,:pver) = cp_or_cv_dycore(:ncol,:pver,lchnk) + ! + ! update cp/cv for energy computation based in updated water variables + ! + call cam_thermo_water_update(state%q(:ncol,:,:), lchnk, ncol, vc_dycore,& + to_dry_factor=state%pdel(:ncol,:)/state%pdeldry(:ncol,:)) + call physics_dme_adjust(state, tend, qini, totliqini, toticeini, ztodt) call tot_energy_phys(state, 'phAM') call tot_energy_phys(state, 'dyAM', vc=vc_dycore) @@ -650,6 +653,7 @@ subroutine tphysac (ztodt, cam_in, cam_out, state, tend, pbuf) state%q(:ncol,:pver,:pcnst) = tmp_trac(:ncol,:pver,:pcnst) state%pdel(:ncol,:pver) = tmp_pdel(:ncol,:pver) state%ps(:ncol) = tmp_ps(:ncol) + cp_or_cv_dycore(:ncol,:pver,lchnk) = tmp_cpcv(:ncol,:pver) end if else ! diff --git a/src/utils/air_composition.F90 b/src/utils/air_composition.F90 index f9d53beca1..67226ac668 100644 --- a/src/utils/air_composition.F90 +++ b/src/utils/air_composition.F90 @@ -107,7 +107,7 @@ module air_composition real(r8), public, protected, allocatable :: mbarv(:,:,:) ! cp_or_cv_dycore: enthalpy or internal energy scaling factor for ! energy consistency - real(r8), public, protected, allocatable :: cp_or_cv_dycore(:,:,:) + real(r8), public, allocatable :: cp_or_cv_dycore(:,:,:) ! ! Interfaces for public routines interface get_cp_dry From 4f72f50176bc2262f6ebf54421f296e945758369 Mon Sep 17 00:00:00 2001 From: Courtney Peverley Date: Tue, 12 May 2026 15:44:42 -0600 Subject: [PATCH 2/7] move longwave pbuf zeroing --- src/physics/rrtmgp/radiation.F90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/physics/rrtmgp/radiation.F90 b/src/physics/rrtmgp/radiation.F90 index ab9f243a32..69a7d91a95 100644 --- a/src/physics/rrtmgp/radiation.F90 +++ b/src/physics/rrtmgp/radiation.F90 @@ -1124,11 +1124,6 @@ subroutine radiation_tend( & end do end if - !REMOVECAM - no longer need this when CAM is retired and pcols no longer exists - flns(:) = 0._r8 - flnt(:) = 0._r8 - !REMOVECAM_END - ! Find tropopause height if needed for diagnostic output if (hist_fld_active('FSNR') .or. hist_fld_active('FLNR')) then !REMOVECAM - no longer need this when CAM is retired and pcols no longer exists @@ -1336,6 +1331,11 @@ subroutine radiation_tend( & if (dolw) then + !REMOVECAM - no longer need this when CAM is retired and pcols no longer exists + flns(:) = 0._r8 + flnt(:) = 0._r8 + !REMOVECAM_END + ! Set cloud optical properties in cloud_lw object. call rrtmgp_lw_cloud_optics_run(dolw, ncol, nlay, cld(:ncol,:), cldfsnow_in, & cldfgrau_in, cldfprime(:ncol,:), kdist_lw, lambda(:ncol,:), mu(:ncol,:), & From d7b0f0cc697aa625996c7a1301fce6e7731097ba Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Tue, 12 May 2026 18:37:00 -0400 Subject: [PATCH 3/7] Update atmos_phys to atmos_phys0_21_003: ZM factor fix for energy conservation (fixes #1550) --- .gitmodules | 2 +- src/atmos_phys | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 43ca2f80db..5e0debded2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -29,7 +29,7 @@ [submodule "atmos_phys"] path = src/atmos_phys url = https://github.com/ESCOMP/atmospheric_physics - fxtag = atmos_phys0_21_002 + fxtag = atmos_phys0_21_003 fxrequired = AlwaysRequired fxDONOTUSEurl = https://github.com/ESCOMP/atmospheric_physics diff --git a/src/atmos_phys b/src/atmos_phys index 8279090056..b18383376c 160000 --- a/src/atmos_phys +++ b/src/atmos_phys @@ -1 +1 @@ -Subproject commit 827909005618d2e7806d0c910b8125f4ddaa0029 +Subproject commit b18383376c0bf6bec03275e60cc3de00471e330c From 05ec151b7a7ca4899d33fa4c022fb1a654edaae1 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Wed, 13 May 2026 14:29:26 -0400 Subject: [PATCH 4/7] Draft ChangeLog. --- doc/ChangeLog | 55 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 9 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index a54dfada9d..c34f351ad0 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,12 +1,13 @@ -Tag name: cam6_4_xxx -Originator(s): pel -Date: -One-line Summary: Fix (energy) bug in physics-dynamics coupling -Github PR URL: https://github.com/ESCOMP/CAM/pull/ +Tag name: cam6_4_173 +Originator(s): pel, peverwhee, hplin +Date: 15 May 2026 +One-line Summary: Fix energy bugs in physics-dynamics coupling, RRTMGP diagnostics, and ZM scheme +Github PR URL: https://github.com/ESCOMP/CAM/pull/1554 Purpose of changes (include the issue number and title text for each relevant GitHub issue): - - Fix (energy) bug in physics-dynamics coupling -- issue #1551 +- Closes #1551 - Bug in physics tendency scaling +- Closes #1553 - RRTMGP diagnostic net_flx bug +- Closes #1550 - ZM scheme no longer conserving energy Describe any changes made to build system: N/A @@ -16,7 +17,7 @@ List any changes to the defaults for the boundary datasets: N/A Describe any substantial timing or memory changes: N/A -Code reviewed by: +Code reviewed by: nusbaume, cacraig (atmos_phys) List all files eliminated: N/A @@ -24,12 +25,48 @@ List all files added and what they do: N/A List all existing files that have been modified, and describe the changes: +M .gitmodules + - Update atmos_phys external to atmos_phys0_21_003 + +M src/atmos_phys (external) + - Update to atmos_phys0_21_003: fix ZM scheme factor for energy conservation + +M src/physics/cam/physpkg.F90 +M src/physics/cam7/physpkg.F90 +M src/physics/simple/physpkg.F90 + - Move cam_thermo_water_update call to after state is saved (inside the + .not.moist_mixing_ratio_dycore block) so that cp/cv is updated using + post-physics water variables for energy diagnostics only + - Save and restore cp_or_cv_dycore along with state tracers/pdel/ps so + the energy-diagnostic-only call to physics_dme_adjust does not corrupt + the cp/cv used by the dycore energy consistency adjustment + +M src/physics/rrtmgp/radiation.F90 + - Move zeroing of flns/flnt (longwave net flux at surface/TOA) from + before the shortwave block to before the longwave block, fixing + incorrect net_flx diagnostics + +M src/utils/air_composition.F90 + - Remove 'protected' attribute from cp_or_cv_dycore to allow physpkg to + save/restore it across the diagnostic physics_dme_adjust call + +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: +derecho/nvhpc/aux_cam: + +izumi/nag/aux_cam: + +izumi/gnu/aux_cam: + +Summarize any changes to answers: Expecting failures against baseline for all tests using SE dycore (only tests without moisture should not fail) - =============================================================== Tag name: cam6_4_171 From 95de3c16c56d299b30bc0fe550a9724c260e0b31 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Wed, 13 May 2026 17:00:36 -0400 Subject: [PATCH 5/7] Bugfix (from @fvitt): rad_cnst refactor list_idx gating broke double radiation case --- .../aerosol/carma_aerosol_state_mod.F90 | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/chemistry/aerosol/carma_aerosol_state_mod.F90 b/src/chemistry/aerosol/carma_aerosol_state_mod.F90 index e2b52f14ba..d77cf33ae0 100644 --- a/src/chemistry/aerosol/carma_aerosol_state_mod.F90 +++ b/src/chemistry/aerosol/carma_aerosol_state_mod.F90 @@ -407,10 +407,6 @@ subroutine hygroscopicity(self, bin_ndx, kappa) character(len=aero_name_len) :: bin_name, shortname integer :: igroup, ibin, rc, nchr, ncol - if (self%list_idx_ /= 0) then - call endrun('carma_aerosol_state::hygroscopicity: only valid for climate list (list_idx=0)') - end if - call rad_aer_get_info_by_bin(0, bin_ndx, bin_name=bin_name) nchr = len_trim(bin_name)-2 @@ -476,10 +472,6 @@ function dry_volume(self, aero_props, bin_idx, ncol, nlev) result(vol) character(len=aero_name_len) :: bin_name, shortname integer :: igroup, ibin, rc, nchr - if (self%list_idx_ /= 0) then - call endrun('carma_aerosol_state::dry_volume: only valid for climate list (list_idx=0)') - end if - call rad_aer_get_info_by_bin(0, bin_idx, bin_name=bin_name) nchr = len_trim(bin_name)-2 @@ -519,10 +511,6 @@ function wet_volume(self, aero_props, bin_idx, ncol, nlev) result(vol) character(len=aero_name_len) :: bin_name, shortname integer :: igroup, ibin, rc, nchr - if (self%list_idx_ /= 0) then - call endrun('carma_aerosol_state::wet_volume: only valid for climate list (list_idx=0)') - end if - call rad_aer_get_info_by_bin(0, bin_idx, bin_name=bin_name) nchr = len_trim(bin_name)-2 @@ -586,10 +574,6 @@ function wet_diameter(self, bin_idx, ncol, nlev) result(diam) character(len=aero_name_len) :: bin_name, shortname integer :: igroup, ibin, rc, nchr - if (self%list_idx_ /= 0) then - call endrun('carma_aerosol_state::wet_diameter: only valid for climate list (list_idx=0)') - end if - call rad_aer_get_info_by_bin(0, bin_idx, bin_name=bin_name) nchr = len_trim(bin_name)-2 From 6de5416b9f65519eb17e34202b5c949a761a6988 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Thu, 14 May 2026 10:16:35 -0400 Subject: [PATCH 6/7] Draft ChangeLog. --- doc/ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/ChangeLog b/doc/ChangeLog index dc217433a2..547180416a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -8,6 +8,7 @@ Purpose of changes (include the issue number and title text for each relevant Gi - Closes #1551 - Bug in physics tendency scaling - Closes #1553 - RRTMGP diagnostic net_flx bug - Closes #1550 - ZM scheme no longer conserving energy +- Closes #1556 - rad_cnst refactor: list_idx gating in carma_aerosol_state_mod.F90 breaks radiation diagnostics Describe any changes made to build system: N/A @@ -50,6 +51,10 @@ M src/utils/air_composition.F90 - Remove 'protected' attribute from cp_or_cv_dycore to allow physpkg to save/restore it across the diagnostic physics_dme_adjust call +M src/chemistry/aerosol/carma_aerosol_state_mod.F90 + - Remove erroneous endrun guards in carma aerosol state that were blocking + double radiation cases + 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 From 56e126c6e3d350cec5640ae942be97c08d937caf Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Fri, 15 May 2026 08:47:17 -0400 Subject: [PATCH 7/7] Finalize ChangeLog for cam6_4_173. --- doc/ChangeLog | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 547180416a..ceb7d305df 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -29,7 +29,7 @@ List all existing files that have been modified, and describe the changes: M .gitmodules - Update atmos_phys external to atmos_phys0_21_003 -M src/atmos_phys (external) +M src/atmos_phys - Update to atmos_phys0_21_003: fix ZM scheme factor for energy conservation M src/physics/cam/physpkg.F90 @@ -61,12 +61,109 @@ 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.f09_f09_mt232.FHIST_BDRD.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + ERC_D_Ln9.f19_f19_mg17.QPMOZ.derecho_intel.cam-outfrq3s (Overall: DIFF) details: + ERC_D_Ln9.f19_f19_mt232.QPC6.derecho_intel.cam-outfrq3s_cosp (Overall: DIFF) details: + ERC_D_Ln9.mpasa120_mpasa120.F2000climo.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF) details: + ERC_D_Ln9.mpasa120_mpasa120.FHISTC_LTso.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF) details: + ERC_D_Ln9.mpasa120_mpasa120.QPC7.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF) details: + ERC_D_Ln9.ne30pg2_ne30pg2_mt232.QPC7.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + ERC_D_Ln9.ne30pg3_ne30pg3_mt232.F1850C_LTso.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + ERC_Ln9.C96_C96_mt232.F2000climo.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + ERI_D_Ln18.f09_f09_mt232.FHIST.derecho_intel.cam-outfrq3s_eri (Overall: DIFF) details: + ERI_D_Ln18.f19_f19_mt232.FHIST_C5.derecho_intel.cam-outfrq3s_eri (Overall: DIFF) details: + ERI_D_Ln18.ne16pg3_ne16pg3_mt232.FHIST_C4.derecho_intel.cam-outfrq3s_eri (Overall: DIFF) details: + ERI_D_Ln18.ne30pg3_ne30pg3_mt232.FHISTC_LTso.derecho_intel.cam-outfrq3s_eri (Overall: DIFF) details: + ERP_D_Ln9.ne30pg3_ne30pg3_mt232.F1850C_MTso.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + ERP_D_Ln9_P64x2.f09_f09_mg17.QSC6.derecho_intel.cam-outfrq9s (Overall: DIFF) 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.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (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: + ERR_Ln9.ne16pg3_ne16pg3_mt232.FHISTC_LTso.derecho_intel.cam-outfrq9s_bwic (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: + 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.f09_f09_mg17.FSD.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_D_Ln9.f19_f19_mg17.FCARMA2000climo.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_D_Ln9.f19_f19_mg17.FCHIST_SLH.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.f19_f19_mt232.FHIST_C5.derecho_intel.cam-mam7 (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_Lh12.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq3h (Overall: DIFF) details: + SMS_Ln9.f09_f09_mg17.F2010climo.derecho_intel.cam-nudging (Overall: DIFF) details: + SMS_Ln9.f09_f09_mg17.FW1850.derecho_intel.cam-reduced_hist3s (Overall: DIFF) details: + ERS_Ln9.ne30pg3_ne30pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s_ctem (Overall: DIFF) details: + SCT_D_Ln7.ne3_ne3_mg37.QPC5.derecho_intel.cam-scm_prep (Overall: DIFF) details: + SMS_C2_D_Ln9.ne16pg3_ne16pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_D_Ln9.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + SMS_D_Ln9.ne16_ne16_mg17.QPX2000.derecho_intel.cam-outfrq9s_amie (Overall: DIFF) details: + SMS_D_Ln9.ne30pg3_ne30pg3_mt232.1850C_CAM70%MT%CT4S2_CLM60%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_SESP.derecho_intel.cam-outfrq9s (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.ne30pg3_ne30pg3_mg17.FC2010climo.derecho_intel.cam-outfrq1d (Overall: DIFF) details: + SMS_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_rrtmgp (Overall: DIFF) details: + SMS_D_Ln9_P1536x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details: + - expected differences due to SE dycore updates + ZM bug fix. + derecho/nvhpc/aux_cam: + ERS_Ln9.ne30pg3_ne30pg3_mt232.FHISTC_LTso.derecho_nvhpc.cam-outfrq9s_gpu_default (Overall: DIFF) + - expected differences due to SE dycore updates + ZM bug fix. izumi/nag/aux_cam: + ERC_D_Ln9.f10_f10_mt232.FHIST_C5.izumi_nag.cam-outfrq3s_subcol (Overall: FAIL) details: + - pre-existing failure -- see https://github.com/ESCOMP/CAM/issues/1514 + + ERC_D_Ln27.ne3pg3_ne3pg3_mt232.FKESSLER.izumi_nag.cam-outfrq9s (Overall: DIFF) details:: + ERC_D_Ln9.mpasa480_mpasa480_mt232.QPC7.izumi_nag.cam-outfrq9s_mpasa480 (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHISTC_LTso.izumi_nag.cam-cosp_rad_diags (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHISTC_LTso.izumi_nag.cam-outfrq9s_nochem (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.QPC4.izumi_nag.cam-outfrq9s (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: + SMS_D_Ln9.ne3pg3_ne3pg3_mt232.QPC7.izumi_nag.cam-carma_test_tracers (Overall: DIFF) details: + - expected differences due to SE dycore updates + ZM bug fix. + + ERC_D_Ln9.f10_f10_mg37.QPWmaC6.izumi_nag.cam-outfrq3s (Overall: DIFF) details: + ERC_D_Ln9.f10_f10_mt232.FHIST.izumi_nag.cam-outfrq3s_cospsathist (Overall: DIFF) details + SMS_D_Ln9.f10_f10_mt232.F1850.izumi_nag.cam-outfrq9s (Overall: DIFF) details: + TMC_D_Ln9.f10_f10_mt232.FHIST_C5.izumi_nag.cam-mc_ttrac (Overall: DIFF) details: + - expected differences due to ZM bug fix. izumi/gnu/aux_cam: + ERC_D_Ln9.C48_C48_mg17.QPC6.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + ERC_D_Ln9.f10_f10_mg37.QPC4.izumi_gnu.cam-outfrq3s_diags (Overall: DIFF) details: + ERC_D_Ln9.f10_f10_mt232.FHIST_C5.izumi_gnu.cam-rad_diag (Overall: DIFF) details: + ERC_D_Ln9.f19_f19_mt232.FHIST.izumi_gnu.cam-lonlat_fv_diags (Overall: DIFF) details: + ERC_D_Ln9.mpasa480_mpasa480_mt232.FHISTC_LTso.izumi_gnu.cam-outfrq9s_mpasa480 (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.F1850_C4.izumi_gnu.cam-co2rmp (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FGRAYRAD.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHIST_C5.izumi_gnu.cam-carma_cosp_rad_diag_mam (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHISTC_LTso.izumi_gnu.cam-sat_lcltod (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHIST.izumi_gnu.cam-nochem_clubbmf (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FTJ16.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.QPC5.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + ERC_D_Ln9.ne3pg3_ne3pg3_mt232.QPC7.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + ERC_D_Ln9.ne5_ne5_mg37.QPC4.izumi_gnu.cam-outfrq3s_nudging_ne5_L26 (Overall: DIFF) details: + ERS_Ln9_P24x1.mpasa480_mpasa480.F2000climo.izumi_gnu.cam-outfrq9s_mpasa480 (Overall: DIFF) details: + PLB_D_Ln9.f10_f10_mt232.FHIST_C5.izumi_gnu.cam-ttrac_loadbal0 (Overall: DIFF) details: + PLB_D_Ln9.f10_f10_mt232.FHIST_C5.izumi_gnu.cam-ttrac_loadbal1 (Overall: DIFF) details: + PLB_D_Ln9.f10_f10_mt232.FHIST_C5.izumi_gnu.cam-ttrac_loadbal3 (Overall: DIFF) details: + SCT_D_Ln7.ne3_ne3_mg37.QPC6.izumi_gnu.cam-scm_prep_c6 (Overall: DIFF) details: + SMS_D_Ln3.f10_f10_mg37.QPMOZ.izumi_gnu.cam-outfrq3s_chemproc (Overall: DIFF) details: + SMS_D_Ln9.f10_f10_mg37.FWmaHIST.izumi_gnu.cam-outfrq9s_mee_fluxes (Overall: DIFF) details: + SMS_D_Ln9.f10_f10_mg37.QPWmaC4.izumi_gnu.cam-outfrq9s_apmee (Overall: DIFF) details: + SMS_D_Ln9.f19_f19_mt232.FW4madSD.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + SUB_D_Ln9.ne3pg3_ne3pg3_mt232.FHIST.izumi_gnu.cam-outfrq9s (Overall: DIFF) details: + - expected failures due to SE dycore updates + ZM bug fix Summarize any changes to answers: Expecting failures against baseline for all tests using SE dycore