Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .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 = 2025-01-06-dev
fxtag = 2025-06-03-dev
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/NCAR/ccpp-framework
[submodule "history"]
Expand Down
2 changes: 1 addition & 1 deletion ccpp_framework
Submodule ccpp_framework updated 96 files
+2 −1 .github/workflows/capgen_unit_tests.yaml
+9 −8 .github/workflows/prebuild.yaml
+14 −9 scripts/ccpp_capgen.py
+3 −1 scripts/ccpp_datafile.py
+10 −0 scripts/ccpp_fortran_to_metadata.py
+9 −4 scripts/ccpp_prebuild.py
+12 −7 scripts/ccpp_suite.py
+15 −29 scripts/common.py
+3 −0 scripts/constituents.py
+20 −0 scripts/conversion_tools/unit_conversion.py
+8 −3 scripts/ddt_library.py
+0 −16 scripts/host_cap.py
+7 −1 scripts/metadata_parser.py
+201 −112 scripts/metadata_table.py
+27 −4 scripts/metavar.py
+3 −1 scripts/parse_tools/__init__.py
+7 −2 scripts/parse_tools/parse_checkers.py
+4 −0 scripts/parse_tools/parse_source.py
+132 −69 scripts/suite_objects.py
+64 −16 scripts/var_props.py
+8 −25 src/CMakeLists.txt
+1 −1 src/ccpp_constituent_prop_mod.F90
+121 −0 src/ccpp_scheme_utils.F90
+1 −1 test/advection_test/CMakeLists.txt
+1 −1 test/advection_test/cld_liq.meta
+1 −0 test/advection_test/cld_suite.xml
+1 −0 test/advection_test/cld_suite_files.txt
+94 −0 test/advection_test/const_indices.F90
+108 −0 test/advection_test/const_indices.meta
+12 −3 test/advection_test/run_test
+35 −4 test/advection_test/test_host.F90
+56 −1 test/advection_test/test_host_data.F90
+38 −0 test/advection_test/test_host_data.meta
+1 −1 test/advection_test/test_host_mod.F90
+12 −2 test/advection_test/test_reports.py
+1 −1 test/capgen_test/make_ddt.meta
+19 −4 test/capgen_test/run_test
+13 −3 test/capgen_test/temp_set.F90
+29 −0 test/capgen_test/temp_set.meta
+15 −6 test/capgen_test/test_host.F90
+14 −5 test/capgen_test/test_host_data.F90
+8 −1 test/capgen_test/test_host_data.meta
+6 −1 test/capgen_test/test_host_mod.F90
+30 −1 test/capgen_test/test_host_mod.meta
+15 −3 test/capgen_test/test_reports.py
+3 −1 test/ddthost_test/make_ddt.F90
+6 −1 test/ddthost_test/make_ddt.meta
+3 −0 test/ddthost_test/run_test
+6 −4 test/ddthost_test/test_host.F90
+3 −1 test/ddthost_test/test_reports.py
+37 −0 test/test_fortran_to_metadata.sh
+31 −0 test/unit_tests/sample_files/check_fortran_to_metadata.meta
+1 −1 test/unit_tests/sample_files/test_bad_var_property_name.meta
+28 −0 test/unit_tests/sample_files/test_fortran_to_metadata.F90
+1 −1 test/unit_tests/sample_files/test_multi_ccpp_arg_tables.meta
+11 −0 test/unit_tests/sample_host_files/mismatch_hdim_mod.F90
+25 −0 test/unit_tests/sample_host_files/mismatch_hdim_mod.meta
+48 −0 test/unit_tests/sample_scheme_files/mismatch_hdim.F90
+55 −0 test/unit_tests/sample_scheme_files/mismatch_hdim.meta
+0 −12 test/unit_tests/test_common.py
+20 −1 test/unit_tests/test_metadata_host_file.py
+18 −0 test/unit_tests/test_metadata_scheme_file.py
+1 −1 test/unit_tests/test_metadata_table.py
+25 −5 test/unit_tests/test_var_transforms.py
+1 −1 test/var_compatibility_test/CMakeLists.txt
+28 −4 test/var_compatibility_test/effr_calc.F90
+43 −0 test/var_compatibility_test/effr_calc.meta
+28 −2 test/var_compatibility_test/effr_diag.F90
+34 −0 test/var_compatibility_test/effr_diag.meta
+29 −2 test/var_compatibility_test/effr_post.F90
+35 −0 test/var_compatibility_test/effr_post.meta
+31 −5 test/var_compatibility_test/effr_pre.F90
+36 −0 test/var_compatibility_test/effr_pre.meta
+23 −0 test/var_compatibility_test/module_rad_ddt.F90
+40 −0 test/var_compatibility_test/module_rad_ddt.meta
+35 −0 test/var_compatibility_test/rad_lw.F90
+35 −0 test/var_compatibility_test/rad_lw.meta
+35 −0 test/var_compatibility_test/rad_sw.F90
+41 −0 test/var_compatibility_test/rad_sw.meta
+33 −7 test/var_compatibility_test/run_test
+33 −7 test/var_compatibility_test/test_host.F90
+37 −2 test/var_compatibility_test/test_host_data.F90
+67 −0 test/var_compatibility_test/test_host_data.meta
+41 −1 test/var_compatibility_test/test_host_mod.F90
+24 −3 test/var_compatibility_test/test_reports.py
+3 −0 test/var_compatibility_test/var_compatibility_files.txt
+9 −3 test/var_compatibility_test/var_compatibility_suite.xml
+2 −1 test_prebuild/run_all_tests.sh
+4 −4 test_prebuild/test_track_variables/scheme_3.meta
+4 −2 test_prebuild/test_unit_conv/data.F90
+16 −3 test_prebuild/test_unit_conv/data.meta
+2 −1 test_prebuild/test_unit_conv/main.F90
+12 −2 test_prebuild/test_unit_conv/unit_conv_scheme_1.F90
+8 −0 test_prebuild/test_unit_conv/unit_conv_scheme_1.meta
+11 −1 test_prebuild/test_unit_conv/unit_conv_scheme_2.F90
+8 −0 test_prebuild/test_unit_conv/unit_conv_scheme_2.meta
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ subroutine physics_read_data(file, suite_names, timestep, read_initialized_varia

select case (trim(phys_var_stdnames(name_idx)))
case ('potential_temperature')
call read_field(file, 'potential_temperature', input_var_names(:,name_idx), 'lev', timestep, phys_state%theta)
call read_field(file, 'potential_temperature', input_var_names(:,name_idx), 'lev', timestep, phys_state%thermo%theta)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another question - it appears that we are adding a thermo ddt? Is that correct and if so what are its elements?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a test file that is the expected code generation for this test registry - https://github.com/ESCOMP/CAM-SIMA/blob/development/test/unit/python/sample_files/write_init_files/ddt2_reg.xml

The test registry has a nested DDT and the updates that dustin brought into the framework fix a bug that enables these to be passed in correctly. The old phys_state%theta was actually incorrect.

Hope that makes sense!


case ('air_pressure_at_sea_level')
call read_field(file, 'air_pressure_at_sea_level', input_var_names(:,name_idx), timestep, phys_state%slp)
Expand Down Expand Up @@ -321,8 +321,8 @@ subroutine physics_check_data(file_name, suite_names, timestep, min_difference,

select case (trim(phys_var_stdnames(name_idx)))
case ('potential_temperature')
call check_field(file, input_var_names(:,name_idx), 'lev', timestep, phys_state%theta, 'potential_temperature', min_difference, &
min_relative_value, is_first, diff_found)
call check_field(file, input_var_names(:,name_idx), 'lev', timestep, phys_state%thermo%theta, 'potential_temperature', &
min_difference, min_relative_value, is_first, diff_found)

case ('air_pressure_at_sea_level')
call check_field(file, input_var_names(:,name_idx), timestep, phys_state%slp, 'air_pressure_at_sea_level', min_difference, &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ subroutine physics_read_data(file, suite_names, timestep, read_initialized_varia

select case (trim(phys_var_stdnames(name_idx)))
case ('potential_temperature')
call read_field(file, 'potential_temperature', input_var_names(:,name_idx), 'lev', timestep, phys_state%T(:, :, ix_theta))
call read_field(file, 'potential_temperature', input_var_names(:,name_idx), 'lev', timestep, phys_state%t(:, :, ix_theta))

case ('air_pressure_at_sea_level')
call read_field(file, 'air_pressure_at_sea_level', input_var_names(:,name_idx), timestep, phys_state%slp)
Expand Down Expand Up @@ -321,7 +321,7 @@ subroutine physics_check_data(file_name, suite_names, timestep, min_difference,

select case (trim(phys_var_stdnames(name_idx)))
case ('potential_temperature')
call check_field(file, input_var_names(:,name_idx), 'lev', timestep, phys_state%T(:, :, ix_theta), 'potential_temperature', &
call check_field(file, input_var_names(:,name_idx), 'lev', timestep, phys_state%t(:, :, ix_theta), 'potential_temperature', &
min_difference, min_relative_value, is_first, diff_found)

case ('air_pressure_at_sea_level')
Expand Down