Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More work on CI, checking with different versions of ESMF #742

Merged
merged 69 commits into from
Dec 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
dc33bee
adding Linux_versions
edwardhartnett Dec 13, 2022
a077916
adding Linux_versions
edwardhartnett Dec 13, 2022
bbebbb8
adding Linux_versions
edwardhartnett Dec 13, 2022
da1ed9b
more
edwardhartnett Dec 13, 2022
ae839c6
more
edwardhartnett Dec 13, 2022
176d125
more
edwardhartnett Dec 13, 2022
2735107
more
edwardhartnett Dec 13, 2022
77318c1
more
edwardhartnett Dec 13, 2022
d66e043
more
edwardhartnett Dec 13, 2022
43f42f9
more
edwardhartnett Dec 13, 2022
034aa37
more
edwardhartnett Dec 13, 2022
d8a551b
Merge branch 'develop' into ejh_ci_6
edwardhartnett Dec 14, 2022
17ca147
added data cache to Linux_versions workflow
edwardhartnett Dec 14, 2022
1df8ef1
working on OLD, NEW
edwardhartnett Dec 14, 2022
3aa3839
working on OLD, NEW
edwardhartnett Dec 14, 2022
c14af6b
working on OLD, NEW
edwardhartnett Dec 14, 2022
5dd60ec
working on OLD, NEW
edwardhartnett Dec 14, 2022
80cddd7
just using versions
edwardhartnett Dec 14, 2022
9c3965f
upgraded g2 to 3.4.5 in develop workflow
edwardhartnett Dec 14, 2022
6cd0b67
upgraded some versions in develop workflow
edwardhartnett Dec 14, 2022
34bc28b
upgraded some versions in develop workflow
edwardhartnett Dec 14, 2022
1db86d7
more changes
edwardhartnett Dec 14, 2022
17071d5
more changes
edwardhartnett Dec 14, 2022
c5aea37
more changes
edwardhartnett Dec 14, 2022
b552b14
more changes
edwardhartnett Dec 14, 2022
2a082a3
more changes
edwardhartnett Dec 14, 2022
d53274f
more changes
edwardhartnett Dec 14, 2022
ff07b37
more changes
edwardhartnett Dec 14, 2022
7b5dcc6
changed flags in develop, added Intel workflow
edwardhartnett Dec 14, 2022
a30c390
changed flags in develop, added Intel workflow
edwardhartnett Dec 14, 2022
ef40848
changed flags in develop, added Intel workflow
edwardhartnett Dec 14, 2022
0774566
Merge branch 'develop' into ejh_ci_7
edwardhartnett Dec 14, 2022
6e2dfae
changed flags in develop, added Intel workflow
edwardhartnett Dec 14, 2022
051733f
Merge branch 'ejh_ci_7' of github.com:ufs-community/UFS_UTILS into ej…
edwardhartnett Dec 14, 2022
34ac7c3
more changes
edwardhartnett Dec 14, 2022
f27884d
more esmf work
edwardhartnett Dec 14, 2022
3c2cf36
more esmf work
edwardhartnett Dec 14, 2022
6387a37
more esmf work
edwardhartnett Dec 14, 2022
40d4fc1
more esmf work
edwardhartnett Dec 14, 2022
068aedb
more esmf work
edwardhartnett Dec 14, 2022
c103f68
more esmf work
edwardhartnett Dec 14, 2022
8947335
more esmf work
edwardhartnett Dec 14, 2022
c5b663a
added pnetcdf and pio
edwardhartnett Dec 15, 2022
b3d26f3
added pnetcdf and pio
edwardhartnett Dec 15, 2022
19b58b1
added pnetcdf and pio
edwardhartnett Dec 15, 2022
016a4cf
added pnetcdf and pio
edwardhartnett Dec 15, 2022
e69eef2
more
edwardhartnett Dec 15, 2022
c8ce640
more
edwardhartnett Dec 15, 2022
bd712a7
more
edwardhartnett Dec 15, 2022
3c282b6
more
edwardhartnett Dec 15, 2022
aa8e56d
more
edwardhartnett Dec 15, 2022
092ad8d
more
edwardhartnett Dec 15, 2022
63e37d4
more
edwardhartnett Dec 15, 2022
7e05aa8
more
edwardhartnett Dec 15, 2022
97db565
more
edwardhartnett Dec 15, 2022
69e477c
more
edwardhartnett Dec 15, 2022
78ecda0
added esmf 8.3.0
edwardhartnett Dec 15, 2022
fa4fa3b
added esmf 8.4.0
edwardhartnett Dec 15, 2022
4d4119f
Merge branch 'develop' into ejh_ci_7
edwardhartnett Dec 16, 2022
1a4b0ba
added Linux_versions_ext workflow
edwardhartnett Dec 16, 2022
994fcb7
Merge branch 'ejh_ci_7' of github.com:ufs-community/UFS_UTILS into ej…
edwardhartnett Dec 16, 2022
ff26886
changed name
edwardhartnett Dec 16, 2022
585b8ab
changed name
edwardhartnett Dec 16, 2022
68772d4
changed name
edwardhartnett Dec 16, 2022
896a68d
changed name
edwardhartnett Dec 16, 2022
4897a7d
changed name
edwardhartnett Dec 16, 2022
c02397c
changed name
edwardhartnett Dec 16, 2022
a03e2cd
changed name
edwardhartnett Dec 16, 2022
fef8a03
changed name
edwardhartnett Dec 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
202 changes: 202 additions & 0 deletions .github/workflows/Intel1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
# UFS_UTILS test workflow.
#
# This workflow tests UFS_UTILS with the Intel compiler.
#
# Ed Hartnett 12/14/22
name: Intel1
on:
push:
branches:
- develop
paths-ignore:
- README.md
pull_request:
branches:
- develop
paths-ignore:
- README.md

