Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
17a4e32
Bugfix - initialised VD and VS to zero in w3srcemd. (#1037)
ukmo-ccbunney Jul 7, 2023
2514633
More efficient test for binary files in matrix.comp (#1035)
ukmo-ccbunney Jul 7, 2023
4d8c315
Tidy up of pre-processor directives and unused variables in w3srcemd.…
ukmo-ccbunney Jul 11, 2023
02cb72f
Correct typo in w3srcemd.F90 pre-processor directive. (#1039)
ukmo-ccbunney Jul 14, 2023
1cacc43
minor bugfix for matrix grepping on keywords (#1049)
mickaelaccensi Jul 31, 2023
dcafc8c
Stop masking group 1 output where icec > icen (#1019)
benoitp-cmc Aug 4, 2023
2715a9e
Doxygen documentation added, 8th subset.(#1046)
MatthewMasarik-NOAA Aug 7, 2023
b810a89
NC4 ,F90 ,XX0 switches removed from ww3_tp2.19 regtest (#1054)
Ghazal-Mohammadpour Aug 11, 2023
991daf8
CI: Fix for Intel scripts. GNU scripts updated. (#1064)
MatthewMasarik-NOAA Sep 2, 2023
6b9edfa
correct the computation of QP parameter, add QKK output parameter, ch…
mickaelaccensi Sep 14, 2023
8589d12
correct issue with ww3_multi when requesting restart2 and using nml f…
mickaelaccensi Sep 21, 2023
7bbdaca
correct calendar for track netcdf output (#1079)
mickaelaccensi Sep 22, 2023
b1356dd
Fix missing mod_def.ww3 file in multigrid regression tests for track …
ukmo-ccbunney Oct 10, 2023
d22b7bb
STAB3: fix cmake build for ST4 or ST3 (#1086)
MatthewMasarik-NOAA Oct 10, 2023
eff6686
new feature to output out_grd.ww3, out_pnt.ww3 and mod_def.ww3 both i…
mickaelaccensi Oct 12, 2023
d148d09
Update local unit number arrays (NDS, MDS) to be same size of array d…
ukmo-ccbunney Oct 16, 2023
66262f6
Removed code referencing PHIOC in output section for PHICE in ww3_oun…
ukmo-ccbunney Oct 18, 2023
8eb3596
implementation of the GQM (Gaussian Quadrature Method) to replace the…
mickaelaccensi Oct 19, 2023
4cd995d
update logic to ensure you are not accessing uninitialized dates (#1114)
JessicaMeixner-NOAA Oct 31, 2023
c3451a9
Initialised S and D arrays in W3SDB1 before potential early return if…
ukmo-ccbunney Nov 1, 2023
f702a8f
ww3_ounp.F90: x/y units attribute corrected from 'm' to 'km' (#1088)
Biao-Zhao Nov 2, 2023
1f928aa
Bugfix: Assign unit numbers to ASCII gridded/point output in multi-gr…
ukmo-ccbunney Nov 6, 2023
d90078b
correct bugs to run correctly GQM implementation (#1127)
mickaelaccensi Nov 28, 2023
3f35df7
Adding documentation to w3iopo() in preparation for code for #682. (#…
edwardhartnett Nov 30, 2023
ff1b9e9
NCEP regtest module updates: uses spack-stack/1.5.0, includes scotch/…
MatthewMasarik-NOAA Dec 7, 2023
d3ea810
Minor update to ncep regtests (#1138)
JessicaMeixner-NOAA Dec 12, 2023
88c89be
Updated intel workflow to install oneapi compilers from new location.…
edwardhartnett Dec 26, 2023
7bec560
Add unit test for points I/O code. (#1158)
edwardhartnett Jan 4, 2024
63f8270
Update Intel CI (relocate /usr/local; ensure intel-oneapi-mpi; use ub…
AlexanderRichert-NOAA Jan 11, 2024
3952826
remove lookup table for ST4 to speed up computation and clean up the …
mickaelaccensi Jan 16, 2024
026fcdd
initialize USSP_WN for mod_def (#1165)
JessicaMeixner-NOAA Jan 22, 2024
9a718fc
Introduce IC4M8 and IC4M9 to WW3 (#1176)
ErickRogers Jan 23, 2024
ff0358a
clean up and add ST4 variables (#1181)
mickaelaccensi Jan 25, 2024
ba5cd68
w3fld1md.F90: fix divide by zero in CRIT2 parameter (#1184)
MatthewMasarik-NOAA Feb 5, 2024
fd6d559
ww3_prnc.F90: fix out-of-scope grid index write statement (#1185)
MatthewMasarik-NOAA Feb 5, 2024
6d42025
Bugfix: address potential divide-by-zero in APPENDTAIL (#1188)
MatthewMasarik-NOAA Feb 15, 2024
e085bcf
Provide initial drying of cells with depth < ZLIM for SMC grid. (#1192)
ukmo-ccbunney Feb 23, 2024
156a46d
Output OMP threading info to screen when running ww3_shel/ww3_multi c…
ukmo-ccbunney Mar 11, 2024
9d3799f
update run_cmake_test to catch build errors and exit (#1194)
JessicaMeixner-NOAA Mar 12, 2024
e064dbf
Adds 360_day calendar support to ww3_prnc (#1193)
ukmo-ccbunney Mar 13, 2024
f66b6d4
Fix compiler build 'remark's (#1201)
MatthewMasarik-NOAA Mar 13, 2024
399df78
For NCEP regtests, add option for gnu compiler and new machine Hercul…
JessicaMeixner-NOAA Apr 2, 2024
d8b82c9
Fix compiler remarks for ST6 and GMD (#1206)
JessicaMeixner-NOAA Apr 2, 2024
8b5e91f
add output parameters for skewness (#1209)
mickaelaccensi Apr 4, 2024
c13d0b1
Add ice time variables to restart file (#1224)
JessicaMeixner-NOAA May 9, 2024
14e6bed
Functional form of Charnock calculation in ST4. (#1225)
ukmo-ccbunney May 10, 2024
629d27a
Add option to use NetCDF output instead of binary for point output (…
JessicaMeixner-NOAA Jun 14, 2024
f22c38a
Fix GNU regtest CI failure (#1253)
MatthewMasarik-NOAA Jun 24, 2024
af38c43
Fix code stability issue in ww3_outp (#1258)
MatthewMasarik-NOAA Jul 3, 2024
ca58c13
Updates to NCEP regtests for Orion Rocky9 OS(#1263)
MatthewMasarik-NOAA Jul 15, 2024
a2c086e
Add depth scaling value to SMC regression tests. (#1264)
ukmo-ccbunney Jul 19, 2024
b4e119e
Simplify MPI ifdefs in subroutine W3MPIO (#1266)
JessicaMeixner-NOAA Jul 19, 2024
abc77b9
Enable doxygen documentation in the cmake build system (#1281)
MatthewMasarik-NOAA Aug 1, 2024
7705171
README.md: update with link to doxygen documentation (#1316)
MatthewMasarik-NOAA Nov 8, 2024
bd7b90d
ww3_ufs1.x: fix typo in switch_MPI_OMPH (#1323)
MatthewMasarik-NOAA Nov 25, 2024
b7afba7
Fixing uninitialized issues within the implicit scheme (#1142)
aronroland Dec 12, 2024
d1fdda9
IC4M10: New wave damping scheme in sea ice (#1293)
erinethomas Dec 12, 2024
d82913b
Addition of Regression Test (ww3_tic1.1/IC4_M10) (#1331)
sbanihash Dec 12, 2024
488e3c8
Update IS_IN_UNGRID to handle if grid lon defintions are mismatched (…
JessicaMeixner-NOAA Dec 13, 2024
e82df78
Optional point weight file (pnt_wght.ww3.nc) for unstructured grid to…
JessicaMeixner-NOAA Dec 20, 2024
e409f81
Fix indentation in w3wave and w3iogomd (#1339)
JessicaMeixner-NOAA Jan 14, 2025
2681f7b
bug fix to have save point weight file be different name (#1357)
JessicaMeixner-NOAA Feb 8, 2025
de282b4
Rewrite the cpl_oasis_grid subroutine for better performance and to u…
ukmo-juan-castillo Feb 10, 2025
2178a7b
Change the orange to points partition OASIS decomposition (#1361)
ukmo-juan-castillo Feb 12, 2025
ce6b8b6
Initialize SATINDICES=1 instead of 0 (#1368)
JessicaMeixner-NOAA Feb 13, 2025
a27375f
Gulf of America (#1376)
JessicaMeixner-NOAA Feb 14, 2025
aaff457
User-defined path feature development (#1369)
mingchen-NOAA Feb 14, 2025
a8819a3
Increase the sizes of OUTFF and OFILES (#1379)
adarmenov Mar 4, 2025
de828ac
Write log files to indicate output files have been fully written (#1378)
mingchen-NOAA Mar 5, 2025
af3c7e1
improve user-defined directory feature so / is not required at the en…
mingchen-NOAA Mar 10, 2025
005d3aa
Optimized ww3_outp for the netcdf point output (#1365)
AliS-Noaa Mar 14, 2025
e0ceda9
Update w3srcemd.F90 to correct bug related to TR1 (#1384)
Biao-Zhao Mar 17, 2025
528cfed
Fix a typo which breaks the build of the manual. (#1396)
pvc1989 Mar 17, 2025
b9ab69b
correct the attributes on p2l output variable (#1395)
mickaelaccensi Mar 19, 2025
6c8491a
Calculate ww3_bounc Angular distances with haversines and utilize ver…
dahonegger Mar 25, 2025
c0b0160
Updated Numerical Solution for Wave Attenuation in sea ice (#1294)
erinethomas Mar 26, 2025
0a9e10f
update scrip_remap_conservative to use MPI (#1268)
jcwarner-usgs Mar 26, 2025
d6c52ea
Bug fix for #1412 for IC_NUMERICS (#1413)
sbanihash Apr 29, 2025
3e94f85
Define ETOT and FMEAN2 in double precision and use single precision C…
JessicaMeixner-NOAA May 15, 2025
93ee103
develop: Fix hang bug by updating MPI bcast to be from 0 not IAPROC-1…
JessicaMeixner-NOAA May 19, 2025
5e7a41a
correct bottom friction computation in BT4 based on CREST model formu…
mickaelaccensi May 20, 2025
351119b
MPI flags always added when OASIS is compiled (#1437)
MHBalsmeier May 22, 2025
f27fe03
correction of lambda computation (#1439)
mickaelaccensi May 27, 2025
0a0fccb
Changed order of statements in CMakeLists.txt (#1440)
MHBalsmeier May 28, 2025
e88ae71
correct field exchange for air density if provided as homogeneous inp…
mickaelaccensi May 29, 2025
6547023
New regtest matrix for the Met Office EX supercomputer (#1448)
ukmo-juan-castillo Jun 9, 2025
1cca7c5
Upgrade WW3 to Spack‑Stack 1.9.2 and add support for Ursa (#1462)
mingchen-NOAA Jul 21, 2025
d6160ab
Removal of labelled statements (#1457)
ukmo-juan-castillo Jul 23, 2025
e7bacf5
Fix uninitialized TRHO in W3IORS for consistent restart files (#1472)
mingchen-NOAA Jul 25, 2025
760af3b
Updates for SCOTCH 7.0.7
JessicaMeixner-NOAA Jul 25, 2025
8c19f2e
adding the possibility to set the fetch that is used by the fetch-lim…
MHBalsmeier Jul 28, 2025
1d58d7c
Add -check all -check noarg_temp_created -ftrapuv flags to intel DEBU…
JessicaMeixner-NOAA Jul 28, 2025
aa7c2d7
Fix 3/2 integer division in W3FLD1
JessicaMeixner-NOAA Jul 28, 2025
c5780b8
Fix uninitialized FLOGRR for consistent restart files (#1478)
mingchen-NOAA Jul 31, 2025
1b77ef2
Bugfix regarding JONSWAP initialization
MHBalsmeier Aug 13, 2025
643cb5a
branch=IC4_safety_fix
ErickRogers Aug 20, 2025
3788ad4
Update CMAKE so that OASIS requires MPI (#1490)
JessicaMeixner-NOAA Sep 4, 2025
814c1a4
Correct the OASIS SMC grid by shifting one grid cell to the south-wes…
ukmo-juan-castillo Sep 4, 2025
9d9e3d0
Remove esmf directory (#1491)
JessicaMeixner-NOAA Sep 5, 2025
5721ada
Remove gotos in smc_docs/ (#1495)
ukmo-juan-castillo Sep 17, 2025
6642299
temporarily disable CI testing until we have time to fix (#1499)
JessicaMeixner-NOAA Sep 30, 2025
e3b1f1c
Update grib2 outputs to have complex packing (#1496)
sbanihash Oct 1, 2025
91c6fcc
fix warnings when building in debug mode and debug errors for ww3_gri…
mingchen-NOAA Oct 7, 2025
937ecec
Fix missing comma (#1503)
alcoat Oct 9, 2025
238cd41
Update include mpif.h to use mpif08 (#1498)
JessicaMeixner-NOAA Oct 16, 2025
50eeafb
resolve compiler remarks in w3bullmd.F90 w3cspcmd.F90 w3dispmd.F90 w3…
mingchen-NOAA Oct 16, 2025
ffc08be
resolve compiler remarks in w3fldsmd.F90 w3parall.F90 w3snl1md.F90 w3…
mingchen-NOAA Oct 16, 2025
a0348b2
Resolve GNU build issues and clean up EXTERNAL declarations (#1512)
mingchen-NOAA Oct 20, 2025
44de856
Update regtest ww3_ufs1.1 (#1507)
JessicaMeixner-NOAA Oct 21, 2025
c139064
Bugfix th2m (#1517)
mickaelaccensi Oct 28, 2025
1b8dbd9
add only clause to use statement in w3wavemd and fix USE MODULE remar…
mingchen-NOAA Oct 31, 2025
9c95c6e
Fix Fortran compile flag scope to avoid ifx real-size override warnin…
mingchen-NOAA Nov 5, 2025
639b398
Solve GNU & Intel build and allow to compile with switches S and T (#…
alcoat Nov 5, 2025
ac2f91c
initialize some variables to avoid ww3_multi to crash with gnu compil…
mickaelaccensi Nov 7, 2025
9171405
Modification to PDLIB_JACOBI_GAUSS_SEIDEL_BLOCK to address reproducib…
kestonsmith-noaa Nov 13, 2025
07d5ba0
replace EXTERNAL declarations with INTERFACE and CONTAINS for safer p…
mingchen-NOAA Nov 17, 2025
6ec7a27
Addition of switch to activate precision truncation in PDLIB_JACOBI_G…
kestonsmith-noaa Nov 19, 2025
44a3409
fix SCOTCH and MPI_COMM_RANK explicit-interface warnings for debug bu…
mingchen-NOAA Nov 21, 2025
9d0cb94
Add explicit interfaces for BACIO and g2 routines in ww3_grib.F90 to …
mingchen-NOAA Nov 26, 2025
6fc769b
Initiatlise XFT variable outside of ST2 switch (#1542)
ukmo-daisybrown Dec 4, 2025
a55d642
Fix non-B4B issue in ww3_tp2.1 by using separate output filenames for…
mingchen-NOAA Dec 5, 2025
037b762
Changing access argument in ww3_outp to support cray compiler (#1463)
AliS-Noaa Dec 10, 2025
96c03ef
resolve compiler remarks in w3strkmd.F90 w3sdb1md.F90 w3profsmd.F90 w…
mingchen-NOAA Dec 16, 2025
7f89057
Partially address compiler remarks in modules w3iopomd, w3iogomd, w3a…
mingchen-NOAA Jan 12, 2026
f3c3173
Address compiler remarks in modules w3iorsmd, w3initmd, w3iobcmd, w3p…
mingchen-NOAA Jan 23, 2026
f8cff11
Remove compiler remarks in modules w3tidemd, w3updtmd, w3wavemd, and …
mingchen-NOAA Jan 26, 2026
777b731
Silence compiler remarks in modules and programs w3wdasmd ww3_outf ww…
mingchen-NOAA Feb 2, 2026
bdae9ad
Fix compiler remarks in modules w3arrymd, w3fldsmd, w3gdatmd, w3idatm…
mingchen-NOAA Feb 5, 2026
596e11d
Address compiler remarks in modules w3iogomd, w3iogrmd, w3iorsmd (#1564)
mingchen-NOAA Feb 5, 2026
e1bea12
Remove compiler remarks in PDLIB functions (#1565)
mingchen-NOAA Feb 5, 2026
15ef5c9
Remove remaining compiler remarks in w3initmd, w3iobcmd, w3parall, (…
mingchen-NOAA Feb 6, 2026
57f0705
Fix remaining compiler remarks in w3profsmd_pdlib.F90 and pdlib_field…
mingchen-NOAA Feb 7, 2026
dccf4b9
Communication is added after boundary conditions are applied in PDLIB…
kestonsmith-noaa Mar 26, 2026
ace2d37
Scaling of lateral boundary conditions by group velocity are simplifi…
kestonsmith-noaa Apr 16, 2026
ed516b8
Added a test within regtest ww3_tp2.17 to illustrate a failure of res…
kestonsmith-noaa Apr 23, 2026
3e59145
Fix failure of restart reproducability in cases with variable water l…
kestonsmith-noaa Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 10 additions & 9 deletions .github/workflows/gnu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ concurrency:
cancel-in-progress: true

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


# Split into a steup step, and a WW3 build step which
Expand All @@ -24,14 +24,14 @@ jobs:
steps:
- name: checkout-ww3
if: steps.cache-env.outputs.cache-hit != 'true'
uses: actions/checkout@v2
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@v2
uses: actions/cache@v3
with:
path: |
spack
Expand All @@ -45,7 +45,8 @@ jobs:
run: |
# Install NetCDF, ESMF, g2, etc using Spack
sudo apt install cmake
git clone -c feature.manyFiles=true https://github.com/spack/spack.git
#git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git
git clone -c feature.manyFiles=true --depth=2 --branch=spack-stack-1.9.3 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
Expand Down Expand Up @@ -77,13 +78,13 @@ jobs:

steps:
- name: checkout-ww3
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
path: ww3

- name: cache-env
id: cache-env
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: |
spack
Expand Down
41 changes: 25 additions & 16 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# This is a GitHub actions workflow for WW3.
#
# This workflow builds with the Intel compilers.
#
# Matt Masarik, Alex Richert, Ed Hartnett
name: Intel Linux Build
on: [push, pull_request, workflow_dispatch]

Expand All @@ -8,34 +13,34 @@ concurrency:

# Set I_MPI_CC/F90 so Intel MPI wrapper uses icc/ifort instead of gcc/gfortran
env:
cache_key: intel7
cache_key: intel10-3
CC: icc
FC: ifort
CXX: icpc
I_MPI_CC: icc
I_MPI_F90: ifort

# Split into a dependency build step, and a WW3 build step which
# builds multiple switches in a matrix. The setup is run once and
# 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-20.04
runs-on: ubuntu-22.04

steps:

- name: checkout-ww3
if: steps.cache-env.outputs.cache-hit != 'true'
uses: actions/checkout@v2
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@v2
uses: actions/cache@v3
with:
path: |
spack
Expand All @@ -51,26 +56,28 @@ jobs:
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install intel-oneapi-mpi-devel intel-oneapi-openmp intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-mpi-devel intel-oneapi-compiler-fortran-2023.2.1 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.1 intel-oneapi-openmp

# Build WW3 spack environment
- name: install-dependencies-with-spack
if: steps.cache-env.outputs.cache-hit != 'true'
run: |
sudo mv /usr/local /usr/local_mv
# Install NetCDF, ESMF, g2, etc using Spack
. /opt/intel/oneapi/setvars.sh
sudo mv /usr/local /usrlocal_renamed
sudo apt install cmake
git clone -c feature.manyFiles=true https://github.com/spack/spack.git
git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git
source spack/share/spack/setup-env.sh
ln -s $(realpath $(which gcc)) spack/lib/spack/env/intel/gcc # spack/make bug in ESMF
spack env create ww3-intel ww3/model/ci/spack_intel.yaml
spack env activate ww3-intel
spack compiler find
spack external find cmake
spack add intel-oneapi-mpi
sudo apt install cmake
spack external find
spack config add "packages:mpi:require:'intel-oneapi-mpi'"
spack config add "packages:all:require:['%intel']"
spack concretize
spack install --dirty -v --fail-fast
spack clean --all

- name: build-oasis
if: steps.cache-env.outputs.cache-hit != 'true'
Expand All @@ -91,17 +98,17 @@ jobs:
strategy:
matrix:
switch: [Ifremer1, NCEP_st2, NCEP_st4, ite_pdlib, NCEP_st4sbs, NCEP_glwu, OASACM, UKMO, MULTI_ESMF]
runs-on: ubuntu-20.04
runs-on: ubuntu-latest

steps:
- name: checkout-ww3
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
path: ww3

- name: cache-env
id: cache-env
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: |
spack
Expand All @@ -112,12 +119,14 @@ jobs:

- name: build-ww3
run: |
sudo mv /usr/local /usr/local_mv
sudo apt install cmake
. /opt/intel/oneapi/setvars.sh
source spack/share/spack/setup-env.sh
spack env activate ww3-intel
cd ww3
export CC=mpicc
export FC=mpif90
export CC=mpiicc
export FC=mpiifort
export OASISDIR=${GITHUB_WORKSPACE}/work_oasis3-mct
mkdir build && cd build
if [[ ${{ matrix.switch }} == "MULTI_ESMF" ]]; then
Expand Down
122 changes: 122 additions & 0 deletions .github/workflows/io_gnu_yml.old
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: io_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}

io_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 -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fno-omit-frame-pointer -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fno-omit-frame-pointer -fsanitize=address" ..
make -j2 VERBOSE=1
./bin/ww3_grid
mv mod_def.ww3 regtests/unittests
ctest --verbose --output-on-failure --rerun-failed
gcovr --root .. -v --html-details --exclude ../regtests/unittests --exclude CMakeFiles --print-summary -o test-coverage.html &> /dev/null

- name: upload-test-coverage
uses: actions/upload-artifact@v3
with:
name: ww3-test-coverage
path: |
ww3/build/*.html
ww3/build/*.css


Loading