From 754531f106adb3b35151f1ccdb9f9ba560729eef Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Wed, 6 Dec 2023 12:34:34 -0800 Subject: [PATCH 01/13] get 'uppercase' from mpp_mod in io/module_wrt_grid_comp.F90 --- io/module_wrt_grid_comp.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io/module_wrt_grid_comp.F90 b/io/module_wrt_grid_comp.F90 index b59fe5e45..5ca68f0da 100644 --- a/io/module_wrt_grid_comp.F90 +++ b/io/module_wrt_grid_comp.F90 @@ -29,7 +29,7 @@ module module_wrt_grid_comp use mpi use esmf use fms - use mpp_mod, only : mpp_init ! needed for fms 2023.02 + use mpp_mod, only : mpp_init, uppercase ! needed for fms 2023.02 use write_internal_state use module_fv3_io_def, only : num_pes_fcst, & From 8d3927c3c9539c246f08ec79cf018df8fc06e511 Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Wed, 6 Dec 2023 12:34:13 -0800 Subject: [PATCH 02/13] Add GCC-based CI build --- .github/workflows/GCC.yml | 90 +++++++++++++++++++ CMakeLists.txt | 8 +- ci/CMakeLists.txt | 63 +++++++++++++ ci/spack.yaml | 18 ++++ .../stochastic_physics_wrapper.F90 | 0 5 files changed, 178 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/GCC.yml create mode 100644 ci/CMakeLists.txt create mode 100644 ci/spack.yaml rename {stochastic_physics => stochastic_physics_wrapper}/stochastic_physics_wrapper.F90 (100%) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml new file mode 100644 index 000000000..670c10adc --- /dev/null +++ b/.github/workflows/GCC.yml @@ -0,0 +1,90 @@ +# This is a CI workflow for the fv3atm project. +# +# This workflow builds and tests the fv3atm library using GCC, and it tests +# different CMake build options. +# +# Alex Richert, 6 Dec 2023 + +name: GCC +on: + push: + branches: + - develop + pull_request: + branches: + - develop + +jobs: + GCC: + runs-on: ubuntu-latest + + strategy: + matrix: + cmake_opts: ["-D32BIT=ON", "-D32BIT=OFF"] + gcc_ver: ["11"] + mpi: ["mpich"] + + steps: + + - name: install-mpi + run: | + sudo apt-get install lib${{ matrix.mpi }}-dev + + - name: checkout-fv3atm + uses: actions/checkout@v3 + with: + path: ${{ github.workspace }}/fv3atm + submodules: recursive + + - name: cache-spack + id: cache-spack + uses: actions/cache@v3 + with: + path: ${{ github.workspace }}/spack-develop + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-1 + + - name: spack-install + if: steps.cache-spack.outputs.cache-hit != 'true' + run: | + wget --no-verbose https://github.com/spack/spack/archive/refs/heads/develop.zip + unzip develop.zip -d ${GITHUB_WORKSPACE}/ &> unzip.out + # temporary fix (https://github.com/spack/spack/pull/41475) + wget https://raw.githubusercontent.com/AlexanderRichert-NOAA/spack/e9b6ada157a65a486eb1e039fdbfe66c9eebb842/var/spack/repos/builtin/packages/fms/package.py + mv package.py ${GITHUB_WORKSPACE}/spack-develop/var/spack/repos/builtin/packages/fms/package.py + # + . ${GITHUB_WORKSPACE}/spack-develop/share/spack/setup-env.sh + spack env create gcc${{ matrix.gcc_ver }} ${GITHUB_WORKSPACE}/fv3atm/ci/spack.yaml + spack env activate gcc${{ matrix.gcc_ver }} + spack compiler find | grep gcc@${{ matrix.gcc_ver }} + spack external find gmake cmake git git-lfs perl python ${{ matrix.mpi }} + spack config add "packages:all:require:['%gcc@${{ matrix.gcc_ver }}']" + spack config add "packages:mpi:require:'${{ matrix.mpi }}'" + spack concretize |& tee ${SPACK_ENV}/log.concretize + spack install -j2 --fail-fast + + - name: cache-save + uses: actions/cache/save@v3 + if: ${{ always() }} + with: + path: ${{ github.workspace }}/spack-develop + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-1 + + - name: build-fv3atm + run: | + . ${GITHUB_WORKSPACE}/spack-develop/share/spack/setup-env.sh + spack env activate gcc${{ matrix.gcc_ver }} + spack load $(spack find --format "{name}") + cd ${GITHUB_WORKSPACE}/fv3atm + git clone https://github.com/NOAA-EMC/CMakeModules + git clone --recurse-submodules https://github.com/NOAA-PSL/stochastic_physics + mkdir ${GITHUB_WORKSPACE}/build + cd ${GITHUB_WORKSPACE}/build + cmake ${GITHUB_WORKSPACE}/fv3atm -DBUILD_TESTING=ON ${{ matrix.cmake_opts }} + make -j2 + + - name: debug-artifacts + uses: actions/upload-artifact@v3 + if: ${{ failure() }} + with: + name: ccpp_prebuild_logs + path: ${{ github.workspace }}/build/ccpp/ccpp_prebuild.* diff --git a/CMakeLists.txt b/CMakeLists.txt index 549738794..f5d86663b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,9 @@ +# Enable CI build & unit testing: +if(BUILD_TESTING) + cmake_minimum_required(VERSION 3.19) + project(fv3atm VERSION 1.0 LANGUAGES C CXX Fortran) + include(ci/CMakeLists.txt) +endif() ############################################################################### ### CCPP @@ -81,7 +87,7 @@ add_library(fv3atm fv3_cap.F90 module_fv3_config.F90 module_fcst_grid_comp.F90 - stochastic_physics/stochastic_physics_wrapper.F90 + stochastic_physics_wrapper/stochastic_physics_wrapper.F90 cpl/module_block_data.F90 cpl/module_cplfields.F90 cpl/module_cap_cpl.F90 diff --git a/ci/CMakeLists.txt b/ci/CMakeLists.txt new file mode 100644 index 000000000..0bfe7680e --- /dev/null +++ b/ci/CMakeLists.txt @@ -0,0 +1,63 @@ +list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules/Modules) + +if(${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") + if(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 9.0.0) + message(FATAL_ERROR "GNU Compiler >= 9 is required") + endif() + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") + + if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") + endif() + + if(NOT 32BIT) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdefault-real-8 -fdefault-double-8") + endif() +elseif(${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -nowarn -sox -align array64byte -qno-opt-dynamic-align") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qno-opt-dynamic-align -sox -fp-model source") + set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -debug minimal -qoverride-limits") + set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fp-model consistent") + set(CMAKE_C_FLAGS_RELEASE "-O2 -debug minimal") + + if(NOT 32BIT) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -real-size 64") + endif() +endif() + +set(32BIT OFF CACHE BOOL "Enable 32BIT (single precision arithmetic in dycore and fast physics)") +set(CCPP_32BIT OFF CACHE BOOL "Enable CCPP_32BIT (single precision arithmetic in slow physics)") +set(INLINE_POST ON CACHE BOOL "Enable inline post") +set(MULTI_GASES OFF CACHE BOOL "Enable MULTI_GASES") +set(MOVING_NEST OFF CACHE BOOL "Enable moving nest code") +set(OPENMP ON CACHE BOOL "Enable OpenMP threading") +set(PARALLEL_NETCDF OFF CACHE BOOL "Enable parallel NetCDF") + +message("32BIT ............ ${32BIT}") +message("CCPP_32BIT ....... ${CCPP_32BIT}") +message("INLINE_POST ...... ${INLINE_POST}") +message("MULTI_GASES ...... ${MULTI_GASES}") +message("MOVING_NEST ...... ${MOVING_NEST}") +message("OPENMP ........... ${OPENMP}") +message("PARALLEL_NETCDF .. ${PARALLEL_NETCDF}") + +find_package(MPI REQUIRED) +if(OPENMP) + find_package(OpenMP REQUIRED) +endif() + +find_package(NetCDF 4.7.4 REQUIRED C Fortran) +find_package(ESMF 8.3.0 MODULE REQUIRED) +find_package(FMS 2022.04 REQUIRED COMPONENTS R4 R8) +if(32BIT) + add_library(fms ALIAS FMS::fms_r4) +else() + add_library(fms ALIAS FMS::fms_r8) +endif() +find_package(bacio 2.4.0 REQUIRED) +find_package(sp 2.3.3 REQUIRED) +find_package(w3emc 2.9.2 REQUIRED) + +find_package(Python 3.6 REQUIRED COMPONENTS Interpreter) + +add_subdirectory(stochastic_physics) diff --git a/ci/spack.yaml b/ci/spack.yaml new file mode 100644 index 000000000..4c183f80e --- /dev/null +++ b/ci/spack.yaml @@ -0,0 +1,18 @@ +spack: + specs: + - w3emc@2.10.0 precision=4,d,8 + - ip@develop precision=4,d,8 + - sp@2.4.0 precision=4,d,8 + - bacio@2.4.1 + - upp@develop + - esmf@8.4.2 + - fms@2023.04 +gfs_phys +openmp +pic +quad_precision +deprecated_io constants=GFS precision=32,64 + - netcdf-c ~blosc + view: false + concretizer: + unify: true + packages: + mpich: + require: ['~libxml2 ~hwloc ~pci'] + yaksa: + buildable: false diff --git a/stochastic_physics/stochastic_physics_wrapper.F90 b/stochastic_physics_wrapper/stochastic_physics_wrapper.F90 similarity index 100% rename from stochastic_physics/stochastic_physics_wrapper.F90 rename to stochastic_physics_wrapper/stochastic_physics_wrapper.F90 From 8c1fac884c86a487956cff80bde3e51b979f378d Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Wed, 6 Dec 2023 18:53:02 -0800 Subject: [PATCH 03/13] note dep build time in GCC CI --- .github/workflows/GCC.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 670c10adc..2ecb122b7 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -43,6 +43,7 @@ jobs: path: ${{ github.workspace }}/spack-develop key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-1 + # Building dependencies takes 40+ min - name: spack-install if: steps.cache-spack.outputs.cache-hit != 'true' run: | From 435bccde9f65085ac3a1f2146907357cc221790f Mon Sep 17 00:00:00 2001 From: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com> Date: Thu, 7 Dec 2023 14:28:50 -0800 Subject: [PATCH 04/13] Update CMakeLists.txt --- ci/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ci/CMakeLists.txt b/ci/CMakeLists.txt index 0bfe7680e..48b356914 100644 --- a/ci/CMakeLists.txt +++ b/ci/CMakeLists.txt @@ -1,3 +1,8 @@ +# This file is used by fv3atm's root CMakeLists.txt when BUILD_TESTING=ON. It is +# used for CI runs and is based on the ufs-weather-model root CMakeLists.txt. It +# cannot be built directly, and should not be used for compiling for general R&D +# or operations. + list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules/Modules) if(${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") From ca53742ce1588ce908f28bd2ccd4bb321ad33e9d Mon Sep 17 00:00:00 2001 From: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com> Date: Thu, 7 Dec 2023 14:41:52 -0800 Subject: [PATCH 05/13] Update spack.yaml --- ci/spack.yaml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ci/spack.yaml b/ci/spack.yaml index 4c183f80e..3009df05a 100644 --- a/ci/spack.yaml +++ b/ci/spack.yaml @@ -1,3 +1,12 @@ +# This file is used in the CI to define the libraries needed to build fv3atm. It +# is used by the 'spack env create' command to generate a Spack environment. It +# is generally preferred to avoid defining settings here that are not shared +# across CI workflows, such as requiring the use of a specific compiler. Any +# such modifications should be done in the appropriate CI workflow using the +# 'spack config add' command, or with search-and-replace. +# WARNING: Changing this file will automatically cause the cached Spack builds +# in GitHub Actions to be regenerated, which takes a considerable amount of +# time. spack: specs: - w3emc@2.10.0 precision=4,d,8 @@ -7,12 +16,12 @@ spack: - upp@develop - esmf@8.4.2 - fms@2023.04 +gfs_phys +openmp +pic +quad_precision +deprecated_io constants=GFS precision=32,64 - - netcdf-c ~blosc + - netcdf-c@4.9.2 ~blosc view: false concretizer: unify: true packages: mpich: - require: ['~libxml2 ~hwloc ~pci'] + require: ['~libxml2 ~hwloc ~pci'] # minimize unneeded dependencies yaksa: - buildable: false + buildable: false # minimize unneeded dependencies From 08d8e10a1d3c58249c1671ec133b560ba62651ff Mon Sep 17 00:00:00 2001 From: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com> Date: Thu, 7 Dec 2023 17:54:00 -0800 Subject: [PATCH 06/13] Update CMakeLists.txt --- ci/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/CMakeLists.txt b/ci/CMakeLists.txt index 48b356914..f64bceb8a 100644 --- a/ci/CMakeLists.txt +++ b/ci/CMakeLists.txt @@ -2,6 +2,8 @@ # used for CI runs and is based on the ufs-weather-model root CMakeLists.txt. It # cannot be built directly, and should not be used for compiling for general R&D # or operations. +# +# Alex Richert, 6 Dec 2023 list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules/Modules) From 06d17f720234adefa05b4ae96bd173d280ff03cd Mon Sep 17 00:00:00 2001 From: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com> Date: Thu, 7 Dec 2023 17:54:20 -0800 Subject: [PATCH 07/13] Update spack.yaml --- ci/spack.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/spack.yaml b/ci/spack.yaml index 3009df05a..400b7e06b 100644 --- a/ci/spack.yaml +++ b/ci/spack.yaml @@ -7,6 +7,8 @@ # WARNING: Changing this file will automatically cause the cached Spack builds # in GitHub Actions to be regenerated, which takes a considerable amount of # time. +# +# Alex Richert, 6 Dec 2023 spack: specs: - w3emc@2.10.0 precision=4,d,8 From ca9476729456a854081c78b90586220df8e8ab7f Mon Sep 17 00:00:00 2001 From: Brian Curtis Date: Mon, 11 Dec 2023 19:11:26 +0000 Subject: [PATCH 08/13] switch to use fms implementation of mpp --- io/module_wrt_grid_comp.F90 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/io/module_wrt_grid_comp.F90 b/io/module_wrt_grid_comp.F90 index b59fe5e45..10df8b51d 100644 --- a/io/module_wrt_grid_comp.F90 +++ b/io/module_wrt_grid_comp.F90 @@ -29,7 +29,6 @@ module module_wrt_grid_comp use mpi use esmf use fms - use mpp_mod, only : mpp_init ! needed for fms 2023.02 use write_internal_state use module_fv3_io_def, only : num_pes_fcst, & @@ -254,7 +253,6 @@ subroutine wrt_initialize_p1(wrt_comp, imp_state_write, exp_state_write, clock, lprnt = lead_write_task == wrt_int_state%mype call fms_init(wrt_mpi_comm) - call mpp_init() ! print *,'in wrt, lead_write_task=', & ! lead_write_task,'last_write_task=',last_write_task, & @@ -1337,7 +1335,7 @@ subroutine wrt_initialize_p1(wrt_comp, imp_state_write, exp_state_write, clock, ! save calendar_type (as integer) for use in 'coupler.res' if (index(trim(attNameList(i)),'time:calendar') > 0) then - select case( uppercase(trim(valueS)) ) + select case( fms_mpp_uppercase(trim(valueS)) ) case( 'JULIAN' ) calendar_type = JULIAN case( 'GREGORIAN' ) @@ -1349,7 +1347,7 @@ subroutine wrt_initialize_p1(wrt_comp, imp_state_write, exp_state_write, clock, case( 'NO_CALENDAR' ) calendar_type = NO_CALENDAR case default - call mpp_error ( FATAL, 'fcst_initialize: calendar must be one of '// & + call fms_mpp_error ( FATAL, 'fcst_initialize: calendar must be one of '// & 'JULIAN|GREGORIAN|NOLEAP|THIRTY_DAY|NO_CALENDAR.' ) end select endif From 01bb3e28eca97bd43c66c82d513c10b993803bb3 Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Thu, 4 Jan 2024 08:36:37 -0800 Subject: [PATCH 09/13] revert stoch phys name change --- CMakeLists.txt | 2 +- .../stochastic_physics_wrapper.F90 | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename {stochastic_physics_wrapper => stochastic_physics}/stochastic_physics_wrapper.F90 (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5d86663b..bd40d09df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,7 +87,7 @@ add_library(fv3atm fv3_cap.F90 module_fv3_config.F90 module_fcst_grid_comp.F90 - stochastic_physics_wrapper/stochastic_physics_wrapper.F90 + stochastic_physics/stochastic_physics_wrapper.F90 cpl/module_block_data.F90 cpl/module_cplfields.F90 cpl/module_cap_cpl.F90 diff --git a/stochastic_physics_wrapper/stochastic_physics_wrapper.F90 b/stochastic_physics/stochastic_physics_wrapper.F90 similarity index 100% rename from stochastic_physics_wrapper/stochastic_physics_wrapper.F90 rename to stochastic_physics/stochastic_physics_wrapper.F90 From d0a7c24ed3d88eaa448712eeaee92230bdce5b88 Mon Sep 17 00:00:00 2001 From: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com> Date: Thu, 4 Jan 2024 11:25:47 -0800 Subject: [PATCH 10/13] Update GCC.yml (remove fms recipe workaround) --- .github/workflows/GCC.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 2ecb122b7..c44711a1d 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -49,10 +49,6 @@ jobs: run: | wget --no-verbose https://github.com/spack/spack/archive/refs/heads/develop.zip unzip develop.zip -d ${GITHUB_WORKSPACE}/ &> unzip.out - # temporary fix (https://github.com/spack/spack/pull/41475) - wget https://raw.githubusercontent.com/AlexanderRichert-NOAA/spack/e9b6ada157a65a486eb1e039fdbfe66c9eebb842/var/spack/repos/builtin/packages/fms/package.py - mv package.py ${GITHUB_WORKSPACE}/spack-develop/var/spack/repos/builtin/packages/fms/package.py - # . ${GITHUB_WORKSPACE}/spack-develop/share/spack/setup-env.sh spack env create gcc${{ matrix.gcc_ver }} ${GITHUB_WORKSPACE}/fv3atm/ci/spack.yaml spack env activate gcc${{ matrix.gcc_ver }} From b73d8046bd744f1d897096c27184451ad047f53d Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Thu, 4 Jan 2024 12:18:46 -0800 Subject: [PATCH 11/13] rename stochastic_physics repo dir->stochastic_physics_repo --- .github/workflows/GCC.yml | 2 +- ci/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index c44711a1d..a5f058340 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -73,7 +73,7 @@ jobs: spack load $(spack find --format "{name}") cd ${GITHUB_WORKSPACE}/fv3atm git clone https://github.com/NOAA-EMC/CMakeModules - git clone --recurse-submodules https://github.com/NOAA-PSL/stochastic_physics + git clone --recurse-submodules https://github.com/NOAA-PSL/stochastic_physics stochastic_physics_repo mkdir ${GITHUB_WORKSPACE}/build cd ${GITHUB_WORKSPACE}/build cmake ${GITHUB_WORKSPACE}/fv3atm -DBUILD_TESTING=ON ${{ matrix.cmake_opts }} diff --git a/ci/CMakeLists.txt b/ci/CMakeLists.txt index f64bceb8a..71412b3af 100644 --- a/ci/CMakeLists.txt +++ b/ci/CMakeLists.txt @@ -67,4 +67,4 @@ find_package(w3emc 2.9.2 REQUIRED) find_package(Python 3.6 REQUIRED COMPONENTS Interpreter) -add_subdirectory(stochastic_physics) +add_subdirectory(stochastic_physics_repo) From 435f4d08f2017e4a44251a907b5d5052519487b0 Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Thu, 4 Jan 2024 12:53:18 -0800 Subject: [PATCH 12/13] remove apt mpi installation --- .github/workflows/GCC.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index a5f058340..a5f126e49 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -26,10 +26,6 @@ jobs: steps: - - name: install-mpi - run: | - sudo apt-get install lib${{ matrix.mpi }}-dev - - name: checkout-fv3atm uses: actions/checkout@v3 with: From e993d1596395a37987d2f644d3f2c03a03862fe8 Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Thu, 4 Jan 2024 13:02:29 -0800 Subject: [PATCH 13/13] increment cache key --- .github/workflows/GCC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index a5f126e49..3fb022bae 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -37,7 +37,7 @@ jobs: uses: actions/cache@v3 with: path: ${{ github.workspace }}/spack-develop - key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-1 + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-2 # Building dependencies takes 40+ min - name: spack-install @@ -60,7 +60,7 @@ jobs: if: ${{ always() }} with: path: ${{ github.workspace }}/spack-develop - key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-1 + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-2 - name: build-fv3atm run: |