# Use custom shell with -l so .bash_profile is sourced which loads intel/oneapi/setvars.sh
# without having to do it in manually every step.
defaults:
run:
shell: bash -leo pipefail {0}

jobs:
Intel:
runs-on: ubuntu-latest
env:
CC: icc
FC: ifort

steps:

# See https://software.intel.com/content/www/us/en/develop/articles/oneapi-repo-instructions.html
- name: install-intel
run: |
cd /tmp
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
rm 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-dev-utilities intel-oneapi-mpi-devel intel-oneapi-openmp intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bash_profile

- name: cache-netcdf
id: cache-netcdf
uses: actions/cache@v2
with:
path: ~/netcdf
key: Intel-netcdf-c-$4.7.4-{{ runner.os }}-intel3

- name: build-hdf5
if: steps.cache-netcdf.outputs.cache-hit != 'true'
run: |
export CC=mpiicc
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.7/src/hdf5-1.10.7.tar.gz &> /dev/null
tar -xzf hdf5-1.10.7.tar.gz
pushd hdf5-1.10.7
./configure --prefix=${HOME}/netcdf --enable-parallel --disable-tools --disable-fortran --disable-cxx --enable-parallel-tests --disable-shared --disable-shared --enable-static
make -j2
make install

- name: build-netcdf-c
if: steps.cache-netcdf.outputs.cache-hit != 'true'
run: |
export CC=mpiicc
export CPPFLAGS=-I${HOME}/netcdf/include
export LDFLAGS=-L${HOME}/netcdf/lib
wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz &> /dev/null
tar -xzf v4.7.4.tar.gz
pushd netcdf-c-4.7.4
./configure --prefix=${HOME}/netcdf --disable-dap --disable-utilities --disable-shared
make -j2
make install

- name: build-netcdf-fortran
if: steps.cache-netcdf.outputs.cache-hit != 'true'
run: |
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/netcdf/lib"
export PATH="${HOME}/netcdf/bin:$PATH"
export CC=mpiicc
export FC=mpiifort
export CPPFLAGS=-I${HOME}/netcdf/include
export LDFLAGS=-L${HOME}/netcdf/lib
export LIBS=`nc-config --libs`
wget https://github.com/Unidata/netcdf-fortran/archive/v4.5.3.tar.gz &> /dev/null
tar -xzf v4.5.3.tar.gz
pushd netcdf-fortran-4.5.3
./configure --prefix=${HOME}/netcdf --disable-shared
make -j2
make install

- name: cache-esmf
id: cache-esmf
uses: actions/cache@v2
with:
path: ~/esmf
key: Intel-esmf-8.2.0-${{ runner.os }}-intel3

- name: build-esmf
if: steps.cache-esmf.outputs.cache-hit != 'true'
run: |
pushd ~
export ESMF_DIR=~/esmf-ESMF_8_2_0
wget https://github.com/esmf-org/esmf/archive/ESMF_8_2_0.tar.gz &> /dev/null
tar zxf ESMF_8_2_0.tar.gz
cd esmf-ESMF_8_2_0
export ESMF_COMM=intelmpi
export ESMF_INSTALL_BINDIR=bin
export ESMF_INSTALL_LIBDIR=lib
export ESMF_INSTALL_MODDIR=mod
export ESMF_COMPILER=intel
export ESMF_INSTALL_PREFIX=~/esmf
export ESMF_NETCDF=split
export ESMF_NETCDF_INCLUDE=${HOME}/netcdf/include
export ESMF_NETCDF_LIBPATH=${HOME}/netcdf/lib
export ESMF_NETCDF_LIBS="-lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz"
make -j2
make install

- name: cache-jasper
id: cache-jasper
uses: actions/cache@v2
with:
path: ~/jasper
key: Intel-jasper-2.0.25-${{ runner.os }}-intel3

- name: build-jasper
if: steps.cache-jasper.outputs.cache-hit != 'true'
run: |
wget https://github.com/jasper-software/jasper/archive/version-2.0.25.tar.gz &> /dev/null
tar zxf version-2.0.25.tar.gz
cd jasper-version-2.0.25
mkdir build-jasper && cd build-jasper
cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper -DJAS_ENABLE_SHARED=OFF
make -j2
make install

- name: checkout-nceplibs
uses: actions/checkout@v2
with:
repository: NOAA-EMC/NCEPLIBS
path: nceplibs

