1- Tag name: cam6_4_xxx
2- Originator(s): pel
3- Date:
4- One-line Summary: Fix ( energy) bug in physics-dynamics coupling
5- Github PR URL: https://github.com/ESCOMP/CAM/pull/
1+ Tag name: cam6_4_173
2+ Originator(s): pel, peverwhee, hplin
3+ Date: 15 May 2026
4+ One-line Summary: Fix energy bugs in physics-dynamics coupling, RRTMGP diagnostics, and ZM scheme
5+ Github PR URL: https://github.com/ESCOMP/CAM/pull/1554
66
77Purpose of changes (include the issue number and title text for each relevant GitHub issue):
8-
9- Fix (energy) bug in physics-dynamics coupling -- issue #1551
8+ - Closes #1551 - Bug in physics tendency scaling
9+ - Closes #1553 - RRTMGP diagnostic net_flx bug
10+ - Closes #1550 - ZM scheme no longer conserving energy
1011
1112Describe any changes made to build system: N/A
1213
@@ -16,20 +17,56 @@ List any changes to the defaults for the boundary datasets: N/A
1617
1718Describe any substantial timing or memory changes: N/A
1819
19- Code reviewed by:
20+ Code reviewed by: nusbaume, cacraig (atmos_phys)
2021
2122List all files eliminated: N/A
2223
2324List all files added and what they do: N/A
2425
2526List all existing files that have been modified, and describe the changes:
2627
28+ M .gitmodules
29+ - Update atmos_phys external to atmos_phys0_21_003
30+
31+ M src/atmos_phys (external)
32+ - Update to atmos_phys0_21_003: fix ZM scheme factor for energy conservation
33+
34+ M src/physics/cam/physpkg.F90
35+ M src/physics/cam7/physpkg.F90
36+ M src/physics/simple/physpkg.F90
37+ - Move cam_thermo_water_update call to after state is saved (inside the
38+ .not.moist_mixing_ratio_dycore block) so that cp/cv is updated using
39+ post-physics water variables for energy diagnostics only
40+ - Save and restore cp_or_cv_dycore along with state tracers/pdel/ps so
41+ the energy-diagnostic-only call to physics_dme_adjust does not corrupt
42+ the cp/cv used by the dycore energy consistency adjustment
43+
44+ M src/physics/rrtmgp/radiation.F90
45+ - Move zeroing of flns/flnt (longwave net flux at surface/TOA) from
46+ before the shortwave block to before the longwave block, fixing
47+ incorrect net_flx diagnostics
48+
49+ M src/utils/air_composition.F90
50+ - Remove 'protected' attribute from cp_or_cv_dycore to allow physpkg to
51+ save/restore it across the diagnostic physics_dme_adjust call
52+
53+ If there were any failures reported from running test_driver.sh on any test
54+ platform, and checkin with these failures has been OK'd by the gatekeeper,
55+ then copy the lines from the td.*.status files for the failed tests to the
56+ appropriate machine below. All failed tests must be justified.
2757
58+ derecho/intel/aux_cam:
2859
60+ derecho/nvhpc/aux_cam:
61+
62+ izumi/nag/aux_cam:
63+
64+ izumi/gnu/aux_cam:
65+
66+ Summarize any changes to answers:
2967Expecting failures against baseline for all tests using SE dycore
3068(only tests without moisture should not fail)
3169
32-
3370===============================================================
3471
3572Tag name: cam6_4_171
0 commit comments