diff --git a/schemes/conservation_adjust/check_energy/check_energy_chng.meta b/schemes/conservation_adjust/check_energy/check_energy_chng.meta
index b9bc0b9e..567164e0 100644
--- a/schemes/conservation_adjust/check_energy/check_energy_chng.meta
+++ b/schemes/conservation_adjust/check_energy/check_energy_chng.meta
@@ -96,7 +96,7 @@
dimensions = (horizontal_dimension, vertical_layer_dimension)
intent = in
[ cp_or_cv_dycore ]
- standard_name = specific_heat_of_air_used_in_dycore
+ standard_name = specific_heat_of_air_used_in_dycore_at_start_of_physics_timestep
units = J kg-1 K-1
type = real | kind = kind_phys
dimensions = (horizontal_dimension, vertical_layer_dimension)
@@ -280,13 +280,13 @@
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
intent = in
[ cp_or_cv_dycore ]
- standard_name = specific_heat_of_air_used_in_dycore
+ standard_name = specific_heat_of_air_used_in_dycore_at_start_of_physics_timestep
units = J kg-1 K-1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
intent = in
[ scaling_dycore ]
- standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula
+ standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula_at_start_of_physics_timestep
units = 1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
diff --git a/schemes/conservation_adjust/check_energy/check_energy_scaling.meta b/schemes/conservation_adjust/check_energy/check_energy_scaling.meta
index 400e97e5..de3bec76 100644
--- a/schemes/conservation_adjust/check_energy/check_energy_scaling.meta
+++ b/schemes/conservation_adjust/check_energy/check_energy_scaling.meta
@@ -12,7 +12,7 @@
dimensions = ()
intent = in
[ cp_or_cv_dycore ]
- standard_name = specific_heat_of_air_used_in_dycore
+ standard_name = specific_heat_of_air_used_in_dycore_at_start_of_physics_timestep
units = J kg-1 K-1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
@@ -24,7 +24,7 @@
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
intent = in
[ scaling_dycore ]
- standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula
+ standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula_at_start_of_physics_timestep
units = 1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
diff --git a/schemes/conservation_adjust/check_energy/dycore_energy_consistency_adjust.meta b/schemes/conservation_adjust/check_energy/dycore_energy_consistency_adjust.meta
index 05593fd3..de6c5263 100644
--- a/schemes/conservation_adjust/check_energy/dycore_energy_consistency_adjust.meta
+++ b/schemes/conservation_adjust/check_energy/dycore_energy_consistency_adjust.meta
@@ -24,7 +24,7 @@
dimensions = ()
intent = in
[ scaling_dycore ]
- standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula
+ standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula_at_start_of_physics_timestep
units = 1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
diff --git a/schemes/sima_diagnostics/check_energy_diagnostics.F90 b/schemes/sima_diagnostics/check_energy_diagnostics.F90
index 5682bcae..aa87e441 100644
--- a/schemes/sima_diagnostics/check_energy_diagnostics.F90
+++ b/schemes/sima_diagnostics/check_energy_diagnostics.F90
@@ -27,8 +27,8 @@ subroutine check_energy_diagnostics_init(errmsg, errflg)
errflg = 0
! History add field calls
- call history_add_field('cp_or_cv_dycore', 'specific_heat_of_air_used_in_dycore', 'lev', 'inst', 'J kg-1 K-1')
- call history_add_field('scaling_dycore', 'ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula', 'lev', 'inst', '1')
+ call history_add_field('cp_or_cv_dycore', 'specific_heat_of_air_used_in_dycore_at_start_of_physics_timestep', 'lev', 'inst', 'J kg-1 K-1')
+ call history_add_field('scaling_dycore', 'ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula_at_start_of_physics_timestep', 'lev', 'inst', '1')
call history_add_field('te_cur_phys', 'vertically_integrated_total_energy_using_physics_energy_formula', horiz_only, 'inst', 'J m-2')
call history_add_field('tw_cur', 'vertically_integrated_total_water', horiz_only, 'inst', 'kg m-2')
diff --git a/schemes/sima_diagnostics/check_energy_diagnostics.meta b/schemes/sima_diagnostics/check_energy_diagnostics.meta
index 342ab1f2..b5c61a06 100644
--- a/schemes/sima_diagnostics/check_energy_diagnostics.meta
+++ b/schemes/sima_diagnostics/check_energy_diagnostics.meta
@@ -22,13 +22,13 @@
name = check_energy_diagnostics_run
type = scheme
[ cp_or_cv_dycore ]
- standard_name = specific_heat_of_air_used_in_dycore
+ standard_name = specific_heat_of_air_used_in_dycore_at_start_of_physics_timestep
units = J kg-1 K-1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
intent = in
[ scaling_dycore ]
- standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula
+ standard_name = ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula_at_start_of_physics_timestep
units = 1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent, vertical_layer_dimension)
diff --git a/suites/suite_cam4.xml b/suites/suite_cam4.xml
index 0acd9cb8..dd3af2ec 100644
--- a/suites/suite_cam4.xml
+++ b/suites/suite_cam4.xml
@@ -406,13 +406,30 @@
check_energy_save_teout
+
+
+
check_energy_scaling
dycore_energy_consistency_adjust
diff --git a/suites/suite_cam7.xml b/suites/suite_cam7.xml
index 7848685c..2015cce4 100644
--- a/suites/suite_cam7.xml
+++ b/suites/suite_cam7.xml
@@ -145,8 +145,18 @@
check_energy_save_teout
-
- thermo_water_update
+
+
@@ -154,7 +164,11 @@
check_energy_scaling
dycore_energy_consistency_adjust
diff --git a/suites/suite_kessler.xml b/suites/suite_kessler.xml
index 07152b5c..a9dfebd9 100644
--- a/suites/suite_kessler.xml
+++ b/suites/suite_kessler.xml
@@ -31,17 +31,30 @@
-
- thermo_water_update
+
+
+ First, calculate the scaling based off the start-of-physics snapshot
+ cp_or_cv_dycore_at_start_of_physics_timestep (computed in d_p_coupling/
+ dyn_coupling_impl).
+ Any mid-physics mutation of cp_or_cv_dycore by thermo_water_update
+ should not be used.
+ Then, perform the temperature and temperature tendency scaling -->
check_energy_scaling
dycore_energy_consistency_adjust
apply_tendency_of_air_temperature
diff --git a/suites/suite_tj2016.xml b/suites/suite_tj2016.xml
index 3214de84..dfdb913d 100644
--- a/suites/suite_tj2016.xml
+++ b/suites/suite_tj2016.xml
@@ -24,17 +24,30 @@
apply_tendency_of_northward_wind
qneg
-
- thermo_water_update
+
+
+ First, calculate the scaling based off the start-of-physics snapshot
+ cp_or_cv_dycore_at_start_of_physics_timestep (computed in d_p_coupling/
+ dyn_coupling_impl).
+ Any mid-physics mutation of cp_or_cv_dycore by thermo_water_update
+ should not be used.
+ Then, perform the temperature and temperature tendency scaling -->
check_energy_scaling
dycore_energy_consistency_adjust
apply_tendency_of_air_temperature