- name: cache-nceplibs
id: cache-nceplibs
uses: actions/cache@v2
with:
path: ~/nceplibs
key: Intel-nceplibs-1.4.0-${{ runner.os }}-intel3

- name: build-nceplibs
if: steps.cache-nceplibs.outputs.cache-hit != 'true'
run: |
export ESMFMKFILE=~/esmf/lib/esmf.mk
wget https://github.com/NOAA-EMC/NCEPLIBS/archive/v1.4.0.tar.gz &> /dev/null
tar zxf v1.4.0.tar.gz
cd NCEPLIBS-1.4.0
mkdir build && cd build
cmake .. -DCMAKE_PREFIX_PATH='~;~/jasper;~/netcdf' -DCMAKE_INSTALL_PREFIX='~/nceplibs' -DFLAT=ON
make -j2

- name: checkout-ufs-utils
uses: actions/checkout@v2
with:
path: ufs_utils
submodules: recursive

- name: cache-data
id: cache-data
uses: actions/cache@v2
with:
path: ~/data
key: data-1

- name: build
run: |
export ESMFMKFILE=~/esmf/lib/esmf.mk
cd ufs_utils
mkdir build && cd build
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64"
cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH='~;~/jasper;~/nceplibs;~/netcdf' ..
make -j2

- name: test
run: |
cd ufs_utils/build
ctest --rerun-failed --output-on-failure

- name: cache-data
if: steps.cache-data.outputs.cache-hit != 'true'
run: |
mkdir ~/data
cp ufs_utils/build/tests/chgres_cube/data/* ~/data
cp ufs_utils/build/tests/sfc_climo_gen/data/* ~/data
cp ufs_utils/build/tests/cpld_gridgen/data/* ~/data
cp ufs_utils/tests/filter_topo/data/* ~/data
cp ufs_utils/tests/emcsfc_snow2mdl/data/* ~/data
cp ufs_utils/tests/chgres_cube/data/* ~/data
ls -l ~/data

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: intel
name: Intel_nceplibs
on:
push:
branches:
Expand All @@ -18,15 +18,11 @@ defaults:
shell: bash -leo pipefail {0}

jobs:
intel-build-and-test:
runs-on: ${{ matrix.os }}
Intel_nceplibs:
runs-on: ubuntu-latest
env:
CC: icc
FC: ifort
CXX: icpc
strategy:
matrix:
os: [ubuntu-latest]

steps:

Expand Down
32 changes: 20 additions & 12 deletions .github/workflows/Linux_versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:
strategy:
fail-fast: true
matrix:
esmf_version: [8_2_0, 8.3.0, 8.4.0]
bacio_version: [2.4.1]
g2_version: [3.4.3]
sp_version: [2.3.3]
Expand All @@ -46,22 +47,31 @@ jobs:
sudo apt-get update
sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libmpich-dev
sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config

- name: cache-esmf
sudo apt-get install autoconf automake libtool

- name: checkout-esmf
id: cache-esmf
uses: actions/cache@v2
with:
path: ~/esmf
key: Linux_versions-esmf-8.2.0-${{ runner.os }}3
key: Linux_versions-esmf-${{ matrix.esmf_version }}-${{ runner.os }}

- name: build-esmf
if: steps.cache-esmf.outputs.cache-hit != 'true'
run: |
pushd ~
export ESMF_DIR=~/esmf-ESMF_8_2_0
wget https://github.com/esmf-org/esmf/archive/ESMF_8_2_0.tar.gz &> /dev/null
tar zxf ESMF_8_2_0.tar.gz
cd esmf-ESMF_8_2_0
if [[ ${{ matrix.esmf_version }} == "8_2_0" ]]; then
wget https://github.com/esmf-org/esmf/archive/ESMF_${{ matrix.esmf_version }}.tar.gz &> /dev/null
tar zxf ESMF_${{ matrix.esmf_version }}.tar.gz
cd esmf-ESMF_${{ matrix.esmf_version }}
export ESMF_DIR=~/esmf-ESMF_${{ matrix.esmf_version }}
else
wget https://github.com/esmf-org/esmf/archive/refs/tags/v${{ matrix.esmf_version }}.tar.gz &> /dev/null
ls -l
tar zxf v${{ matrix.esmf_version }}.tar.gz
cd esmf-${{ matrix.esmf_version }}
export ESMF_DIR=~/esmf-${{ matrix.esmf_version }}
fi
export ESMF_COMM=mpich3
export ESMF_INSTALL_BINDIR=bin
export ESMF_INSTALL_LIBDIR=lib
Expand All @@ -71,6 +81,9 @@ jobs:
export ESMF_NETCDF=split
export ESMF_NETCDF_INCLUDE=/usr/include
export ESMF_NETCDF_LIBPATH=/usr/x86_64-linux-gnu
export ESMF_PIO=OFF
export ESMF_MOAB=OFF
export ESMF_ARRAY_LITE=TRUE
make -j2
make install

Expand Down Expand Up @@ -368,8 +381,3 @@ jobs:
cp ufs_utils/tests/emcsfc_snow2mdl/data/* ~/data
cp ufs_utils/tests/chgres_cube/data/* ~/data
ls -l ~/data





Loading