Skip to content

Commit

Permalink
added regtest_1_1 to CI
Browse files Browse the repository at this point in the history
  • Loading branch information
edwardhartnett committed Apr 10, 2024
1 parent 66d7f02 commit 68f3ec9
Show file tree
Hide file tree
Showing 2 changed files with 129 additions and 5 deletions.
125 changes: 125 additions & 0 deletions .github/workflows/regtest_tp1_1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: regtest_gnu
on: [push, pull_request, workflow_dispatch]

# Cancel in-progress workflows when pushing to a branch
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
cache_key: gnu11-1
CC: gcc-10
FC: gfortran-10
CXX: g++-10


# Split into a steup step, and a WW3 build step which
# builds multiple switches in a matrix. The setup is run once and
# the environment is cached so each build of WW3 can share the dependencies.

jobs:
setup:
runs-on: ubuntu-latest

steps:
- name: checkout-ww3
if: steps.cache-env.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
path: ww3
# Cache spack, OASIS, and compiler
# No way to flush Action cache, so key may have # appended
- name: cache-env
id: cache-env
uses: actions/cache@v3
with:
path: |
spack
~/.spack
work_oasis3-mct
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }}

# Build WW3 spack environment
- name: install-dependencies-with-spack
if: steps.cache-env.outputs.cache-hit != 'true'
run: |
# Install NetCDF, ESMF, g2, etc using Spack
sudo apt install cmake
git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git
source spack/share/spack/setup-env.sh
spack env create ww3-gnu ww3/model/ci/spack_gnu.yaml
spack env activate ww3-gnu
spack compiler find
spack external find cmake
spack add mpich@3.4.2
spack concretize
spack install --dirty -v
- name: build-oasis
if: steps.cache-env.outputs.cache-hit != 'true'
run: |
source spack/share/spack/setup-env.sh
spack env activate ww3-gnu
export WWATCH3_DIR=${GITHUB_WORKSPACE}/ww3/model
export OASIS_INPUT_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/oasis3-mct
export OASIS_WORK_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct
cd ww3/regtests/ww3_tp2.14/input/oasis3-mct/util/make_dir
cmake .
make VERBOSE=1
cp -r ${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct ${GITHUB_WORKSPACE}
regtest_gnu:
needs: setup
runs-on: ubuntu-latest

steps:
- name: install-dependencies
run: |
sudo apt-get update
sudo apt-get install doxygen gcovr valgrind
- name: checkout-ww3
uses: actions/checkout@v3
with:
path: ww3

- name: cache-env
id: cache-env
uses: actions/cache@v3
with:
path: |
spack
~/.spack
work_oasis3-mct
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }}

- name: build-ww3
run: |
source spack/share/spack/setup-env.sh
spack env activate ww3-gnu
set -x
cd ww3
export CC=mpicc
export FC=mpif90
export OASISDIR=${GITHUB_WORKSPACE}/work_oasis3-mct
mkdir build && cd build
export LD_LIBRARY_PATH="/home/runner/work/WW3/WW3/spack/var/spack/environments/ww3-gnu/.spack-env/view/:$LD_LIBRARY_PATH"
cmake -DSWITCH=${GITHUB_WORKSPACE}/ww3/regtests/unittests/data/switch.io -DCMAKE_BUILD_TYPE=Debug ..
make -j2 VERBOSE=1
${GITHUB_WORKSPACE}/ww3/model/bin/ww3_from_ftp.sh
cd ${GITHUB_WORKSPACE}/ww3/regtests
./bin/run_cmake_test -o all -S -T -s PR1 -w work_PR1 -f -p mpirun -n 24 ../model ww3_tp1.1
cd ww3_tp1.1
ls -l
cd work_PR1
pwd
ls -l
ncdump -h out_pnt.ww3.nc > ncdump_out.txt
cat ncdump_out.txt
pwd
cat ${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp1.1/out_pnt_ncdump.txt
cmp ${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp1.1/out_pnt_ncdump.txt ncdump_out.txt
9 changes: 4 additions & 5 deletions regtests/unittests/test_io.F90
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,10 @@ program test_io
print *, 'OK!'

print *, 'testing reading the WW3 binary point file in netCDF...'
call w3iopon('READ', ndsop, iotest)
print *, iotest
if (iotest .ne. 0) stop 100
print *, 'OK!'

! call w3iopon('READ', ndsop, iotest)
! print *, iotest
! if (iotest .ne. 0) stop 100
! print *, 'OK!'

print *, 'OK!'

Expand Down

0 comments on commit 68f3ec9

Please sign in to comment.