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