NCAR / ccpp-framework

Common Community Physics Package (CCPP)
http://www.dtcenter.org/community-code/common-community-physics-package-ccpp/
Other
26 stars 64 forks source link

Bug fix for unit conversion error in ccpp_prebuild.py (variables that are slices of a n+1 dimensional array have wrong allocation) #600

Closed climbfuji closed 1 month ago

climbfuji commented 1 month ago

Description

  1. Bug fix in scripts/mkstatic.py: define dim_string_allocate so that temporary (group cap) variables of rank n that correspond to a slice of an n+1 dimensional array have the right dimensions in the assignment calls and subroutine call lists. See the inline documentation added in mkstatic.py around line 1476 for more information.

  2. Addition of test test_prebuild/test_unit_conv to test for the above and to test for the capgen issue reported in https://github.com/NCAR/ccpp-framework/issues/594 (Unit conversion bug when variable is used by two different schemes with different units). Note that ccpp_prebuild.py did not suffer from this bug, but I wanted to make sure that we test for it.

  3. In the development of the new test test_unit_conv, I discovered that we should declare all incoming host variables in the group caps as target. This is because it is tricky in prebuild to determine that a parent variable bar needs to have the target attribute in case a slice of it has the active attribute. This is a bit of an edge case, but I believe this additional attribute is safe. I will run full UFS RTs with this PR to check if the results are b4b or if the addition of target causes the compiler to optimize differently.

  4. Minor updates to test_prebuid/{test_blocked_data,test_chunked_data}: fix wrong name of subroutines in diagnostic error messages, set thread number and thread counter to safe values when running over the entire domain.

User interface changes?: No

Resolves https://github.com/NCAR/ccpp-framework/issues/598

Testing: test removed: n/a unit tests: docstring tests not run, since the files that are modified in this PR do not have docstring tests system tests: CI tests all pass manual testing:

  1. Ran test_prebuild/run_all_tests.sh on my laptop with gcc@13.3.0 and openmpi/5.0.3
  2. Ran full regression tests with ufs-weather-model on Hera, all tests passed. See https://github.com/ufs-community/ufs-weather-model/pull/2464 and https://github.com/NOAA-EMC/fv3atm/pull/878
jkbk2004 commented 1 month ago

Tests are done at https://github.com/ufs-community/ufs-weather-model/pull/2463. @grantfirl @dustinswales Can you merge this pr?

grantfirl commented 1 month ago

@mkavulich @dustinswales We need another approval before we can merge this.

mkavulich commented 1 month ago

There are also mismatched parens in the other new test schemes, I assume due to copy-paste

climbfuji commented 1 month ago

I can fix those parentheses - I don't think it is necessary to retest with UFS, since all the "bugs" are in test_prebuild/... ? @grantfirl @dustinswales ?

climbfuji commented 1 month ago

Done in f80f9c9a. Here is the output of test_prebuild/run_all_tests.sh. No more warnings.

> ./run_all_tests.sh 2>&1 | tee run_all_tests.log

Running unit_tests
+ python3 ./test_metadata_parser.py
+ python3 ./test_mkstatic.py

