CTSM icon indicating copy to clipboard operation
CTSM copied to clipboard

FUNITCTSM tests fail on Izumi due to a ccs_config update

Open ekluzek opened this issue 7 months ago • 1 comments

Brief summary of bug

With ESCOMP/CTSM#3125, the FUNITCTSM tests fail on Izumi due to an update for ccs_config in ccs_config_cesm1.0.42

General bug information

CTSM version you are using: ctsm5.3.045-181-g54e640b6

Does this bug cause significantly incorrect results in the model's science? [Yes / No]

Configurations affected: Just the PF unit testing and only on Izumi

Details of bug

FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izumi_intel

fails at build time (as well as when run by hand under the src directory).

This starts with ccs_config_cesm1.0.42

Important output or errors that show the problem

The error on build looks like this:

 ... Done.  Results in test_filterBuilder.F90
 ... Done.  Results in test_unittestArray.F90
 ... Done.  Results in test_quadratic.F90
 ... Done.  Results in test_unittestSubgrid.F90
 ... Done.  Results in test_annual_flux_dribbler.F90
 ... Done.  Results in test_find_k_max_indices.F90
 ... Done.  Results in test_truncate_small_values.F90
 ... Done.  Results in test_clm_time_manager.F90
[ 45%] Generating test_convert_to_logical.F90
[ 49%] Building Fortran object clm_utils_test/annual_flux_dribbler_test/CMakeFiles/annual_flux_dribbler.dir/annual_flux_dribbler_driver.F90.o
[ 50%] Building Fortran object clm_unit_test_shr_test/unittestSubgrid_test/CMakeFiles/unittestSubgrid.dir/test_unittestSubgrid.F90.o
[ 50%] Building Fortran object clm_unit_test_shr_test/unittestFilterBuilder_test/CMakeFiles/unittestFilterBuilder.dir/test_filterBuilder.F90.o
[ 50%] Building Fortran object clm_utils_test/clm_time_manager_test/CMakeFiles/clm_time_manager.dir/clm_time_manager_driver.F90.o
[ 50%] Building Fortran object clm_utils_test/quadratic_test/CMakeFiles/quadratic.dir/quadratic_driver.F90.o
[ 50%] Building Fortran object clm_unit_test_shr_test/unittestArray_test/CMakeFiles/unittestArray.dir/test_unittestArray.F90.o
[ 50%] Building Fortran object clm_utils_test/numerics_test/CMakeFiles/numerics.dir/numerics_driver.F90.o
Processing file ../../../../../../../../../fs/cgd/data0/erik/ctsm_worktree/externals_update/src/utils/test/array_utils_test/test_convert_to_logical.pf
 ... Done.  Results in test_convert_to_logical.F90
[ 50%] Building Fortran object clm_utils_test/array_utils_test/CMakeFiles/array_utils.dir/array_utils_driver.F90.o
[ 50%] Building Fortran object clm_utils_test/quadratic_test/CMakeFiles/quadratic.dir/test_quadratic.F90.o
[ 50%] Building Fortran object clm_utils_test/annual_flux_dribbler_test/CMakeFiles/annual_flux_dribbler.dir/test_annual_flux_dribbler.F90.o
[ 50%] Building Fortran object clm_utils_test/numerics_test/CMakeFiles/numerics.dir/test_truncate_small_values.F90.o
[ 51%] Building Fortran object clm_utils_test/clm_time_manager_test/CMakeFiles/clm_time_manager.dir/test_clm_time_manager.F90.o
[ 51%] Building Fortran object clm_utils_test/array_utils_test/CMakeFiles/array_utils.dir/test_convert_to_logical.F90.o
/scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izumi_intel.20250528_122148_6b5ugm/bld/__command_line_test__/__command_line_test__/clm_utils_test/annual_flux_dribbler_test//fs/cgd/data0/erik/ctsm_worktree/externals_update/src/utils/test/annual_flux_dribbler_test/test_annual_flux_dribbler.pf(133): warning #5462: Global name too long, shortened from: test_annual_flux_dribblerdeltaaddedmidyear_ignoredinlatertimesteps_mp_DELTA_SHOULD_BE_IGNORED to: st_annual_flux_dribblerdeltaaddedmidyear_ignoredinlatertimesteps_mp_DELTA_SHOULD_BE_IGNORED
    real(r8), parameter :: delta_should_be_ignored(1) = [3.e6_r8]
