forked from NOAA-EMC/fv3atm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'NOAA-EMC:develop' into develop
- Loading branch information
Showing
81 changed files
with
6,490 additions
and
966 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
# 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: | ||
build_spack: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
gcc_ver: ["12"] | ||
mpi: ["mpich", "openmpi"] | ||
|
||
steps: | ||
|
||
- name: checkout-fv3atm | ||
uses: actions/checkout@v4 | ||
with: | ||
path: ${{ github.workspace }}/fv3atm | ||
submodules: recursive | ||
|
||
- name: install-cmake | ||
run: | | ||
cd ${{ github.workspace }} | ||
curl -f -s -S -R -L https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-Linux-x86_64.tar.gz | tar -zx | ||
echo "${{ github.workspace }}/cmake-3.29.2-linux-x86_64/bin" >> $GITHUB_PATH | ||
- name: cache-spack | ||
id: cache-spack | ||
uses: actions/cache@v4 | ||
with: | ||
path: ${{ github.workspace }}/spack-develop | ||
key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }} | ||
|
||
# Building dependencies takes 40+ min | ||
- 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 | ||
. ${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 | ||
spack clean --all | ||
build_fv3atm: | ||
needs: build_spack | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
cmake_opts: ["-D32BIT=ON", "-D32BIT=OFF"] | ||
gcc_ver: ["12"] | ||
mpi: ["mpich", "openmpi"] | ||
|
||
steps: | ||
|
||
- name: install-doxygen | ||
run: | | ||
sudo apt-get install doxygen graphviz | ||
- name: install-cmake | ||
run: | | ||
cd ${{ github.workspace }} | ||
curl -f -s -S -R -L https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-Linux-x86_64.tar.gz | tar -zx | ||
echo "${{ github.workspace }}/cmake-3.29.2-linux-x86_64/bin" >> $GITHUB_PATH | ||
- name: checkout-fv3atm | ||
uses: actions/checkout@v4 | ||
with: | ||
path: ${{ github.workspace }}/fv3atm | ||
submodules: recursive | ||
|
||
- name: cache-spack | ||
id: cache-spack | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: ${{ github.workspace }}/spack-develop | ||
key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }} | ||
|
||
- 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 stochastic_physics_repo | ||
mkdir ${GITHUB_WORKSPACE}/build | ||
sed -i 's/doc /upp_doc /' upp/docs/CMakeLists.txt | ||
cd ${GITHUB_WORKSPACE}/build | ||
export CC=mpicc | ||
export CXX=mpicxx | ||
export FC=mpif90 | ||
cat /home/runner/work/fv3atm/fv3atm/spack-develop/opt/spack/linux-ubuntu22.04-zen2/gcc-12.3.0/fms-2023.04-*/lib/cmake/fms/fms-config.cmake | ||
cmake ${GITHUB_WORKSPACE}/fv3atm -DBUILD_TESTING=ON ${{ matrix.cmake_opts }} -DENABLE_DOCS=ON | ||
make -j2 | ||
ls -l /home/runner/work/fv3atm/fv3atm/fv3atm/io | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: docs-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }}-${{ matrix.cmake_opts }} | ||
path: | | ||
build/docs/html | ||
- name: debug-artifacts | ||
uses: actions/upload-artifact@v4 | ||
if: ${{ failure() }} | ||
with: | ||
name: ccpp_prebuild_logs-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }}-${{ matrix.cmake_opts }} | ||
path: ${{ github.workspace }}/build/ccpp/ccpp_prebuild.* | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule atmos_cubed_sphere
updated
15 files
+1 −1 | cmake/compiler_flags_Intel_Fortran.cmake | |
+75 −18 | driver/fvGFS/atmosphere.F90 | |
+6 −1 | model/fv_arrays.F90 | |
+21 −1 | model/fv_control.F90 | |
+1 −1 | model/fv_dynamics.F90 | |
+1 −0 | model/fv_nesting.F90 | |
+18 −18 | model/fv_regional_bc.F90 | |
+3 −13 | model/molecular_diffusion.F90 | |
+7 −17 | model/multi_gases.F90 | |
+6 −2 | tools/fv_grid_tools.F90 | |
+3 −3 | tools/fv_iau_mod.F90 | |
+5 −0 | tools/fv_nudge.F90 | |
+0 −2 | tools/fv_restart.F90 | |
+52 −15 | tools/module_diag_hailcast.F90 | |
+5 −4 | tools/test_cases.F90 |
Oops, something went wrong.