Skip to content

Commit

Permalink
Bring in constituent tendency updater (#292)
Browse files Browse the repository at this point in the history
Tag name (required for main):
Originator(s): peverwhee

Summary (include the keyword ['closes', 'fixes', 'resolves'] and issue
number): Brings in and enables new apply_constituent_tendencies scheme
(from ESCOMP/atmospheric_physics#111)

Describe any changes made to build system: Exclude constituent
tendencies from required variables (now handled by the CCPP Framework in
NCAR/ccpp-framework#584)

Describe any changes made to the namelist: None

List any changes to the defaults for the input datasets (e.g. boundary
datasets): None

List all files eliminated and why: None

List all files added and what they do: None

List all existing files that have been modified, and describe the
changes:
(Helpful git command: `git diff --name-status
development...<your_branch_name>`)

M     .gitmodules
- update CCPP-Framework and atmospheric_physics externals to point to
updates for constituent tendencies

M     src/data/write_init_files.py
- exclude constituent tendency variables (and array) from required
variables list

If there are new failures (compare to the existing-test-failures.txt
file),
have them OK'd by the gatekeeper, note them here, and add them to the
file.
If there are baseline differences, include the test and the reason for
the
diff. What is the nature of the change? Roundoff?

derecho/intel/aux_sima:

derecho/gnu/aux_sima:

CAM-SIMA date used for the baseline comparison tests if different than
latest:

---------

Co-authored-by: Courtney Peverley <courtneyp@izumi.cgd.ucar.edu>
  • Loading branch information
peverwhee and Courtney Peverley authored Nov 27, 2024
1 parent 623ef7b commit e36d265
Show file tree
Hide file tree
Showing 18 changed files with 34 additions and 19 deletions.
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "ccpp-framework"]
path = ccpp_framework
url = https://github.com/NCAR/ccpp-framework
fxtag = 2024-10-31-dev
fxtag = 2024-11-07-dev
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/NCAR/ccpp-framework
[submodule "history"]
Expand All @@ -20,7 +20,7 @@
[submodule "ncar-physics"]
path = src/physics/ncar_ccpp
url = https://github.com/ESCOMP/atmospheric_physics
fxtag = atmos_phys0_06_000
fxtag = 045b630a8c3b41d90b6c006392c3907af762dd39
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/ESCOMP/atmospheric_physics
[submodule "ccs_config"]
Expand Down
3 changes: 2 additions & 1 deletion src/data/write_init_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
'number_of_ccpp_constituents',
'number_of_ccpp_advected_constituents',
'ccpp_constituents',
'ccpp_constituent_tendencies',
'ccpp_constituent_properties',
'ccpp_constituent_minimum_values',
'ccpp_error_message',
Expand Down Expand Up @@ -326,7 +327,7 @@ def gather_ccpp_req_vars(cap_database):
for cvar in cap_database.call_list(phase).variable_list():
stdname = cvar.get_prop_value('standard_name')
intent = cvar.get_prop_value('intent')
is_const = cvar.get_prop_value('advected')
is_const = cvar.get_prop_value('advected') or cvar.get_prop_value('constituent')
if ((intent in _INPUT_TYPES) and
(stdname not in req_vars) and
(stdname not in _EXCLUDED_STDNAMES)):
Expand Down
2 changes: 1 addition & 1 deletion src/physics/ncar_ccpp
Submodule ncar_ccpp updated 68 files
+72 −0 .github/workflows/unit-tests.yaml
+7 −0 .gitignore
+72 −0 doc/ChangeLog
+226 −104 doc/NamesNotInDictionary.txt
+420 −0 schemes/check_energy/check_energy_chng.F90
+413 −0 schemes/check_energy/check_energy_chng.meta
+19 −0 schemes/check_energy/check_energy_chng_namelist.xml
+48 −0 schemes/check_energy/check_energy_fix.F90
+67 −0 schemes/check_energy/check_energy_fix.meta
+77 −0 schemes/check_energy/check_energy_gmean/check_energy_gmean.F90
+98 −0 schemes/check_energy/check_energy_gmean/check_energy_gmean.meta
+37 −0 schemes/check_energy/check_energy_save_teout.F90
+37 −0 schemes/check_energy/check_energy_save_teout.meta
+42 −0 schemes/check_energy/check_energy_scaling.F90
+43 −0 schemes/check_energy/check_energy_scaling.meta
+39 −0 schemes/check_energy/check_energy_zero_fluxes.F90
+55 −0 schemes/check_energy/check_energy_zero_fluxes.meta
+52 −0 schemes/check_energy/dycore_energy_consistency_adjust.F90
+55 −0 schemes/check_energy/dycore_energy_consistency_adjust.meta
+1 −0 schemes/dry_adiabatic_adjust/dadadj.meta
+0 −33 schemes/dry_adiabatic_adjust/dadadj_apply_qv_tendency.F90
+0 −42 schemes/dry_adiabatic_adjust/dadadj_apply_qv_tendency.meta
+32 −32 schemes/musica/micm/musica_ccpp_micm.F90
+1 −71 schemes/musica/micm/musica_ccpp_micm_util.F90
+70 −67 schemes/musica/musica_ccpp.F90
+69 −5 schemes/musica/musica_ccpp.meta
+23 −3 schemes/musica/musica_ccpp_namelist.xml
+278 −101 schemes/musica/tuvx/musica_ccpp_tuvx.F90
+111 −0 schemes/musica/tuvx/musica_ccpp_tuvx_extraterrestrial_flux.F90
+75 −0 schemes/musica/tuvx/musica_ccpp_tuvx_surface_albedo.F90
+3 −4 schemes/musica/tuvx/musica_ccpp_tuvx_temperature.F90
+62 −0 schemes/musica/tuvx/musica_ccpp_tuvx_wavelength_grid.F90
+86 −0 schemes/sima_diagnostics/check_energy_diagnostics.F90
+83 −0 schemes/sima_diagnostics/check_energy_diagnostics.meta
+61 −0 schemes/sima_diagnostics/check_energy_gmean_diagnostics.F90
+59 −0 schemes/sima_diagnostics/check_energy_gmean_diagnostics.meta
+19 −0 schemes/sima_diagnostics/check_energy_gmean_diagnostics_namelist.xml
+38 −4 schemes/utilities/physics_tendency_updaters.F90
+53 −4 schemes/utilities/physics_tendency_updaters.meta
+30 −0 suites/suite_adiabatic.xml
+29 −2 suites/suite_cam7.xml
+21 −0 suites/suite_kessler.xml
+22 −0 suites/suite_tj2016.xml
+12 −10 test/CMakeLists.txt
+29 −27 test/docker/Dockerfile.musica
+18 −15 test/docker/Dockerfile.musica.no_install
+13 −11 test/musica/CMakeLists.txt
+0 −6 test/musica/micm/configs/chapman/config.json
+0 −97 test/musica/micm/configs/chapman/reactions.json
+0 −39 test/musica/micm/configs/chapman/species.json
+11 −74 test/musica/micm/test_micm_util.F90
+4 −4 test/musica/musica_ccpp_namelist.F90
+441 −44 test/musica/test_musica_api.F90
+88 −1 test/musica/tuvx/CMakeLists.txt
+0 −2,077 test/musica/tuvx/configs/ts1_tsmlt.json
+68 −0 test/musica/tuvx/test_tuvx_extraterrestrial_flux.F90
+39 −41 test/musica/tuvx/test_tuvx_height_grid.F90
+57 −0 test/musica/tuvx/test_tuvx_surface_albedo.F90
+19 −23 test/musica/tuvx/test_tuvx_temperature.F90
+53 −0 test/musica/tuvx/test_tuvx_wavelength_grid.F90
+1 −1 test/test_suites/suite_dry_adiabatic_adjust.xml
+39 −0 test/unit-test/CMakeLists.txt
+26 −0 test/unit-test/README.md
+11 −0 test/unit-test/include/ccpp_kinds.F90
+2 −0 test/unit-test/tests/CMakeLists.txt
+5 −0 test/unit-test/tests/utilities/CMakeLists.txt
+27 −0 test/unit-test/tests/utilities/test_state_converters.pf
+91 −0 to_be_ccppized/ccpp_tuvx_utils.F90
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_4D
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_4D
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_bvd
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_bvd
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_cnst
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 3
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -51,6 +51,7 @@ module phys_vars_init_check_cnst
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_ddt
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_ddt
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_ddt2
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_ddt2
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_ddt_array
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_ddt_array
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_host_var
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 1
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -49,6 +49,7 @@ module phys_vars_init_check_host_var
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_mf
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_mf
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_no_horiz
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_no_horiz
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_noreq
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 0
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 0
Expand All @@ -48,6 +48,7 @@ module phys_vars_init_check_noreq
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_param
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 3
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 26
Expand All @@ -51,6 +51,7 @@ module phys_vars_init_check_param
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_protect
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_protect
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_scalar
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_scalar
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module phys_vars_init_check_simple
integer, public, parameter :: READ_FROM_FILE = 3
! Total number of physics-related variables:
integer, public, parameter :: phys_var_num = 2
integer, public, parameter :: phys_const_num = 15
integer, public, parameter :: phys_const_num = 16

!Max length of physics-related variable standard names:
integer, public, parameter :: std_name_len = 25
Expand All @@ -50,6 +50,7 @@ module phys_vars_init_check_simple
character(len=36), public, protected :: phys_const_stdnames(phys_const_num) = (/ &
"ccpp_constituent_minimum_values ", &
"ccpp_constituent_properties ", &
"ccpp_constituent_tendencies ", &
"ccpp_constituents ", &
"ccpp_error_code ", &
"ccpp_error_message ", &
Expand Down

0 comments on commit e36d265

Please sign in to comment.