---------------------------^
[ 51%] Building Fortran object clm_unit_test_shr_test/unittestFilterBuilder_test/CMakeFiles/unittestFilterBuilder.dir/unittestFilterBuilder_driver.F90.o
[ 51%] Linking Fortran executable unittestFilterBuilder
ifort: error #10236: File not found:  '$(NETCDF_PATH)/lib/libnetcdff.a'
make[2]: *** [clm_unit_test_shr_test/unittestFilterBuilder_test/CMakeFiles/unittestFilterBuilder.dir/build.make:121: clm_unit_test_shr_test/unittestFilterBuilder_test/unittestFilterBuilder] Error 1
make[1]: *** [CMakeFiles/Makefile2:1898: clm_unit_test_shr_test/unittestFilterBuilder_test/CMakeFiles/unittestFilterBuilder.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

ekluzek avatar May 28 '25 22:05 ekluzek

A clarification... From what I can tell, I get the same error in .../run/funit.log using git describe: alpha-ctsm5.4.CMIP7.01.ctsm5.3.052-6-g3a8c43262 BUT ./cs.status shows the test failing in the RUN phase.

slevis-lmwg avatar Jun 02 '25 21:06 slevis-lmwg

Also for me in #3501, passing in MODEL_BUILD, still failing in RUN git describe: alpha-ctsm5.4.CMIP7.11.ctsm5.3.075-10-g1283fb7bd so I will update ExpectedTestFails.xml accordingly.

slevis-lmwg avatar Oct 01 '25 23:10 slevis-lmwg

I initially thought that #3577 solved this as I could run the PFUNIT testing in a sandbox on izumi, with the change. However, when running in tests it fails, and it fails when I delete the unit_tests.temp build directory. So this means if I have an existing build from when it was working -- it'll still work now.

What I get as an error now is the following (in either testing under src or in the FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izumi_intel unit test) is:

2025-10-31 12:50:42: ERROR: RUN FAIL for FUNIT
 ---------------------------------------------------
2025-10-31 12:52:27: Compiler is intel
copying /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/ccs_config/machines/cmake_macros/../izumi/nag_izumi.cmake to /scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp. izumi_intel.GC.ctsm5384izlist/bld/cmake_macros
copying /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/ccs_config/machines/cmake_macros/../izumi/pgi_izumi.cmake to /scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp. izumi_intel.GC.ctsm5384izlist/bld/cmake_macros
copying /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/ccs_config/machines/cmake_macros/../izumi/gnu_izumi.cmake to /scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp. izumi_intel.GC.ctsm5384izlist/bld/cmake_macros
copying /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/ccs_config/machines/cmake_macros/../izumi/izumi.cmake to /scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izum i_intel.GC.ctsm5384izlist/bld/cmake_macros
copying /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/ccs_config/machines/cmake_macros/../izumi/intel_izumi.cmake to /scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50S p.izumi_intel.GC.ctsm5384izlist/bld/cmake_macros
Setting resource.RLIMIT_STACK to -1 from (-1, -1)
Setting resource.RLIMIT_STACK to -1 from (-1, -1)
Using PFUNIT_PATH: /fs/cgd/csm/tools/pFUnit/pFUnit4.7.0_izumi_Intel20.0.1_noMPI_noOpenMP
Setting NETCDF environment variable: /usr/local/netcdf-c-4.7.4-f-4.5.2-intel-cluster-20.0.1
==================================================
Running cmake for __command_line_test__/__command_line_test__.
==================================================
ERROR: Command: 'cmake -C Macros.cmake /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/src -DCIMEROOT=/fs/cgd/data0/erik/ctsm_worktree/b4b-dev/cime/scripts/fortran_unit_testing/../ .. -DSRC_ROOT=/fs/cgd/data0/erik/ctsm_worktree/b4b-dev -DCIME_CMAKE_MODULE_DIRECTORY=/fs/cgd/data0/erik/ctsm_worktree/b4b-dev/cime/CIME/non_py/src/CMake -DCMAKE_BUILD_TYPE=C ESM_DEBUG -DCMAKE_PREFIX_PATH=/fs/cgd/csm/tools/pFUnit/pFUnit4.7.0_izumi_Intel20.0.1_noMPI_noOpenMP -DUSE_MPI_SERIAL=ON -DENABLE_GENF90=ON -DCMAKE_PROGRAM_PATH=/fs/cgd/data0 /erik/ctsm_worktree/b4b-dev/cime/scripts/fortran_unit_testing/../../CIME/non_py/externals/genf90 -DOS=LINUX -DMACH=izumi -DCOMPILER=intel -DDEBUG=TRUE -DMPILIB=mpi-serial -D compile_threaded=FALSE -DCASEROOT=/scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izumi_intel.GC.ctsm5384izlist/bld' failed with error 'loading initial cache  file Macros.cmake
No macro file found: /scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izumi_intel.GC.ctsm5384izlist/bld/cmake_macros/LINUX.cmake
No macro file found: /scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izumi_intel.GC.ctsm5384izlist/bld/cmake_macros/intel_LINUX.cmake
CMake Error at /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/cime/CIME/non_py/src/CMake/CIME_initial_setup.cmake:6 (include):
  include could not find requested file:

    /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/src/Macros.cmake
Call Stack (most recent call first):
  CMakeLists.txt:4 (include)


CMake Error at /fs/cgd/data0/erik/ctsm_worktree/b4b-dev/cime/CIME/non_py/src/CMake/CIME_initial_setup.cmake:8 (message):
  You must generate a Macros.cmake file using CIME's configure
Call Stack (most recent call first):
  CMakeLists.txt:4 (include)


-- Configuring incomplete, errors occurred!' from dir '/scratch/cluster/erik/FUNITCTSM_P1x1.f10_f10_mg37.I2000Clm50Sp.izumi_intel.GC.ctsm5384izlist/bld/__command_line_test__ /__command_line_test__'

So this continues to be a problem.

ekluzek avatar Oct 31 '25 19:10 ekluzek