Running test_opt_arg
INFO: Logging level set to INFO
INFO: Found TYPEDEFS_NEW_METADATA dictionary in config, assume at least some data is in new metadata format
INFO: No suites were given, compiling a list of all suites
INFO: Adding suite definition file suite_opt_arg_suite.xml
INFO: Parsing suite definition files ...
INFO: Parsing suite definition file ./suite_opt_arg_suite.xml ...
INFO: Parsing metadata tables for variables provided by host model ...
INFO: Parsed variable definition tables in module ccpp_types
INFO: Parsed variable definition tables in module ccpp_kinds
INFO: Parsed variable definition tables in module data
INFO: Convert local names from new metadata format into old metadata format ...
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_opt_arg.html
INFO: Parsing metadata tables in physics scheme files ...
INFO: Parsed tables in scheme opt_arg_scheme with dependencies ['ccpp_kinds.F90']
INFO: Checking for existence of schemes in suites ...
INFO: Adding CCPP suite variables to list of requested variables
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_opt_arg.tex
INFO: Comparing metadata for requested and provided variables ...
INFO: Automatic unit conversion from m to km for opt_arg_2 after returning from MODULE_opt_arg_scheme SCHEME_opt_arg_scheme SUBROUTINE_opt_arg_scheme_timestep_init
INFO: Automatic unit conversion from m to km for opt_arg_2 before entering MODULE_opt_arg_scheme SCHEME_opt_arg_scheme SUBROUTINE_opt_arg_scheme_run
INFO: Automatic unit conversion from m to km for opt_arg_2 after returning from MODULE_opt_arg_scheme SCHEME_opt_arg_scheme SUBROUTINE_opt_arg_scheme_run
INFO: Automatic unit conversion from m to km for opt_arg_2 before entering MODULE_opt_arg_scheme SCHEME_opt_arg_scheme SUBROUTINE_opt_arg_scheme_timestep_finalize
INFO: Automatic unit conversion from m to km for opt_arg_2 after returning from MODULE_opt_arg_scheme SCHEME_opt_arg_scheme SUBROUTINE_opt_arg_scheme_timestep_finalize
INFO: Generating list of Fortran modules containing CCPP type definitions ...
INFO: Generating typedefs makefile/cmakefile snippet ...
INFO: Added 2 typedefs to build/CCPP_TYPEDEFS.mk, build/CCPP_TYPEDEFS.cmake, build/CCPP_TYPEDEFS.sh
INFO: Generating schemes makefile/cmakefile snippet ...
INFO: Added 5 schemes to build/CCPP_SCHEMES.mk, build/CCPP_SCHEMES.cmake, build/CCPP_SCHEMES.sh
INFO: Generating suite and group caps ...
INFO: Generating static API ccpp_static_api.F90 in build ...
INFO: Generating caps makefile/cmakefile snippet ...
INFO: Added 2 auto-generated caps to build/CCPP_CAPS.mk and build/CCPP_CAPS.cmake, build/CCPP_CAPS.sh
INFO: CCPP prebuild step completed successfully.
-- The Fortran compiler identification is GNU 13.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /home/dom/prod/gcc-13.3.0-manual/bin/gfortran - skipped
-- Found MPI_Fortran: /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi_usempif08.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: Fortran
-- Got CCPP TYPEDEFS from cmakefile include file: ccpp_kinds.mod;ccpp_types.mod
-- Got CCPP SCHEMES from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/ccpp_kinds.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/opt_arg_scheme.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/ccpp_kinds.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/data.F90
-- Got CCPP CAPS from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/build/ccpp_opt_arg_suite_cap.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/build/ccpp_opt_arg_suite_opt_arg_group_cap.F90
-- Got CCPP API from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/build/ccpp_static_api.F90
-- Configuring done (3.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_opt_arg/build
[ 10%] Building Fortran object CMakeFiles/ccpp_opt_arg.dir/ccpp_kinds.F90.o
[ 20%] Building Fortran object CMakeFiles/ccpp_opt_arg.dir/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90.o
[ 30%] Building Fortran object CMakeFiles/ccpp_opt_arg.dir/opt_arg_scheme.F90.o
[ 40%] Building Fortran object CMakeFiles/ccpp_opt_arg.dir/ccpp_opt_arg_suite_opt_arg_group_cap.F90.o
[ 50%] Building Fortran object CMakeFiles/ccpp_opt_arg.dir/ccpp_opt_arg_suite_cap.F90.o
[ 60%] Building Fortran object CMakeFiles/ccpp_opt_arg.dir/data.F90.o
[ 70%] Building Fortran object CMakeFiles/ccpp_opt_arg.dir/ccpp_static_api.F90.o
[ 80%] Linking Fortran static library libccpp_opt_arg.a
[ 80%] Built target ccpp_opt_arg
[ 90%] Building Fortran object CMakeFiles/test_opt_arg.x.dir/main.F90.o
[100%] Linking Fortran executable test_opt_arg.x
[100%] Built target test_opt_arg.x
After ccpp_init:                   check std_arg(:)==1, opt_arg(:)==0, opt_arg_2(:)==0
After ccpp_physics_init:           check std_arg(:)==1 and opt_arg(:)==0
After ccpp_physics_timestep_init:  check std_arg(:)==1 and opt_arg(:)==2
After ccpp_physics_run:            check std_arg(:)==1 and opt_arg(:)==3
After ccpp_physics_timestep_final: check std_arg(:)==7; opt_arg not allocated
After ccpp_physics_timestep_final: check std_arg(:)==7; opt_arg not allocated

Running test_blocked_data
INFO: Logging level set to INFO
INFO: Found TYPEDEFS_NEW_METADATA dictionary in config, assume at least some data is in new metadata format
INFO: No suites were given, compiling a list of all suites
INFO: Adding suite definition file suite_blocked_data_suite.xml
INFO: Parsing suite definition files ...
INFO: Parsing suite definition file ./suite_blocked_data_suite.xml ...
INFO: Parsing metadata tables for variables provided by host model ...
INFO: Parsed variable definition tables in module ccpp_types
INFO: Parsed variable definition tables in module data
INFO: Convert local names from new metadata format into old metadata format ...
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_BLOCKED_DATA.html
INFO: Parsing metadata tables in physics scheme files ...
INFO: Parsed tables in scheme blocked_data_scheme
INFO: Checking for existence of schemes in suites ...
INFO: Adding CCPP suite variables to list of requested variables
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_BLOCKED_DATA.tex
INFO: Comparing metadata for requested and provided variables ...
INFO: Generating list of Fortran modules containing CCPP type definitions ...
INFO: Generating typedefs makefile/cmakefile snippet ...
INFO: Added 2 typedefs to build/CCPP_TYPEDEFS.mk, build/CCPP_TYPEDEFS.cmake, build/CCPP_TYPEDEFS.sh
INFO: Generating schemes makefile/cmakefile snippet ...
INFO: Added 3 schemes to build/CCPP_SCHEMES.mk, build/CCPP_SCHEMES.cmake, build/CCPP_SCHEMES.sh
INFO: Generating suite and group caps ...
INFO: Generating static API ccpp_static_api.F90 in build ...
INFO: Generating caps makefile/cmakefile snippet ...
INFO: Added 2 auto-generated caps to build/CCPP_CAPS.mk and build/CCPP_CAPS.cmake, build/CCPP_CAPS.sh
INFO: CCPP prebuild step completed successfully.
-- The Fortran compiler identification is GNU 13.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /home/dom/prod/gcc-13.3.0-manual/bin/gfortran - skipped
-- Found MPI_Fortran: /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi_usempif08.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: Fortran
-- Got CCPP TYPEDEFS from cmakefile include file: ccpp_types.mod;data.mod
-- Got CCPP SCHEMES from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_blocked_data/blocked_data_scheme.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_blocked_data/data.F90
-- Got CCPP CAPS from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_blocked_data/build/ccpp_blocked_data_suite_blocked_data_group_cap.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_blocked_data/build/ccpp_blocked_data_suite_cap.F90
-- Got CCPP API from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_blocked_data/build/ccpp_static_api.F90
-- Configuring done (3.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_blocked_data/build
[ 11%] Building Fortran object CMakeFiles/ccpp_blocked_data.dir/blocked_data_scheme.F90.o
[ 22%] Building Fortran object CMakeFiles/ccpp_blocked_data.dir/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90.o
[ 33%] Building Fortran object CMakeFiles/ccpp_blocked_data.dir/data.F90.o
[ 44%] Building Fortran object CMakeFiles/ccpp_blocked_data.dir/ccpp_blocked_data_suite_blocked_data_group_cap.F90.o
[ 55%] Building Fortran object CMakeFiles/ccpp_blocked_data.dir/ccpp_blocked_data_suite_cap.F90.o
[ 66%] Building Fortran object CMakeFiles/ccpp_blocked_data.dir/ccpp_static_api.F90.o
[ 77%] Linking Fortran static library libccpp_blocked_data.a
[ 77%] Built target ccpp_blocked_data
[ 88%] Building Fortran object CMakeFiles/test_blocked_data.x.dir/main.F90.o
[100%] Linking Fortran executable test_blocked_data.x
[100%] Built target test_blocked_data.x
Allocated array_data for block  1 to size  6
Allocated array_data for block  2 to size  6
Allocated array_data for block  3 to size  6
Allocated array_data for block  4 to size  3
In blocked_data_scheme_init: checking size of data array to be 21
In blocked_data_scheme_timestep_init: checking size of data array to be 21
In blocked_data_scheme_run: checking size of data array for block  1 to be  6
In blocked_data_scheme_run: checking size of data array for block  2 to be  6
In blocked_data_scheme_run: checking size of data array for block  3 to be  6
In blocked_data_scheme_run: checking size of data array for block  4 to be  3
In blocked_data_scheme_timestep_finalize: checking size of data array to be 21
In blocked_data_scheme_finalize: checking size of data array to be 21

Running test_chunked_data
INFO: Logging level set to INFO
INFO: Found TYPEDEFS_NEW_METADATA dictionary in config, assume at least some data is in new metadata format
INFO: No suites were given, compiling a list of all suites
INFO: Adding suite definition file suite_chunked_data_suite.xml
INFO: Parsing suite definition files ...
INFO: Parsing suite definition file ./suite_chunked_data_suite.xml ...
INFO: Parsing metadata tables for variables provided by host model ...
INFO: Parsed variable definition tables in module ccpp_types
INFO: Parsed variable definition tables in module data
INFO: Convert local names from new metadata format into old metadata format ...
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_CHUNKED_DATA.html
INFO: Parsing metadata tables in physics scheme files ...
INFO: Parsed tables in scheme chunked_data_scheme
INFO: Checking for existence of schemes in suites ...
INFO: Adding CCPP suite variables to list of requested variables
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_CHUNKED_DATA.tex
INFO: Comparing metadata for requested and provided variables ...
INFO: Generating list of Fortran modules containing CCPP type definitions ...
INFO: Generating typedefs makefile/cmakefile snippet ...
INFO: Added 2 typedefs to build/CCPP_TYPEDEFS.mk, build/CCPP_TYPEDEFS.cmake, build/CCPP_TYPEDEFS.sh
INFO: Generating schemes makefile/cmakefile snippet ...
INFO: Added 3 schemes to build/CCPP_SCHEMES.mk, build/CCPP_SCHEMES.cmake, build/CCPP_SCHEMES.sh
INFO: Generating suite and group caps ...
INFO: Generating static API ccpp_static_api.F90 in build ...
INFO: Generating caps makefile/cmakefile snippet ...
INFO: Added 2 auto-generated caps to build/CCPP_CAPS.mk and build/CCPP_CAPS.cmake, build/CCPP_CAPS.sh
INFO: CCPP prebuild step completed successfully.
-- The Fortran compiler identification is GNU 13.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /home/dom/prod/gcc-13.3.0-manual/bin/gfortran - skipped
-- Found MPI_Fortran: /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi_usempif08.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: Fortran
-- Got CCPP TYPEDEFS from cmakefile include file: ccpp_types.mod;data.mod
-- Got CCPP SCHEMES from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_chunked_data/chunked_data_scheme.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_chunked_data/data.F90
-- Got CCPP CAPS from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_chunked_data/build/ccpp_chunked_data_suite_cap.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_chunked_data/build/ccpp_chunked_data_suite_chunked_data_group_cap.F90
-- Got CCPP API from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_chunked_data/build/ccpp_static_api.F90
-- Configuring done (3.6s)
-- Generating done (0.0s)
-- Build files have been written to: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_chunked_data/build
[ 11%] Building Fortran object CMakeFiles/ccpp_chunked_data.dir/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90.o
[ 22%] Building Fortran object CMakeFiles/ccpp_chunked_data.dir/chunked_data_scheme.F90.o
[ 33%] Building Fortran object CMakeFiles/ccpp_chunked_data.dir/data.F90.o
[ 44%] Building Fortran object CMakeFiles/ccpp_chunked_data.dir/ccpp_chunked_data_suite_chunked_data_group_cap.F90.o
[ 55%] Building Fortran object CMakeFiles/ccpp_chunked_data.dir/ccpp_chunked_data_suite_cap.F90.o
[ 66%] Building Fortran object CMakeFiles/ccpp_chunked_data.dir/ccpp_static_api.F90.o
[ 77%] Linking Fortran static library libccpp_chunked_data.a
[ 77%] Built target ccpp_chunked_data
[ 88%] Building Fortran object CMakeFiles/test_chunked_data.x.dir/main.F90.o
[100%] Linking Fortran executable test_chunked_data.x
[100%] Built target test_chunked_data.x
Chunked_data_instance%array_data to size 21
In chunked_data_scheme_init: checking size of data array to be 21
In chunked_data_scheme_timestep_init: checking size of data array to be 21
In chunked_data_scheme_run: checking size of data array for chunk  1 to be  6
In chunked_data_scheme_run: checking size of data array for chunk  2 to be  6
In chunked_data_scheme_run: checking size of data array for chunk  3 to be  6
In chunked_data_scheme_run: checking size of data array for chunk  4 to be  3
In chunked_data_scheme_timestep_finalize: checking size of data array to be 21
In chunked_data_scheme_finalize: checking size of data array to be 21

Running test_unit_conv
INFO: Logging level set to DEBUG
INFO: Found TYPEDEFS_NEW_METADATA dictionary in config, assume at least some data is in new metadata format
INFO: No suites were given, compiling a list of all suites
INFO: Adding suite definition file suite_unit_conv_suite.xml
INFO: Parsing suite definition files ...
INFO: Parsing suite definition file ./suite_unit_conv_suite.xml ...
INFO: Parsing metadata tables for variables provided by host model ...
DEBUG: Parsing file ccpp_types.F90 with registry OrderedDict([('ccpp_types', OrderedDict([('ccpp_t', [50, 63])]))])
Parsing ddt ccpp_t, at ccpp_types.meta:7
INFO: Parsing ddt ccpp_t, at ccpp_types.meta:7
Adding errflg to ccpp_t
DEBUG: Adding errflg to ccpp_t
Adding errmsg to ccpp_t
DEBUG: Adding errmsg to ccpp_t
Adding loop_cnt to ccpp_t
DEBUG: Adding loop_cnt to ccpp_t
Adding loop_max to ccpp_t
DEBUG: Adding loop_max to ccpp_t
Adding blk_no to ccpp_t
DEBUG: Adding blk_no to ccpp_t
Adding chunk_no to ccpp_t
DEBUG: Adding chunk_no to ccpp_t
Adding thrd_no to ccpp_t
DEBUG: Adding thrd_no to ccpp_t
Adding thrd_cnt to ccpp_t
DEBUG: Adding thrd_cnt to ccpp_t
Adding ccpp_instance to ccpp_t
DEBUG: Adding ccpp_instance to ccpp_t
Parsing ddt MPI_Comm, at ccpp_types.meta:72
INFO: Parsing ddt MPI_Comm, at ccpp_types.meta:72
Parsing module ccpp_types, at ccpp_types.meta:83
INFO: Parsing module ccpp_types, at ccpp_types.meta:83
Adding ccpp_t to ccpp_types
DEBUG: Adding ccpp_t to ccpp_types
Adding one to ccpp_types
DEBUG: Adding one to ccpp_types
Adding MPI_Comm to ccpp_types
DEBUG: Adding MPI_Comm to ccpp_types
DEBUG: Module name: ccpp_types
DEBUG: Module variables: ccpp_t, ccpp_constant_one, mpi_comm
DEBUG: Variables in derived type ccpp_t: ccpp_error_code, ccpp_error_message, ccpp_loop_counter, ccpp_loop_extent, ccpp_block_number, ccpp_chunk_number, ccpp_thread_number, ccpp_thread_count, ccpp_instance
INFO: Parsed variable definition tables in module ccpp_types
DEBUG: Parsing file ccpp_kinds.F90 with registry OrderedDict([('ccpp_kinds', OrderedDict())])
Parsing module ccpp_kinds, at ccpp_kinds.meta:7
INFO: Parsing module ccpp_kinds, at ccpp_kinds.meta:7
Adding kind_phys to ccpp_kinds
DEBUG: Adding kind_phys to ccpp_kinds
DEBUG: Module name: ccpp_kinds
DEBUG: Module variables: kind_phys
INFO: Parsed variable definition tables in module ccpp_kinds
DEBUG: Parsing file data.F90 with registry OrderedDict([('data', OrderedDict())])
Parsing module data, at data.meta:5
INFO: Parsing module data, at data.meta:5
Adding cdata to data
DEBUG: Adding cdata to data
Adding ncols to data
DEBUG: Adding ncols to data
Adding nspecies to data
DEBUG: Adding nspecies to data
Adding data_array to data
DEBUG: Adding data_array to data
Adding data_array(:, 2) to data
DEBUG: Adding data_array(:, 2) to data
Adding opt_array_flag to data
DEBUG: Adding opt_array_flag to data
Adding data_array(:, 1) to data
DEBUG: Adding data_array(:, 1) to data
DEBUG: Module name: data
DEBUG: Module variables: ccpp_t_instance, horizontal_loop_extent, number_of_species, data_array_all_species, data_array, flag_for_opt_array, data_array_opt
INFO: Parsed variable definition tables in module data
INFO: Convert local names from new metadata format into old metadata format ...
DEBUG: Converting local name blk_no of variable ccpp_block_number from new to old metadata
DEBUG: Updating local name of variable ccpp_block_number from blk_no to cdata%blk_no
DEBUG: Converting local name chunk_no of variable ccpp_chunk_number from new to old metadata
DEBUG: Updating local name of variable ccpp_chunk_number from chunk_no to cdata%chunk_no
DEBUG: Converting local name one of variable ccpp_constant_one from new to old metadata
DEBUG: Converting local name errflg of variable ccpp_error_code from new to old metadata
DEBUG: Updating local name of variable ccpp_error_code from errflg to cdata%errflg
DEBUG: Converting local name errmsg of variable ccpp_error_message from new to old metadata
DEBUG: Updating local name of variable ccpp_error_message from errmsg to cdata%errmsg
DEBUG: Converting local name ccpp_instance of variable ccpp_instance from new to old metadata
DEBUG: Updating local name of variable ccpp_instance from ccpp_instance to cdata%ccpp_instance
DEBUG: Converting local name loop_cnt of variable ccpp_loop_counter from new to old metadata
DEBUG: Updating local name of variable ccpp_loop_counter from loop_cnt to cdata%loop_cnt
DEBUG: Converting local name loop_max of variable ccpp_loop_extent from new to old metadata
DEBUG: Updating local name of variable ccpp_loop_extent from loop_max to cdata%loop_max
DEBUG: Converting local name ccpp_t of variable ccpp_t from new to old metadata
DEBUG: Converting local name cdata of variable ccpp_t_instance from new to old metadata
DEBUG: Converting local name thrd_cnt of variable ccpp_thread_count from new to old metadata
DEBUG: Updating local name of variable ccpp_thread_count from thrd_cnt to cdata%thrd_cnt
DEBUG: Converting local name thrd_no of variable ccpp_thread_number from new to old metadata
DEBUG: Updating local name of variable ccpp_thread_number from thrd_no to cdata%thrd_no
DEBUG: Converting local name data_array(:, 2) of variable data_array from new to old metadata
DEBUG: Updating local name of variable data_array from data_array(:, 2) to data_array(:,2)
DEBUG: Converting local name data_array of variable data_array_all_species from new to old metadata
DEBUG: Converting local name data_array(:, 1) of variable data_array_opt from new to old metadata
DEBUG: Updating local name of variable data_array_opt from data_array(:, 1) to data_array(:,1)
DEBUG: Converting local name opt_array_flag of variable flag_for_opt_array from new to old metadata
DEBUG: Converting local name ncols of variable horizontal_loop_extent from new to old metadata
DEBUG: Variable kind_phys is in old metadata format, no conversion necessary
DEBUG: Converting local name MPI_Comm of variable mpi_comm from new to old metadata
DEBUG: Converting local name nspecies of variable number_of_species from new to old metadata
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_UNIT_CONV.html
INFO: Parsing metadata tables in physics scheme files ...
DEBUG: Parsing file unit_conv_scheme_1.F90 with registry OrderedDict([('unit_conv_scheme_1', OrderedDict([('unit_conv_scheme_1', OrderedDict([('unit_conv_scheme_1_run', [15, 43])]))]))])
Parsing scheme unit_conv_scheme_1_run, at unit_conv_scheme_1.meta:7
INFO: Parsing scheme unit_conv_scheme_1_run, at unit_conv_scheme_1.meta:7
Adding errmsg to unit_conv_scheme_1_run
DEBUG: Adding errmsg to unit_conv_scheme_1_run
Adding errflg to unit_conv_scheme_1_run
DEBUG: Adding errflg to unit_conv_scheme_1_run
Adding data_array to unit_conv_scheme_1_run
DEBUG: Adding data_array to unit_conv_scheme_1_run
Adding data_array_opt to unit_conv_scheme_1_run
DEBUG: Adding data_array_opt to unit_conv_scheme_1_run
DEBUG: Module name: unit_conv_scheme_1
DEBUG: Scheme name: unit_conv_scheme_1
DEBUG: Scheme dependencies: []
DEBUG: Variables in subroutine unit_conv_scheme_1_run: ccpp_error_message, ccpp_error_code, data_array, data_array_opt
DEBUG: Parsing file unit_conv_scheme_2.F90 with registry OrderedDict([('unit_conv_scheme_2', OrderedDict([('unit_conv_scheme_2', OrderedDict([('unit_conv_scheme_2_run', [15, 43])]))]))])
Parsing scheme unit_conv_scheme_2_run, at unit_conv_scheme_2.meta:7
INFO: Parsing scheme unit_conv_scheme_2_run, at unit_conv_scheme_2.meta:7
Adding errmsg to unit_conv_scheme_2_run
DEBUG: Adding errmsg to unit_conv_scheme_2_run
Adding errflg to unit_conv_scheme_2_run
DEBUG: Adding errflg to unit_conv_scheme_2_run
Adding data_array to unit_conv_scheme_2_run
DEBUG: Adding data_array to unit_conv_scheme_2_run
Adding data_array_opt to unit_conv_scheme_2_run
DEBUG: Adding data_array_opt to unit_conv_scheme_2_run
DEBUG: Module name: unit_conv_scheme_2
DEBUG: Scheme name: unit_conv_scheme_2
DEBUG: Scheme dependencies: []
DEBUG: Variables in subroutine unit_conv_scheme_2_run: ccpp_error_message, ccpp_error_code, data_array, data_array_opt
INFO: Checking for existence of schemes in suites ...
INFO: Adding CCPP suite variables to list of requested variables
DEBUG: Adding CCPP suite variable ccpp_loop_counter to list of requested variables
DEBUG: Adding CCPP suite variable ccpp_loop_extent to list of requested variables
INFO: Metadata table for model FV3 written to build/CCPP_VARIABLES_UNIT_CONV.tex
INFO: Comparing metadata for requested and provided variables ...
DEBUG: Requested variable ccpp_error_code in MODULE_unit_conv_scheme_1 SCHEME_unit_conv_scheme_1 SUBROUTINE_unit_conv_scheme_1_run matched to target cdata%errflg in module ccpp_types
DEBUG: Requested variable ccpp_error_code in MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run matched to target cdata%errflg in module ccpp_types
DEBUG: Requested variable ccpp_error_message in MODULE_unit_conv_scheme_1 SCHEME_unit_conv_scheme_1 SUBROUTINE_unit_conv_scheme_1_run matched to target cdata%errmsg in module ccpp_types
DEBUG: Update kind information for requested variable ccpp_error_message in MODULE_unit_conv_scheme_1 SCHEME_unit_conv_scheme_1 SUBROUTINE_unit_conv_scheme_1_run from len=* to len=512
DEBUG: Requested variable ccpp_error_message in MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run matched to target cdata%errmsg in module ccpp_types
DEBUG: Update kind information for requested variable ccpp_error_message in MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run from len=* to len=512
DEBUG: Requested variable ccpp_loop_counter in None matched to target cdata%loop_cnt in module ccpp_types
DEBUG: Requested variable ccpp_loop_extent in None matched to target cdata%loop_max in module ccpp_types
DEBUG: Registering unit conversion for variable data_array in MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run
INFO: Automatic unit conversion from km to m for data_array before entering MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run
INFO: Automatic unit conversion from km to m for data_array after returning from MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run
DEBUG: Requested variable data_array in MODULE_unit_conv_scheme_1 SCHEME_unit_conv_scheme_1 SUBROUTINE_unit_conv_scheme_1_run matched to target data_array(:,2) in module data
DEBUG: Requested variable data_array in MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run matched to target data_array(:,2) in module data
DEBUG: Registering unit conversion for variable data_array_opt in MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run
INFO: Automatic unit conversion from km to m for data_array_opt before entering MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run
INFO: Automatic unit conversion from km to m for data_array_opt after returning from MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run
DEBUG: Requested variable data_array_opt in MODULE_unit_conv_scheme_1 SCHEME_unit_conv_scheme_1 SUBROUTINE_unit_conv_scheme_1_run matched to target data_array(:,1) in module data
DEBUG: Requested variable data_array_opt in MODULE_unit_conv_scheme_2 SCHEME_unit_conv_scheme_2 SUBROUTINE_unit_conv_scheme_2_run matched to target data_array(:,1) in module data
INFO: Generating list of Fortran modules containing CCPP type definitions ...
INFO: Generating typedefs makefile/cmakefile snippet ...
INFO: Added 2 typedefs to build/CCPP_TYPEDEFS.mk, build/CCPP_TYPEDEFS.cmake, build/CCPP_TYPEDEFS.sh
INFO: Generating schemes makefile/cmakefile snippet ...
INFO: Added 5 schemes to build/CCPP_SCHEMES.mk, build/CCPP_SCHEMES.cmake, build/CCPP_SCHEMES.sh
INFO: Generating suite and group caps ...
DEBUG: Generating suite and group caps for suite unit_conv_suite...
DEBUG: Adding variable ccpp_constant_one for handling blocked data structures
DEBUG: Adding variable horizontal_loop_extent for handling blocked data structures
DEBUG: Adding variable flag_for_opt_array for handling conditionals
DEBUG: Adding dimension number_of_species for parent variable data_array_all_species
INFO: Generating static API ccpp_static_api.F90 in build ...
INFO: Generating caps makefile/cmakefile snippet ...
INFO: Added 2 auto-generated caps to build/CCPP_CAPS.mk and build/CCPP_CAPS.cmake, build/CCPP_CAPS.sh
INFO: CCPP prebuild step completed successfully.
-- The Fortran compiler identification is GNU 13.3.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /home/dom/prod/gcc-13.3.0-manual/bin/gfortran - skipped
-- Found MPI_Fortran: /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi_usempif08.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: Fortran
-- Got CCPP TYPEDEFS from cmakefile include file: ccpp_kinds.mod;ccpp_types.mod
-- Got CCPP SCHEMES from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/unit_conv_scheme_1.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/unit_conv_scheme_2.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/ccpp_kinds.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/data.F90
-- Got CCPP CAPS from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/ccpp_unit_conv_suite_cap.F90;/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/ccpp_unit_conv_suite_unit_conv_group_cap.F90
-- Got CCPP API from cmakefile include file: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/ccpp_static_api.F90
-- Configuring done (3.4s)
-- Generating done (0.0s)
-- Build files have been written to: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -S/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv -B/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build --check-build-system CMakeFiles/Makefile.cmake 0
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_progress_start /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
make  -f CMakeFiles/ccpp_unit_conv.dir/build.make CMakeFiles/ccpp_unit_conv.dir/depend
make[2]: Entering directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
cd /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build && /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_depends "Unix Makefiles" /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/ccpp_unit_conv.dir/DependInfo.cmake "--color="
Dependee "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/ccpp_unit_conv.dir/DependInfo.cmake" is newer than depender "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/ccpp_unit_conv.dir/depend.internal".
Dependee "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/ccpp_unit_conv.dir/depend.internal".
Scanning dependencies of target ccpp_unit_conv
make[2]: Leaving directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
make  -f CMakeFiles/ccpp_unit_conv.dir/build.make CMakeFiles/ccpp_unit_conv.dir/build
make[2]: Entering directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
[  9%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/ccpp_kinds.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/ccpp_kinds.F90 -o CMakeFiles/ccpp_unit_conv.dir/ccpp_kinds.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod ccpp_kinds.mod CMakeFiles/ccpp_unit_conv.dir/ccpp_kinds.mod.stamp GNU
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/ccpp_kinds.F90.o.provides.build
[ 18%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90 -o CMakeFiles/ccpp_unit_conv.dir/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod ccpp_types.mod CMakeFiles/ccpp_unit_conv.dir/ccpp_types.mod.stamp GNU
[ 27%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_1.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/unit_conv_scheme_1.F90 -o CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_1.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod unit_conv_scheme_1.mod CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_1.mod.stamp GNU
[ 36%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_2.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/unit_conv_scheme_2.F90 -o CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_2.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod unit_conv_scheme_2.mod CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_2.mod.stamp GNU
[ 45%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_unit_conv_group_cap.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/ccpp_unit_conv_suite_unit_conv_group_cap.F90 -o CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_unit_conv_group_cap.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod ccpp_unit_conv_suite_unit_conv_group_cap.mod CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_unit_conv_group_cap.mod.stamp GNU
[ 54%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_cap.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/ccpp_unit_conv_suite_cap.F90 -o CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_cap.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod ccpp_unit_conv_suite_cap.mod CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_cap.mod.stamp GNU
[ 63%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/data.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/data.F90 -o CMakeFiles/ccpp_unit_conv.dir/data.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod data.mod CMakeFiles/ccpp_unit_conv.dir/data.mod.stamp GNU
[ 72%] Building Fortran object CMakeFiles/ccpp_unit_conv.dir/ccpp_static_api.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/include -I/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/ccpp_static_api.F90 -o CMakeFiles/ccpp_unit_conv.dir/ccpp_static_api.F90.o
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_copy_f90_mod ccpp_static_api.mod CMakeFiles/ccpp_unit_conv.dir/ccpp_static_api.mod.stamp GNU
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/ccpp_static_api.F90.o.provides.build
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_cap.F90.o.provides.build
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_unit_conv_group_cap.F90.o.provides.build
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/data.F90.o.provides.build
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90.o.provides.build
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_1.F90.o.provides.build
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E touch CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_2.F90.o.provides.build
[ 81%] Linking Fortran static library libccpp_unit_conv.a
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -P CMakeFiles/ccpp_unit_conv.dir/cmake_clean_target.cmake
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_link_script CMakeFiles/ccpp_unit_conv.dir/link.txt --verbose=1
/usr/bin/ar qc libccpp_unit_conv.a "CMakeFiles/ccpp_unit_conv.dir/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/src/ccpp_types.F90.o" CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_1.F90.o CMakeFiles/ccpp_unit_conv.dir/unit_conv_scheme_2.F90.o CMakeFiles/ccpp_unit_conv.dir/ccpp_kinds.F90.o CMakeFiles/ccpp_unit_conv.dir/data.F90.o CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_cap.F90.o CMakeFiles/ccpp_unit_conv.dir/ccpp_unit_conv_suite_unit_conv_group_cap.F90.o CMakeFiles/ccpp_unit_conv.dir/ccpp_static_api.F90.o
/usr/bin/ranlib libccpp_unit_conv.a
make[2]: Leaving directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
[ 81%] Built target ccpp_unit_conv
make  -f CMakeFiles/test_unit_conv.x.dir/build.make CMakeFiles/test_unit_conv.x.dir/depend
make[2]: Entering directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
cd /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build && /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_depends "Unix Makefiles" /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/test_unit_conv.x.dir/DependInfo.cmake "--color="
Dependee "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/test_unit_conv.x.dir/DependInfo.cmake" is newer than depender "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/test_unit_conv.x.dir/depend.internal".
Dependee "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles/test_unit_conv.x.dir/depend.internal".
Scanning dependencies of target test_unit_conv.x
make[2]: Leaving directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
make  -f CMakeFiles/test_unit_conv.x.dir/build.make CMakeFiles/test_unit_conv.x.dir/build
make[2]: Entering directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
[ 90%] Building Fortran object CMakeFiles/test_unit_conv.x.dir/main.F90.o
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran   -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none -c /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/main.F90 -o CMakeFiles/test_unit_conv.x.dir/main.F90.o
[100%] Linking Fortran executable test_unit_conv.x
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_link_script CMakeFiles/test_unit_conv.x.dir/link.txt --verbose=1
/home/dom/prod/gcc-13.3.0-manual/bin/gfortran  -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -ggdb -fbacktrace -ffree-line-length-none CMakeFiles/test_unit_conv.x.dir/main.F90.o -o test_unit_conv.x  -Wl,-rpath,/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib libccpp_unit_conv.a /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi_usempif08.so /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi_usempi_ignore_tkr.so /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi_mpifh.so /home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/openmpi-5.0.3-jo5od3o/lib/libmpi.so
make[2]: Leaving directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
[100%] Built target test_unit_conv.x
make[1]: Leaving directory '/home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build'
/home/dom/prod/spack-stack-1.8.0/envs/ue-gcc-13.3.0/install/gcc/13.3.0/cmake-3.27.9-ah5n4og/bin/cmake -E cmake_progress_start /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs/test_prebuild/test_unit_conv/build/CMakeFiles 0
In unit_conv_scheme_1_run: checking min/max values of data array to be approximately   0.1000E+01
In unit_conv_scheme_1_run: checking for presence of optional data array
In unit_conv_scheme_1_run: checking min/max values of optional data array to be approximately   0.1000E+01
In unit_conv_scheme_2_run: checking min/max values of data array to be approximately   0.1000E-02
In unit_conv_scheme_2_run: checking for presence of optional data array
In unit_conv_scheme_2_run: checking min/max values of optional data array to be approximately   0.1000E-02
In unit_conv_scheme_1_run: checking min/max values of data array to be approximately   0.1000E+01
In unit_conv_scheme_1_run: checking for presence of optional data array
In unit_conv_scheme_1_run: checking min/max values of optional data array to be approximately   0.1000E+01

Running test_track_variables
============================= test session starts ==============================
platform linux -- Python 3.11.7, pytest-8.3.3, pluggy-1.5.0
rootdir: /home/dom/work/ccpp/ccpp-framework-main-20241009-prebuild-unitconv-bugs
configfile: pytest.ini
collected 5 items

test_track_variables.py .....                                            [100%]

============================== 5 passed in 0.11s ===============================
climbfuji commented 1 month ago

I agree its unnecessary to retest UFS since this is only for stand-alone testing. Thanks for fixing that.

Thanks for spotting those. I am also surprised that this only gave warnings, not errors.