From dc33beebd5498f3c2c3ee35305ca721083434b4f Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 11:44:30 -0700 Subject: [PATCH 01/64] adding Linux_versions --- .github/workflows/Linux_versions.yml | 346 +++++++++++++++++++++++++++ 1 file changed, 346 insertions(+) create mode 100644 .github/workflows/Linux_versions.yml diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml new file mode 100644 index 000000000..d2de03bfa --- /dev/null +++ b/.github/workflows/Linux_versions.yml @@ -0,0 +1,346 @@ +# UFS_UTILS test workflow. +# +# Check different versions of dependencies. +# +# Ed Hartnett 12/13/22 +name: Linux_versions +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md + +defaults: + run: + shell: bash -exo pipefail {0} + +jobs: + Linux_versions: + runs-on: ubuntu-latest + env: + FC: mpifort + CC: mpicc + FCFLAGS: -fallow-argument-mismatch + + steps: + + - name: install-dependencies + run: | + sudo apt-get update + sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev doxygen libmpich-dev + sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config + python3 -m pip install gcovr + + - name: cache-esmf + id: cache-esmf + uses: actions/cache@v2 + with: + path: ~/esmf + key: Linux_versions-esmf-8.2.0-${{ runner.os }}3 + + - 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=mpich3 + export ESMF_INSTALL_BINDIR=bin + export ESMF_INSTALL_LIBDIR=lib + export ESMF_INSTALL_MODDIR=mod + export ESMF_COMPILER=gfortran + export ESMF_INSTALL_PREFIX=~/esmf + export ESMF_NETCDF=split + export ESMF_NETCDF_INCLUDE=/usr/include + export ESMF_NETCDF_LIBPATH=/usr/x86_64-linux-gnu + make -j2 + make install + + - name: cache-jasper + id: cache-jasper + uses: actions/cache@v2 + with: + path: ~/jasper + key: Linux_versions-jasper-${{ runner.os }}-2.0.33-1 + + - name: checkout-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: jasper-software/jasper + path: jasper + ref: version-2.0.33 + + - name: build-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + run: | + cd jasper + mkdir build-jasper && cd build-jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper + make -j2 + make install + + - name: cache-bacio + id: cache-bacio + uses: actions/cache@v2 + with: + path: ~/bacio + key: Linux_versions-bacio-${{ runner.os }}-v2.4.1 + + - name: checkout-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-bacio + path: bacio + ref: v2.4.1 + + - name: build-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' + run: | + cd bacio + mkdir build && cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio + make -j2 + make install + + - name: cache-g2 + id: cache-g2 + uses: actions/cache@v2 + with: + path: ~/g2 + key: Linux_versions-g2-${{ runner.os }}-3.4.3 + + - name: checkout-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-g2 + path: g2 + ref: v3.4.3 + + - name: build-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + run: | + cd g2 + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH="~/bacio;~/jasper" .. + make -j2 + make install + + - name: cache-sp + id: cache-sp + uses: actions/cache@v2 + with: + path: ~/sp + key: Linux_versions-sp-${{ runner.os }}-2.3.3-1 + + - name: checkout-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sp + path: sp + ref: v2.3.3 + + - name: build-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + run: | + cd sp + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sp + make -j2 + make install + + - name: cache-ip + id: cache-ip + uses: actions/cache@v2 + with: + path: ~/ip + key: Linux_versions-ip-${{ runner.os }}-3.3.3 + + - name: checkout-ip + if: steps.cache-ip.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-ip + path: ip + ref: v3.3.3 + + - name: build-ip + if: steps.cache-ip.outputs.cache-hit != 'true' + run: | + cd ip + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~~/sp .. + make -j2 + make install + + # - name: checkout-w3emc + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-w3emc + # path: w3emc + # ref: develop + + # - name: build-w3emc + # run: | + # cd w3emc + # mkdir build + # cd build + # cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. + # make -j2 + # make install + + # - name: checkout-g2c + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-g2c + # path: g2c + # ref: develop + + # - name: build-g2c + # run: | + # cd g2c + # mkdir build + # cd build + # cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper + # make -j2 + # make install + + - name: cache-sfcio + id: cache-sfcio + uses: actions/cache@v2 + with: + path: ~/sfcio + key: Linux_versions-sfcio-${{ runner.os }}-1.4.0-1 + + - name: checkout-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sfcio + path: sfcio + ref: v1.4.0 + + - name: build-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + run: | + cd sfcio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sfcio + make -j2 + make install + + - name: cache-w3nco + id: cache-w3nco + uses: actions/cache@v2 + with: + path: ~/w3nco + key: Linux_versions-w3nco-${{ runner.os }}-2.4.0 + + - name: checkout-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-w3nco + path: w3nco + ref: v2.4.0 + + - name: build-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + run: | + cd w3nco + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/w3nco + make -j2 + make install + + - name: cache-nemsio + id: cache-nemsio + uses: actions/cache@v2 + with: + path: ~/nemsio + key: Linux_versions-nemsio-${{ runner.os }}-2.5.0-1 + + - name: checkout-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-nemsio + path: nemsio + ref: v2.5.0 + + - name: build-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + run: | + cd nemsio + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco" .. + make -j2 + make install + + - name: cache-sigio + id: cache-sigio + uses: actions/cache@v2 + with: + path: ~/sigio + key: Linux_versions-sigio-${{ runner.os }}-2.3.0 + + - name: checkout-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sigio + path: sigio + ref: v2.3.0 + + - name: build-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + run: | + cd sigio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sigio + make -j2 + make install + + - name: checkout + uses: actions/checkout@v2 + with: + path: ufs_utils + submodules: true + + - name: build + run: | + set -x + cd ufs_utils + mkdir build + export ESMFMKFILE=~/esmf/lib/esmf.mk + cd build + # cmake .. -DTEST_FILE_DIR=/home/runner/data -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. + # make -j2 VERBOSE=1 + + # - name: test + # run: | + # cd ufs_utils/build + # ctest --verbose --rerun-failed --output-on-failure + + + + + From a077916ae92c4c3dd053e9b3a4d4863a1bb4355c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:03:39 -0700 Subject: [PATCH 02/64] adding Linux_versions --- .github/workflows/debug-docs-test_coverage.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/debug-docs-test_coverage.yml b/.github/workflows/debug-docs-test_coverage.yml index be1371f69..4dad130ca 100644 --- a/.github/workflows/debug-docs-test_coverage.yml +++ b/.github/workflows/debug-docs-test_coverage.yml @@ -111,9 +111,7 @@ jobs: export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" cmake .. -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs' -DCMAKE_BUILD_TYPE=Debug -DENABLE_DOCS=On -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" make -j2 - - name: test run: | cd ufs_utils/build -# export LSAN_OPTIONS=suppressions=LSanSuppress.supp ctest --rerun-failed --output-on-failure From bbebbb8859eac982562e97db12a1cdd16d8a2320 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:10:33 -0700 Subject: [PATCH 03/64] adding Linux_versions --- .github/workflows/netcdf-versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml index 424bff3ca..c1fd644b1 100644 --- a/.github/workflows/netcdf-versions.yml +++ b/.github/workflows/netcdf-versions.yml @@ -160,7 +160,7 @@ jobs: export CXX=mpicxx export FC=mpifort export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" - cmake .. -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs;~/netcdf' -DCMAKE_BUILD_TYPE=Debug + cmake .. -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs;~/netcdf' -DCMAKE_BUILD_TYPE=Debug make -j2 - name: test From da1ed9b9ffdd40c9eeefd0fbacb0fb7d553abc0d Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:15:56 -0700 Subject: [PATCH 04/64] more --- .github/workflows/netcdf-versions.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml index c1fd644b1..0cd9cd5b0 100644 --- a/.github/workflows/netcdf-versions.yml +++ b/.github/workflows/netcdf-versions.yml @@ -162,9 +162,7 @@ jobs: export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" cmake .. -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs;~/netcdf' -DCMAKE_BUILD_TYPE=Debug make -j2 - - name: test run: | cd ufs_utils/build -# export LSAN_OPTIONS=suppressions=LSanSuppress.supp ctest --rerun-failed --output-on-failure From ae839c630f1674f63bda6842350658b3114b4ab2 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:22:36 -0700 Subject: [PATCH 05/64] more --- .github/workflows/Linux_versions.yml | 31 +++++++++++++++++++--------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index d2de03bfa..bd54f3fdc 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -27,15 +27,24 @@ jobs: FC: mpifort CC: mpicc FCFLAGS: -fallow-argument-mismatch - + strategy: + matrix: + ver: [OLD, MED, NEW] + steps: - name: install-dependencies run: | sudo apt-get update - sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev doxygen libmpich-dev - sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config - python3 -m pip install gcovr + sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libmpich-dev + sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config + if [[ ${{ matrix.ver }} == "OLD" ]]; then + export bacio_VERSION=2.4.1 + elif [[ ${{ matrix.ver }} == "MED" ]]; then + export bacio_VERSION=2.4.1 + elif [[ ${{ matrix.ver }} == "NEW" ]]; then + export bacio_VERSION=2.4.1 + fi - name: cache-esmf id: cache-esmf @@ -107,6 +116,8 @@ jobs: if: steps.cache-bacio.outputs.cache-hit != 'true' run: | cd bacio + echo "$bacio_VERSION" + echo "{{ env.$bacio_VERSION }}" mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio make -j2 @@ -332,13 +343,13 @@ jobs: mkdir build export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - # cmake .. -DTEST_FILE_DIR=/home/runner/data -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. - # make -j2 VERBOSE=1 + cmake .. -DTEST_FILE_DIR=/home/runner/data -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. + make -j2 VERBOSE=1 - # - name: test - # run: | - # cd ufs_utils/build - # ctest --verbose --rerun-failed --output-on-failure + - name: test + run: | + cd ufs_utils/build + ctest --verbose --rerun-failed --output-on-failure From 176d1250d13aefe9be7648ac08ed923717f00788 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:24:27 -0700 Subject: [PATCH 06/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index bd54f3fdc..015e115ba 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -102,7 +102,7 @@ jobs: uses: actions/cache@v2 with: path: ~/bacio - key: Linux_versions-bacio-${{ runner.os }}-v2.4.1 + key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.ver }} - name: checkout-bacio if: steps.cache-bacio.outputs.cache-hit != 'true' From 2735107165540eaa052b85ad65a2bee6acd01d7c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:32:33 -0700 Subject: [PATCH 07/64] more --- .github/workflows/Linux_versions.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 015e115ba..fdfb53c66 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -102,7 +102,7 @@ jobs: uses: actions/cache@v2 with: path: ~/bacio - key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.ver }} + key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.ver }}-1 - name: checkout-bacio if: steps.cache-bacio.outputs.cache-hit != 'true' @@ -116,8 +116,7 @@ jobs: if: steps.cache-bacio.outputs.cache-hit != 'true' run: | cd bacio - echo "$bacio_VERSION" - echo "{{ env.$bacio_VERSION }}" + echo "{{ env.bacio_VERSION }}" mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio make -j2 From 77318c1ed6ac4d035ad059a0192ebfd18b7ac85f Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:42:31 -0700 Subject: [PATCH 08/64] more --- .github/workflows/Linux_versions.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index fdfb53c66..33f4af1b6 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -27,6 +27,7 @@ jobs: FC: mpifort CC: mpicc FCFLAGS: -fallow-argument-mismatch + bacio_VERSION: [[ ${{ matrix.ver }} == "OLD" ]] && "2.4.1" strategy: matrix: ver: [OLD, MED, NEW] @@ -38,13 +39,13 @@ 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 - if [[ ${{ matrix.ver }} == "OLD" ]]; then - export bacio_VERSION=2.4.1 - elif [[ ${{ matrix.ver }} == "MED" ]]; then - export bacio_VERSION=2.4.1 - elif [[ ${{ matrix.ver }} == "NEW" ]]; then - export bacio_VERSION=2.4.1 - fi + # if [[ ${{ matrix.ver }} == "OLD" ]]; then + # export bacio_VERSION=2.4.1 + # elif [[ ${{ matrix.ver }} == "MED" ]]; then + # export bacio_VERSION=2.4.1 + # elif [[ ${{ matrix.ver }} == "NEW" ]]; then + # export bacio_VERSION=2.4.1 + # fi - name: cache-esmf id: cache-esmf @@ -102,7 +103,7 @@ jobs: uses: actions/cache@v2 with: path: ~/bacio - key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.ver }}-1 + key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.ver }}-2 - name: checkout-bacio if: steps.cache-bacio.outputs.cache-hit != 'true' From d66e043cb6c688ea4cc85e2b7d6e72607efe197a Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:43:47 -0700 Subject: [PATCH 09/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 33f4af1b6..e3e640a81 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -27,7 +27,7 @@ jobs: FC: mpifort CC: mpicc FCFLAGS: -fallow-argument-mismatch - bacio_VERSION: [[ ${{ matrix.ver }} == "OLD" ]] && "2.4.1" + bacio_VERSION: "2.4.1" strategy: matrix: ver: [OLD, MED, NEW] From 43f42f9be58a763e890a9584d0a63119f11eb506 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:49:56 -0700 Subject: [PATCH 10/64] more --- .github/workflows/Linux_versions.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index e3e640a81..9547b8d98 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,12 +30,15 @@ jobs: bacio_VERSION: "2.4.1" strategy: matrix: + fail-fast: true ver: [OLD, MED, NEW] steps: - name: install-dependencies run: | + echo "${{ env.bacio_VERSION }}" + echo "$bacio_VERSION" 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 @@ -117,7 +120,6 @@ jobs: if: steps.cache-bacio.outputs.cache-hit != 'true' run: | cd bacio - echo "{{ env.bacio_VERSION }}" mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio make -j2 From 034aa37b8bd95c8e06c993cd01cdd306f1714203 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Tue, 13 Dec 2022 12:52:29 -0700 Subject: [PATCH 11/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 9547b8d98..ae7e6a502 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -29,8 +29,8 @@ jobs: FCFLAGS: -fallow-argument-mismatch bacio_VERSION: "2.4.1" strategy: + fail-fast: true matrix: - fail-fast: true ver: [OLD, MED, NEW] steps: From 17ca147046edd7a4b74ec96bfc615b1635e33e16 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 06:34:00 -0700 Subject: [PATCH 12/64] added data cache to Linux_versions workflow --- .github/workflows/Linux_versions.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index ae7e6a502..15565b54a 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -338,6 +338,13 @@ jobs: path: ufs_utils submodules: true + - name: cache-data + id: cache-data + uses: actions/cache@v2 + with: + path: ~/data + key: data-1 + - name: build run: | set -x @@ -353,6 +360,18 @@ jobs: cd ufs_utils/build ctest --verbose --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 + From 1df8ef1ffbe235037c431dbbf1dc730c0b7111bc Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 06:44:53 -0700 Subject: [PATCH 13/64] working on OLD, NEW --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 15565b54a..3486dacf6 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -27,7 +27,7 @@ jobs: FC: mpifort CC: mpicc FCFLAGS: -fallow-argument-mismatch - bacio_VERSION: "2.4.1" + bacio_VERSION: if [[ $${{ matrix.ver }} == 'NEW' ]] ; then echo "2.5.0"; else echo "2.4.1" ; fi strategy: fail-fast: true matrix: From 3aa38390e8337254dc2240836ef21381574c8d84 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 06:46:46 -0700 Subject: [PATCH 14/64] working on OLD, NEW --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 3486dacf6..6e415652b 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -27,7 +27,7 @@ jobs: FC: mpifort CC: mpicc FCFLAGS: -fallow-argument-mismatch - bacio_VERSION: if [[ $${{ matrix.ver }} == 'NEW' ]] ; then echo "2.5.0"; else echo "2.4.1" ; fi + bacio_VERSION: eval(if [[ $${{ matrix.ver }} == 'NEW' ]] ; then echo "2.5.0"; else echo "2.4.1" ; fi) strategy: fail-fast: true matrix: From c14af6b8bc3aa7acfdd0e9ec4c3989e21d2145ae Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 06:55:08 -0700 Subject: [PATCH 15/64] working on OLD, NEW --- .github/workflows/Linux_versions.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 6e415652b..1a22d3711 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -27,7 +27,6 @@ jobs: FC: mpifort CC: mpicc FCFLAGS: -fallow-argument-mismatch - bacio_VERSION: eval(if [[ $${{ matrix.ver }} == 'NEW' ]] ; then echo "2.5.0"; else echo "2.4.1" ; fi) strategy: fail-fast: true matrix: @@ -37,8 +36,6 @@ jobs: - name: install-dependencies run: | - echo "${{ env.bacio_VERSION }}" - echo "$bacio_VERSION" 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 @@ -348,6 +345,8 @@ jobs: - name: build run: | set -x + echo "${{ env.bacio_VERSION }}" + echo "$bacio_VERSION" cd ufs_utils mkdir build export ESMFMKFILE=~/esmf/lib/esmf.mk From 5dd60ecbd0cccc0efb2c491b645a87002f35d6ec Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 06:55:27 -0700 Subject: [PATCH 16/64] working on OLD, NEW --- .github/workflows/Linux_versions.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 1a22d3711..59840487b 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -39,13 +39,13 @@ 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 - # if [[ ${{ matrix.ver }} == "OLD" ]]; then - # export bacio_VERSION=2.4.1 - # elif [[ ${{ matrix.ver }} == "MED" ]]; then - # export bacio_VERSION=2.4.1 - # elif [[ ${{ matrix.ver }} == "NEW" ]]; then - # export bacio_VERSION=2.4.1 - # fi + if [[ ${{ matrix.ver }} == "OLD" ]]; then + export bacio_VERSION=2.4.1 + elif [[ ${{ matrix.ver }} == "MED" ]]; then + export bacio_VERSION=2.4.1 + elif [[ ${{ matrix.ver }} == "NEW" ]]; then + export bacio_VERSION=2.4.1 + fi - name: cache-esmf id: cache-esmf From 80cddd74e295b31ee582bbd74a90f3c6c70ff8b2 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 07:13:07 -0700 Subject: [PATCH 17/64] just using versions --- .github/workflows/Linux_versions.yml | 43 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 59840487b..1682947e6 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,7 +30,13 @@ jobs: strategy: fail-fast: true matrix: - ver: [OLD, MED, NEW] + bacio_version: [2.4.1] + g2_version: [3.4.3] + sp_version: [2.3.3] + ip_version: [3.3.3] + w3nco_version: [2.4.0] + nemsio_version: [2.5.0] + sfcio_version: [1.4.0] steps: @@ -39,13 +45,6 @@ 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 - if [[ ${{ matrix.ver }} == "OLD" ]]; then - export bacio_VERSION=2.4.1 - elif [[ ${{ matrix.ver }} == "MED" ]]; then - export bacio_VERSION=2.4.1 - elif [[ ${{ matrix.ver }} == "NEW" ]]; then - export bacio_VERSION=2.4.1 - fi - name: cache-esmf id: cache-esmf @@ -103,7 +102,7 @@ jobs: uses: actions/cache@v2 with: path: ~/bacio - key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.ver }}-2 + key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.bacio_version }} - name: checkout-bacio if: steps.cache-bacio.outputs.cache-hit != 'true' @@ -111,7 +110,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-bacio path: bacio - ref: v2.4.1 + ref: v${{ matrix.bacio_version }} - name: build-bacio if: steps.cache-bacio.outputs.cache-hit != 'true' @@ -127,7 +126,7 @@ jobs: uses: actions/cache@v2 with: path: ~/g2 - key: Linux_versions-g2-${{ runner.os }}-3.4.3 + key: Linux_versions-g2-${{ runner.os }}-${{ matrix.g2_version }} - name: checkout-g2 if: steps.cache-g2.outputs.cache-hit != 'true' @@ -135,7 +134,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-g2 path: g2 - ref: v3.4.3 + ref: v${{ matrix.g2_version }} - name: build-g2 if: steps.cache-g2.outputs.cache-hit != 'true' @@ -152,7 +151,7 @@ jobs: uses: actions/cache@v2 with: path: ~/sp - key: Linux_versions-sp-${{ runner.os }}-2.3.3-1 + key: Linux_versions-sp-${{ runner.os }}-${{ matrix.sp_version }} - name: checkout-sp if: steps.cache-sp.outputs.cache-hit != 'true' @@ -160,7 +159,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-sp path: sp - ref: v2.3.3 + ref: v${{ matrix.sp_version }} - name: build-sp if: steps.cache-sp.outputs.cache-hit != 'true' @@ -177,7 +176,7 @@ jobs: uses: actions/cache@v2 with: path: ~/ip - key: Linux_versions-ip-${{ runner.os }}-3.3.3 + key: Linux_versions-ip-${{ runner.os }}-${{ matrix.ip_version }} - name: checkout-ip if: steps.cache-ip.outputs.cache-hit != 'true' @@ -185,7 +184,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-ip path: ip - ref: v3.3.3 + ref: v${{ matrix.ip_version }} - name: build-ip if: steps.cache-ip.outputs.cache-hit != 'true' @@ -234,7 +233,7 @@ jobs: uses: actions/cache@v2 with: path: ~/sfcio - key: Linux_versions-sfcio-${{ runner.os }}-1.4.0-1 + key: Linux_versions-sfcio-${{ runner.os }}-${{ matrix.sfcio_version }} - name: checkout-sfcio if: steps.cache-sfcio.outputs.cache-hit != 'true' @@ -242,7 +241,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-sfcio path: sfcio - ref: v1.4.0 + ref: v${{ matrix.sfcio_version }} - name: build-sfcio if: steps.cache-sfcio.outputs.cache-hit != 'true' @@ -259,7 +258,7 @@ jobs: uses: actions/cache@v2 with: path: ~/w3nco - key: Linux_versions-w3nco-${{ runner.os }}-2.4.0 + key: Linux_versions-w3nco-${{ runner.os }}-${{ matrix.w3nco_version }} - name: checkout-w3nco if: steps.cache-w3nco.outputs.cache-hit != 'true' @@ -267,7 +266,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-w3nco path: w3nco - ref: v2.4.0 + ref: v${{ matrix.w3nco_version }} - name: build-w3nco if: steps.cache-w3nco.outputs.cache-hit != 'true' @@ -284,7 +283,7 @@ jobs: uses: actions/cache@v2 with: path: ~/nemsio - key: Linux_versions-nemsio-${{ runner.os }}-2.5.0-1 + key: Linux_versions-nemsio-${{ runner.os }}-${{ matrix.nemsio_version }} - name: checkout-nemsio if: steps.cache-nemsio.outputs.cache-hit != 'true' @@ -292,7 +291,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-nemsio path: nemsio - ref: v2.5.0 + ref: v${{ matrix.nemsio_version }} - name: build-nemsio if: steps.cache-nemsio.outputs.cache-hit != 'true' From 9c3965f0eab6c3b23d0dab144a2514199f0ecf61 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 07:15:15 -0700 Subject: [PATCH 18/64] upgraded g2 to 3.4.5 in develop workflow --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 2b7ad929e..53cc0d228 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -126,7 +126,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-g2 path: g2 - ref: v3.4.3 + ref: v3.4.5 - name: build-g2 if: steps.cache-g2.outputs.cache-hit != 'true' From 6cd0b6738c9741d10cc0ee251b1f9d938448d531 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 07:31:10 -0700 Subject: [PATCH 19/64] upgraded some versions in develop workflow --- .github/workflows/developer.yml | 8 ++++---- .github/workflows/netcdf-versions.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 53cc0d228..2d6203101 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -118,7 +118,7 @@ jobs: uses: actions/cache@v2 with: path: ~/g2 - key: developer-g2-${{ runner.os }}-3.4.3 + key: developer-g2-${{ runner.os }}-3.4.5 - name: checkout-g2 if: steps.cache-g2.outputs.cache-hit != 'true' @@ -250,15 +250,15 @@ jobs: uses: actions/cache@v2 with: path: ~/w3nco - key: developer-w3nco-${{ runner.os }}-2.4.0 - + key: developer-w3nco-${{ runner.os }}-2.4.1 +n - name: checkout-w3nco if: steps.cache-w3nco.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: NOAA-EMC/NCEPLIBS-w3nco path: w3nco - ref: v2.4.0 + ref: v2.4.1 - name: build-w3nco if: steps.cache-w3nco.outputs.cache-hit != 'true' diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml index 413f9327a..0909cb8ee 100644 --- a/.github/workflows/netcdf-versions.yml +++ b/.github/workflows/netcdf-versions.yml @@ -89,7 +89,7 @@ jobs: key: esmf-8.2.0-${{ runner.os }}-netcdf-${{ matrix.netcdf_version }}3 - name: build-esmf - #if: steps.cache-esmf.outputs.cache-hit != 'true' + if: steps.cache-esmf.outputs.cache-hit != 'true' run: | pushd ~ export ESMF_DIR=~/esmf-ESMF_8_2_0 From 34bc28b5974ce23457b0c60c180ef1dfeabbb3ee Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 07:32:04 -0700 Subject: [PATCH 20/64] upgraded some versions in develop workflow --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 2d6203101..eeec6bda2 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -251,7 +251,7 @@ jobs: with: path: ~/w3nco key: developer-w3nco-${{ runner.os }}-2.4.1 -n + - name: checkout-w3nco if: steps.cache-w3nco.outputs.cache-hit != 'true' uses: actions/checkout@v2 From 1db86d731010d507be46a5c3b81244664ea75a52 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 07:50:36 -0700 Subject: [PATCH 21/64] more changes --- ...ug-docs-test_coverage.yml => Linux_nceplibs.yml} | 8 +++----- .github/workflows/Linux_versions.yml | 13 ++++++------- 2 files changed, 9 insertions(+), 12 deletions(-) rename .github/workflows/{debug-docs-test_coverage.yml => Linux_nceplibs.yml} (94%) diff --git a/.github/workflows/debug-docs-test_coverage.yml b/.github/workflows/Linux_nceplibs.yml similarity index 94% rename from .github/workflows/debug-docs-test_coverage.yml rename to .github/workflows/Linux_nceplibs.yml index a5dc89e40..64d64df5c 100644 --- a/.github/workflows/debug-docs-test_coverage.yml +++ b/.github/workflows/Linux_nceplibs.yml @@ -1,4 +1,4 @@ -name: debug-docs-test_coverage +name: Linux_nceplibs on: push: branches: @@ -16,7 +16,7 @@ defaults: shell: bash -exo pipefail {0} jobs: - debug-build-and-test: + Linux_nceplibs: runs-on: ubuntu-latest steps: @@ -25,11 +25,9 @@ jobs: run: | sudo apt-get update sudo apt-get install libmpich-dev - sudo apt-get install doxygen sudo apt-get install libpng-dev sudo apt-get install libjpeg-dev sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config - python3 -m pip install gcovr - name: cache-esmf id: cache-esmf @@ -116,7 +114,7 @@ jobs: export CXX=mpicxx export FC=mpifort export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" - cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs' -DCMAKE_BUILD_TYPE=Debug -DENABLE_DOCS=On .. + cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs' .. make -j2 - name: test run: | diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 1682947e6..1d01a7a44 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -33,10 +33,11 @@ jobs: bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3] - ip_version: [3.3.3] + ip_version: [3.3.3, 4.0.0] w3nco_version: [2.4.0] nemsio_version: [2.5.0] sfcio_version: [1.4.0] + sigio_version: [2.3.0] steps: @@ -308,7 +309,7 @@ jobs: uses: actions/cache@v2 with: path: ~/sigio - key: Linux_versions-sigio-${{ runner.os }}-2.3.0 + key: Linux_versions-sigio-${{ runner.os }}-${{ matrix.sigio_version }} - name: checkout-sigio if: steps.cache-sigio.outputs.cache-hit != 'true' @@ -316,7 +317,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-sigio path: sigio - ref: v2.3.0 + ref: v${{ matrix.sigio_version }} - name: build-sigio if: steps.cache-sigio.outputs.cache-hit != 'true' @@ -344,13 +345,11 @@ jobs: - name: build run: | set -x - echo "${{ env.bacio_VERSION }}" - echo "$bacio_VERSION" cd ufs_utils mkdir build - export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - cmake .. -DTEST_FILE_DIR=/home/runner/data -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. + export ESMFMKFILE=~/esmf/lib/esmf.mk + cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. make -j2 VERBOSE=1 - name: test From 17071d541eb75f7e47d9443dc7f328b8618d5df9 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 07:56:53 -0700 Subject: [PATCH 22/64] more changes --- .github/workflows/Linux_nceplibs.yml | 9 ++++++--- .github/workflows/Linux_versions.yml | 6 +++++- .github/workflows/linux-mac-nceplibs-mpi.yml | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Linux_nceplibs.yml b/.github/workflows/Linux_nceplibs.yml index 64d64df5c..e1e33af51 100644 --- a/.github/workflows/Linux_nceplibs.yml +++ b/.github/workflows/Linux_nceplibs.yml @@ -1,3 +1,8 @@ +# UFS_UTILS test workflow. +# +# Check UFS_UTILS build based on the NCEPLIBS project (deprecated, but still works). +# +# Ed Hartnett 12/13/22 name: Linux_nceplibs on: push: @@ -24,9 +29,7 @@ jobs: - name: install-dependencies run: | sudo apt-get update - sudo apt-get install libmpich-dev - sudo apt-get install libpng-dev - sudo apt-get install libjpeg-dev + sudo apt-get install libmpich-dev libpng-dev libjpeg-dev sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config - name: cache-esmf diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 1d01a7a44..f1ec1e84f 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -1,6 +1,6 @@ # UFS_UTILS test workflow. # -# Check different versions of dependencies. +# Check different versions of the NCEPLIBS libraries that are used by UFS_UTILS. # # Ed Hartnett 12/13/22 name: Linux_versions @@ -190,6 +190,10 @@ jobs: - name: build-ip if: steps.cache-ip.outputs.cache-hit != 'true' run: | + pwd + ls -l ~ + ls -l ~/sp + ls -l ~/sp/lib cd ip mkdir build cd build diff --git a/.github/workflows/linux-mac-nceplibs-mpi.yml b/.github/workflows/linux-mac-nceplibs-mpi.yml index bb01b29ee..43d611949 100644 --- a/.github/workflows/linux-mac-nceplibs-mpi.yml +++ b/.github/workflows/linux-mac-nceplibs-mpi.yml @@ -23,6 +23,7 @@ jobs: FC: gfortran-9 CXX: g++-9 strategy: + fail-fast: true matrix: os: [macos-11, ubuntu-latest] compiler: [gcc-9] From c5aea3795bad627fb461fc7ef1ec5f32dfe734ec Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 08:17:53 -0700 Subject: [PATCH 23/64] more changes --- .github/workflows/Linux_versions.yml | 6 +----- .github/workflows/developer.yml | 12 ++++++------ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index f1ec1e84f..630762e0f 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -190,14 +190,10 @@ jobs: - name: build-ip if: steps.cache-ip.outputs.cache-hit != 'true' run: | - pwd - ls -l ~ - ls -l ~/sp - ls -l ~/sp/lib cd ip mkdir build cd build - cmake -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~~/sp .. + cmake -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~/sp .. make -j2 make install diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index eeec6bda2..d1a1aca47 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -225,7 +225,7 @@ jobs: uses: actions/cache@v2 with: path: ~/sfcio - key: developer-sfcio-${{ runner.os }}-1.4.0-1 + key: developer-sfcio-${{ runner.os }}-1.4.1 - name: checkout-sfcio if: steps.cache-sfcio.outputs.cache-hit != 'true' @@ -233,7 +233,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-sfcio path: sfcio - ref: v1.4.0 + ref: v1.4.1 - name: build-sfcio if: steps.cache-sfcio.outputs.cache-hit != 'true' @@ -275,7 +275,7 @@ jobs: uses: actions/cache@v2 with: path: ~/nemsio - key: developer-nemsio-${{ runner.os }}-2.5.0-1 + key: developer-nemsio-${{ runner.os }}-2.5.4 - name: checkout-nemsio if: steps.cache-nemsio.outputs.cache-hit != 'true' @@ -283,7 +283,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-nemsio path: nemsio - ref: v2.5.0 + ref: v2.5.4 - name: build-nemsio if: steps.cache-nemsio.outputs.cache-hit != 'true' @@ -300,7 +300,7 @@ jobs: uses: actions/cache@v2 with: path: ~/sigio - key: developer-sigio-${{ runner.os }}-2.3.0 + key: developer-sigio-${{ runner.os }}-2.3.2 - name: checkout-sigio if: steps.cache-sigio.outputs.cache-hit != 'true' @@ -308,7 +308,7 @@ jobs: with: repository: NOAA-EMC/NCEPLIBS-sigio path: sigio - ref: v2.3.0 + ref: v2.3.2 - name: build-sigio if: steps.cache-sigio.outputs.cache-hit != 'true' From b552b143f859b8a6ca0f18166997f49a3978d686 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 08:42:09 -0700 Subject: [PATCH 24/64] more changes --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index d1a1aca47..bb7d99932 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -1,7 +1,7 @@ # UFS_UTILS test workflow. # # This workflow tests all developer options including -# documentation check, and test code coverage. +# documentation check, and test code coverage. # # Ed Hartnett 12/11/22 name: developer From 2a082a34658dae16c2e1317b0d810256a279e815 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 09:09:03 -0700 Subject: [PATCH 25/64] more changes --- .github/workflows/Linux_versions.yml | 2 +- .github/workflows/developer.yml | 30 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 630762e0f..8d44f5a0d 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -33,7 +33,7 @@ jobs: bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3] - ip_version: [3.3.3, 4.0.0] + ip_version: [3.3.3] w3nco_version: [2.4.0] nemsio_version: [2.5.0] sfcio_version: [1.4.0] diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index bb7d99932..6c70a4854 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -188,21 +188,21 @@ jobs: make -j2 make install - # - name: checkout-w3emc - # uses: actions/checkout@v2 - # with: - # repository: NOAA-EMC/NCEPLIBS-w3emc - # path: w3emc - # ref: develop + - name: checkout-w3emc + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-w3emc + path: w3emc + ref: v2.9.0 - # - name: build-w3emc - # run: | - # cd w3emc - # mkdir build - # cd build - # cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. - # make -j2 - # make install + - name: build-w3emc + run: | + cd w3emc + mkdir build + cd build + cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. + make -j2 + make install # - name: checkout-g2c # uses: actions/checkout@v2 @@ -291,7 +291,7 @@ jobs: cd nemsio mkdir build cd build - cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco" .. + cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3emc" .. make -j2 make install From d53274f9f0e588954cfa5359b003591824352841 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 09:28:33 -0700 Subject: [PATCH 26/64] more changes --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 6c70a4854..905527610 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -340,7 +340,7 @@ jobs: doxygen --version export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - cmake -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_C_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_BUILD_TYPE=Debug .. + cmake -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3emc;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_C_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_BUILD_TYPE=Debug .. make -j2 VERBOSE=1 - name: test From ff07b374a5431d9128470dedbe40cd743beeba50 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 09:33:26 -0700 Subject: [PATCH 27/64] more changes --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 905527610..d17f9ef4d 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -340,7 +340,7 @@ jobs: doxygen --version export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - cmake -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3emc;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_C_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_BUILD_TYPE=Debug .. + cmake -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3emc;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_C_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_BUILD_TYPE=Debug .. make -j2 VERBOSE=1 - name: test From 7b5dcc60994e063aab8606f99f65a46d92ab16c9 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 10:04:22 -0700 Subject: [PATCH 28/64] changed flags in develop, added Intel workflow --- .github/workflows/Intel.yml | 202 ++++++++++++++++++++++++++ .github/workflows/netcdf-versions.yml | 11 +- CMakeLists.txt | 3 +- 3 files changed, 208 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/Intel.yml diff --git a/.github/workflows/Intel.yml b/.github/workflows/Intel.yml new file mode 100644 index 000000000..61f11ce9f --- /dev/null +++ b/.github/workflows/Intel.yml @@ -0,0 +1,202 @@ +# UFS_UTILS test workflow. +# +# This workflow tests UFS_UTILS with the Intel compiler. +# +# Ed Hartnett 12/14/22 +name: Intel +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 + diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml index 0909cb8ee..c9a0a6f9c 100644 --- a/.github/workflows/netcdf-versions.yml +++ b/.github/workflows/netcdf-versions.yml @@ -28,17 +28,14 @@ jobs: - name: install-dependencies run: | sudo apt-get update - sudo apt-get install libmpich-dev - sudo apt-get install doxygen - sudo apt-get install libpng-dev - sudo apt-get install libjpeg-dev + sudo apt-get install libmpich-dev libpng-dev libjpeg-dev - name: cache-netcdf id: cache-netcdf uses: actions/cache@v2 with: path: ~/netcdf - key: netcdf-c-${{ matrix.netcdf_version }}-${{ runner.os }}3 + key: netcdf-c-${{ matrix.netcdf_version }}-${{ runner.os }}4 - name: build-hdf5 if: steps.cache-netcdf.outputs.cache-hit != 'true' @@ -47,7 +44,7 @@ jobs: 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 --enable-static + ./configure --prefix=${HOME}/netcdf --enable-parallel --disable-tools --disable-fortran --disable-cxx --disable-shared make -j2 make install @@ -167,7 +164,7 @@ jobs: export CXX=mpicxx export FC=mpifort export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" - cmake -DTEST_FILE_DIR=/home/runner/work/UFS_UTILS/UFS_UTILS/data -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs;~/netcdf' -DCMAKE_BUILD_TYPE=Debug .. + cmake -DTEST_FILE_DIR=/home/runner/work/UFS_UTILS/UFS_UTILS/data -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs;~/netcdf' .. make -j2 - name: test run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index f8e33a472..53bfb3e16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,8 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") endif() set(CMAKE_Fortran_FLAGS_RELEASE "-O3") # set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall") - set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") +# set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") + set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check") endif() if(CMAKE_C_COMPILER_ID MATCHES "^(Intel)$") From a30c390d02e0a40b17864acedb4cfc6e582b6dc3 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 10:24:36 -0700 Subject: [PATCH 29/64] changed flags in develop, added Intel workflow --- .github/workflows/{Intel.yml => Intel1.yml} | 2 +- CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{Intel.yml => Intel1.yml} (99%) diff --git a/.github/workflows/Intel.yml b/.github/workflows/Intel1.yml similarity index 99% rename from .github/workflows/Intel.yml rename to .github/workflows/Intel1.yml index 61f11ce9f..0cf71f245 100644 --- a/.github/workflows/Intel.yml +++ b/.github/workflows/Intel1.yml @@ -3,7 +3,7 @@ # This workflow tests UFS_UTILS with the Intel compiler. # # Ed Hartnett 12/14/22 -name: Intel +name: Intel1 on: push: branches: diff --git a/CMakeLists.txt b/CMakeLists.txt index 53bfb3e16..a9f16ac88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") set(CMAKE_Fortran_FLAGS_RELEASE "-O3") # set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall") # set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") - set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check") + set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") endif() if(CMAKE_C_COMPILER_ID MATCHES "^(Intel)$") From ef4084865dc272b268bcdc4cdc84140892925124 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 10:31:47 -0700 Subject: [PATCH 30/64] changed flags in develop, added Intel workflow --- .github/workflows/{intel.yml => Intel_nceplibs.yml} | 10 +++------- CMakeLists.txt | 4 ++-- 2 files changed, 5 insertions(+), 9 deletions(-) rename .github/workflows/{intel.yml => Intel_nceplibs.yml} (97%) diff --git a/.github/workflows/intel.yml b/.github/workflows/Intel_nceplibs.yml similarity index 97% rename from .github/workflows/intel.yml rename to .github/workflows/Intel_nceplibs.yml index e7f7c4388..e15059809 100644 --- a/.github/workflows/intel.yml +++ b/.github/workflows/Intel_nceplibs.yml @@ -1,4 +1,4 @@ -name: intel +name: Intel_nceplibs on: push: branches: @@ -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: diff --git a/CMakeLists.txt b/CMakeLists.txt index a9f16ac88..50087d635 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,8 +45,8 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") endif() set(CMAKE_Fortran_FLAGS_RELEASE "-O3") # set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall") -# set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") - set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") + set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") +# set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") endif() if(CMAKE_C_COMPILER_ID MATCHES "^(Intel)$") From 6e2dfae811e299fb1fff501f6fc5ea5f181b7b03 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 11:11:18 -0700 Subject: [PATCH 31/64] changed flags in develop, added Intel workflow --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 50087d635..3629ec68a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,7 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") endif() set(CMAKE_Fortran_FLAGS_RELEASE "-O3") # set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall") - set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") + set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -Wall -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") # set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") endif() From 34ac7c3a0365678120e818b705db759523ffe65f Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 11:32:24 -0700 Subject: [PATCH 32/64] more changes --- .github/workflows/Linux_versions.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 8d44f5a0d..899f7d412 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,6 +30,7 @@ jobs: strategy: fail-fast: true matrix: + esmf_version: [8_2_0, 8_3_0] bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3] @@ -52,16 +53,16 @@ jobs: 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 }}3 - 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_DIR=~/esmf-ESMF_${{ matrix.esmf_version }} + 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_COMM=mpich3 export ESMF_INSTALL_BINDIR=bin export ESMF_INSTALL_LIBDIR=lib From f27884d30952e6ad555e70e3c6a3f1592e8d766c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 11:35:31 -0700 Subject: [PATCH 33/64] more esmf work --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 899f7d412..f32fe2aa8 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: true matrix: - esmf_version: [8_2_0, 8_3_0] + esmf_version: [8_2_0, 8.3.0] bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3] From 3c2cf36b89f2308d43e5aa5257a7f5e808441399 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 11:45:51 -0700 Subject: [PATCH 34/64] more esmf work --- .github/workflows/Linux_versions.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index f32fe2aa8..7a590a793 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -60,9 +60,15 @@ jobs: run: | pushd ~ export ESMF_DIR=~/esmf-ESMF_${{ matrix.esmf_version }} - 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 }} + 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 }} + else + wget https://github.com/esmf-org/esmf/archive/refs/tags/v${{ matrix.esmf_version }}.tar.gz &> /dev/null + tar zxf esmf-${{ matrix.esmf_version }}.tar.gz + cd esmf-${{ matrix.esmf_version }} + fi export ESMF_COMM=mpich3 export ESMF_INSTALL_BINDIR=bin export ESMF_INSTALL_LIBDIR=lib From 6387a3747bfc0fa611897e166e7eeebaf437ac1c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 11:47:49 -0700 Subject: [PATCH 35/64] more esmf work --- .github/workflows/Linux_versions.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 7a590a793..779b5d7be 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -59,15 +59,16 @@ jobs: if: steps.cache-esmf.outputs.cache-hit != 'true' run: | pushd ~ - export ESMF_DIR=~/esmf-ESMF_${{ matrix.esmf_version }} 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 tar zxf esmf-${{ 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 From 40d4fc101fb101c4efa21ebbc1cfc978719708b1 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 11:49:42 -0700 Subject: [PATCH 36/64] more esmf work --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 779b5d7be..2146a4571 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -53,7 +53,7 @@ jobs: uses: actions/cache@v2 with: path: ~/esmf - key: Linux_versions-esmf-${{ matrix.esmf_version }}-${{ runner.os }}3 + key: Linux_versions-esmf-${{ matrix.esmf_version }}-${{ runner.os }} - name: build-esmf if: steps.cache-esmf.outputs.cache-hit != 'true' From 068aedbc2eb5ca43d166fa852d02b0dbed7ec4a2 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 11:54:37 -0700 Subject: [PATCH 37/64] more esmf work --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 2146a4571..b891dcdf4 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -59,7 +59,7 @@ jobs: if: steps.cache-esmf.outputs.cache-hit != 'true' run: | pushd ~ - if [[ ${{ matrix.esmf_version }} == "8_2_0 ]]; then + 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 }} From c103f687b93ca90c5a8a7ffd98a88cbd4ea28037 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 12:03:00 -0700 Subject: [PATCH 38/64] more esmf work --- .github/workflows/Linux_versions.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index b891dcdf4..241644a41 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -66,7 +66,8 @@ jobs: 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 - tar zxf esmf-${{ matrix.esmf_version }}.tar.gz + ls -l + tar zxf v${{ matrix.esmf_version }}.tar.gz cd esmf-${{ matrix.esmf_version }} export ESMF_DIR=~/esmf-${{ matrix.esmf_version }} fi From 8947335dd1fe62785f6f9915ab7b9a1d2bb980af Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Wed, 14 Dec 2022 12:10:02 -0700 Subject: [PATCH 39/64] more esmf work --- .github/workflows/Linux_versions.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 241644a41..ff4880d77 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -80,6 +80,9 @@ jobs: export ESMF_NETCDF=split export ESMF_NETCDF_INCLUDE=/usr/include export ESMF_NETCDF_LIBPATH=/usr/x86_64-linux-gnu + export ESMF_PIO=external + export ESMF_MOAB=OFF + export ESMF_ARRAY_LITE=TRUE make -j2 make install From c5b663a8b5930d5d44a84795db3f4ab576d0b91b Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:14:52 -0700 Subject: [PATCH 40/64] added pnetcdf and pio --- .github/workflows/Linux_versions.yml | 50 +++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index ff4880d77..f7a016e4e 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: true matrix: - esmf_version: [8_2_0, 8.3.0] + esmf_version: [8_2_0, 8_2_0] bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3] @@ -47,6 +47,54 @@ 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-pnetcdf + id: cache-pnetcdf + uses: actions/cache@v2 + with: + path: ~/pnetcdf + key: Linux_versions-pnetcdf-${{ runner.os }}-1.10.0 + + - name: checkout-pnetcdf + if: steps.cache-pnetcdf.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: Parallel-NetCDF/PnetCDF + path: pnetcdf + ref: tag.v1.10.0 + + - name: build-pnetcdf + if: steps.cache-pnetcdf.outputs.cache-hit != 'true' + run: | + cd pnetcdf + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=~/pnetcdf .. + make -j2 + make install + + - name: cache-pio + id: cache-pio + uses: actions/cache@v2 + with: + path: ~/pio + key: Linux_versions-pio-${{ runner.os }}-2.5.10 + + - name: checkout-pio + if: steps.cache-pio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NCAR/ParallelIO + path: pio + ref: pio2_5_10 + + - name: build-pio + if: steps.cache-pio.outputs.cache-hit != 'true' + run: | + cd pio + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=~/pio -DCMAKE_PREFIX_PATH=~/pnetcdf .. + make -j2 + make install - name: cache-esmf id: cache-esmf From b3d26f32b576fa2e5cce9180fa8340b83eecc35f Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:21:56 -0700 Subject: [PATCH 41/64] added pnetcdf and pio --- .github/workflows/Linux_versions.yml | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index f7a016e4e..afa6ddd87 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -53,22 +53,16 @@ jobs: uses: actions/cache@v2 with: path: ~/pnetcdf - key: Linux_versions-pnetcdf-${{ runner.os }}-1.10.0 - - - name: checkout-pnetcdf - if: steps.cache-pnetcdf.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: Parallel-NetCDF/PnetCDF - path: pnetcdf - ref: tag.v1.10.0 + key: Linux_versions-pnetcdf-${{ runner.os }}-1.12.3 - name: build-pnetcdf if: steps.cache-pnetcdf.outputs.cache-hit != 'true' run: | - cd pnetcdf - mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=~/pnetcdf .. + pushd ~ + wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null + tar zxf PnetCDF-checkpoint.1.12.3.tar.gz + cd PnetCDF-checkpoint.1.12.3 + ./configure --prefix=/home/runner/pnetcdf make -j2 make install From 19b58b18417fae3fa6fd8c471255c402c629b0de Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:26:12 -0700 Subject: [PATCH 42/64] added pnetcdf and pio --- .github/workflows/Linux_versions.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index afa6ddd87..3e26cef20 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -60,8 +60,10 @@ jobs: run: | pushd ~ wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null - tar zxf PnetCDF-checkpoint.1.12.3.tar.gz - cd PnetCDF-checkpoint.1.12.3 + ls -l + tar zxf checkpoint.1.12.3.tar.gz + ls -l + cd checkpoint.1.12.3 ./configure --prefix=/home/runner/pnetcdf make -j2 make install From 016a4cf286c0c0a597eccec2e58f3a6e36f96544 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:27:49 -0700 Subject: [PATCH 43/64] added pnetcdf and pio --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 3e26cef20..efa48a483 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -61,7 +61,7 @@ jobs: pushd ~ wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null ls -l - tar zxf checkpoint.1.12.3.tar.gz + tar zxf PnetCDF-checkpoint.1.12.3.tar.gz ls -l cd checkpoint.1.12.3 ./configure --prefix=/home/runner/pnetcdf From e69eef28e3d22cb1cfa34cd33d716b43d0844478 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:33:02 -0700 Subject: [PATCH 44/64] more --- .github/workflows/Linux_versions.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index efa48a483..20354e2ab 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -61,9 +61,9 @@ jobs: pushd ~ wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null ls -l - tar zxf PnetCDF-checkpoint.1.12.3.tar.gz + tar zxf checkpoint.1.12.3.tar.gz ls -l - cd checkpoint.1.12.3 + cd PnetCDF-checkpoint.1.12.3 ./configure --prefix=/home/runner/pnetcdf make -j2 make install From c8ce640ab028a833ec3a84632bce3bfefe69068e Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:35:36 -0700 Subject: [PATCH 45/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 20354e2ab..958fcf407 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -60,10 +60,10 @@ jobs: run: | pushd ~ wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null - ls -l tar zxf checkpoint.1.12.3.tar.gz ls -l cd PnetCDF-checkpoint.1.12.3 + ls -l ./configure --prefix=/home/runner/pnetcdf make -j2 make install From bd712a73dd816b3e2d7ee8632127c82c8e168ca2 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:38:43 -0700 Subject: [PATCH 46/64] more --- .github/workflows/Linux_versions.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 958fcf407..74840becb 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -47,6 +47,7 @@ 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 + sudo apt-get install autoconf automake libtool - name: cache-pnetcdf id: cache-pnetcdf @@ -63,6 +64,7 @@ jobs: tar zxf checkpoint.1.12.3.tar.gz ls -l cd PnetCDF-checkpoint.1.12.3 + autoreconf -i ls -l ./configure --prefix=/home/runner/pnetcdf make -j2 From 3c282b6adeab4ba01d065fcbc5cf5cbb94d69e04 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 08:57:45 -0700 Subject: [PATCH 47/64] more --- .github/workflows/Linux_versions.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 74840becb..c159ba6c8 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -77,20 +77,19 @@ jobs: path: ~/pio key: Linux_versions-pio-${{ runner.os }}-2.5.10 - - name: checkout-pio - if: steps.cache-pio.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NCAR/ParallelIO - path: pio - ref: pio2_5_10 - - name: build-pio if: steps.cache-pio.outputs.cache-hit != 'true' run: | - cd pio - mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=~/pio -DCMAKE_PREFIX_PATH=~/pnetcdf .. + pushd ~ + wget https://github.com/NCAR/ParallelIO/archive/refs/tags/pio2_5_10.tar.gz &> /dev/null + tar zxf pio2_5_10.tar.gz + ls -l + cd pio2_5_10 + autoreconf -i + ls -l + export CPPFLAGS=-I/home/runner/pnetcdf/include + export LDFLAGS=-I/home/runner/pnetcdf/lib + ./configure --prefix=/home/runner/pio make -j2 make install From aa8e56d6a52996c2cedd7bf1fc547ba41ba807ab Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 09:07:08 -0700 Subject: [PATCH 48/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index c159ba6c8..e4c2c6daa 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -84,7 +84,7 @@ jobs: wget https://github.com/NCAR/ParallelIO/archive/refs/tags/pio2_5_10.tar.gz &> /dev/null tar zxf pio2_5_10.tar.gz ls -l - cd pio2_5_10 + cd ParallelIO-pio2_5_10 autoreconf -i ls -l export CPPFLAGS=-I/home/runner/pnetcdf/include From 092ad8d24a2134c35ca5b237664bbb89c1d7caf6 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 09:34:36 -0700 Subject: [PATCH 49/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index e4c2c6daa..8f469c00c 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -88,7 +88,7 @@ jobs: autoreconf -i ls -l export CPPFLAGS=-I/home/runner/pnetcdf/include - export LDFLAGS=-I/home/runner/pnetcdf/lib + export LDFLAGS=-L/home/runner/pnetcdf/lib ./configure --prefix=/home/runner/pio make -j2 make install From 63e37d4a95820a49b50a4e8750a6ddb0bc5b3c68 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 09:40:16 -0700 Subject: [PATCH 50/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 8f469c00c..6696b1ea9 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -66,7 +66,7 @@ jobs: cd PnetCDF-checkpoint.1.12.3 autoreconf -i ls -l - ./configure --prefix=/home/runner/pnetcdf + ./configure --prefix=/home/runner/pnetcdf --enable-shared make -j2 make install From 7e05aa854aa9873e480b7c47a128687ba6896d5c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 10:21:15 -0700 Subject: [PATCH 51/64] more --- .github/workflows/Linux_versions.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 6696b1ea9..6e36ff675 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -128,6 +128,8 @@ jobs: export ESMF_PIO=external export ESMF_MOAB=OFF export ESMF_ARRAY_LITE=TRUE + export ESMF_PIO_INCLUDE=/home/runner/pio/include + export ESMF_PIO_LIBPATH=/home/runner/pio/lib make -j2 make install From 97db565ea38811657de7668ae77b7e705cf4f057 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 10:40:59 -0700 Subject: [PATCH 52/64] more --- .github/workflows/Linux_versions.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 6e36ff675..4d8c4f192 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -128,6 +128,9 @@ jobs: export ESMF_PIO=external export ESMF_MOAB=OFF export ESMF_ARRAY_LITE=TRUE + ls -l /home/runner/pio + ls -l /home/runner/pio/include + ls -l /home/runner/pio/lib export ESMF_PIO_INCLUDE=/home/runner/pio/include export ESMF_PIO_LIBPATH=/home/runner/pio/lib make -j2 From 69e477c7e14cc5dd660b48aee3eb19a4f223528d Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 11:12:48 -0700 Subject: [PATCH 53/64] more --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 4d8c4f192..4ab0e0455 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -125,7 +125,7 @@ jobs: export ESMF_NETCDF=split export ESMF_NETCDF_INCLUDE=/usr/include export ESMF_NETCDF_LIBPATH=/usr/x86_64-linux-gnu - export ESMF_PIO=external + export ESMF_PIO=OFF export ESMF_MOAB=OFF export ESMF_ARRAY_LITE=TRUE ls -l /home/runner/pio From 78ecda0ded21c6b384f782200aa0e683de84015c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 12:01:47 -0700 Subject: [PATCH 54/64] added esmf 8.3.0 --- .github/workflows/Linux_versions.yml | 87 +++++++++++++--------------- 1 file changed, 41 insertions(+), 46 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 4ab0e0455..c238551c0 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: true matrix: - esmf_version: [8_2_0, 8_2_0] + esmf_version: [8_2_0, 8.3.0] bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3] @@ -49,49 +49,49 @@ jobs: sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install autoconf automake libtool - - name: cache-pnetcdf - id: cache-pnetcdf - uses: actions/cache@v2 - with: - path: ~/pnetcdf - key: Linux_versions-pnetcdf-${{ runner.os }}-1.12.3 + # - name: cache-pnetcdf + # id: cache-pnetcdf + # uses: actions/cache@v2 + # with: + # path: ~/pnetcdf + # key: Linux_versions-pnetcdf-${{ runner.os }}-1.12.3 - - name: build-pnetcdf - if: steps.cache-pnetcdf.outputs.cache-hit != 'true' - run: | - pushd ~ - wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null - tar zxf checkpoint.1.12.3.tar.gz - ls -l - cd PnetCDF-checkpoint.1.12.3 - autoreconf -i - ls -l - ./configure --prefix=/home/runner/pnetcdf --enable-shared - make -j2 - make install + # - name: build-pnetcdf + # if: steps.cache-pnetcdf.outputs.cache-hit != 'true' + # run: | + # pushd ~ + # wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null + # tar zxf checkpoint.1.12.3.tar.gz + # ls -l + # cd PnetCDF-checkpoint.1.12.3 + # autoreconf -i + # ls -l + # ./configure --prefix=/home/runner/pnetcdf --enable-shared + # make -j2 + # make install - - name: cache-pio - id: cache-pio - uses: actions/cache@v2 - with: - path: ~/pio - key: Linux_versions-pio-${{ runner.os }}-2.5.10 + # - name: cache-pio + # id: cache-pio + # uses: actions/cache@v2 + # with: + # path: ~/pio + # key: Linux_versions-pio-${{ runner.os }}-2.5.10 - - name: build-pio - if: steps.cache-pio.outputs.cache-hit != 'true' - run: | - pushd ~ - wget https://github.com/NCAR/ParallelIO/archive/refs/tags/pio2_5_10.tar.gz &> /dev/null - tar zxf pio2_5_10.tar.gz - ls -l - cd ParallelIO-pio2_5_10 - autoreconf -i - ls -l - export CPPFLAGS=-I/home/runner/pnetcdf/include - export LDFLAGS=-L/home/runner/pnetcdf/lib - ./configure --prefix=/home/runner/pio - make -j2 - make install + # - name: build-pio + # if: steps.cache-pio.outputs.cache-hit != 'true' + # run: | + # pushd ~ + # wget https://github.com/NCAR/ParallelIO/archive/refs/tags/pio2_5_10.tar.gz &> /dev/null + # tar zxf pio2_5_10.tar.gz + # ls -l + # cd ParallelIO-pio2_5_10 + # autoreconf -i + # ls -l + # export CPPFLAGS=-I/home/runner/pnetcdf/include + # export LDFLAGS=-L/home/runner/pnetcdf/lib + # ./configure --prefix=/home/runner/pio + # make -j2 + # make install - name: cache-esmf id: cache-esmf @@ -128,11 +128,6 @@ jobs: export ESMF_PIO=OFF export ESMF_MOAB=OFF export ESMF_ARRAY_LITE=TRUE - ls -l /home/runner/pio - ls -l /home/runner/pio/include - ls -l /home/runner/pio/lib - export ESMF_PIO_INCLUDE=/home/runner/pio/include - export ESMF_PIO_LIBPATH=/home/runner/pio/lib make -j2 make install From fa4fa3bd94d9c871dcce9c1c9f73be2800fad88f Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Thu, 15 Dec 2022 12:19:06 -0700 Subject: [PATCH 55/64] added esmf 8.4.0 --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index c238551c0..fd5ab61ac 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: true matrix: - esmf_version: [8_2_0, 8.3.0] + 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] From 1a4b0bac451331dd266e1ac490b985ef1843ef05 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:27:09 -0700 Subject: [PATCH 56/64] added Linux_versions_ext workflow --- .github/workflows/Linux_versions.yml | 47 +-- .github/workflows/Linux_versions_ext.yml | 387 +++++++++++++++++++++++ 2 files changed, 388 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/Linux_versions_ext.yml diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index fd5ab61ac..ea2b79100 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: true matrix: - esmf_version: [8_2_0, 8.3.0, 8.4.0] + esmf_version: [8.4.0] bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3] @@ -49,51 +49,6 @@ jobs: sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install autoconf automake libtool - # - name: cache-pnetcdf - # id: cache-pnetcdf - # uses: actions/cache@v2 - # with: - # path: ~/pnetcdf - # key: Linux_versions-pnetcdf-${{ runner.os }}-1.12.3 - - # - name: build-pnetcdf - # if: steps.cache-pnetcdf.outputs.cache-hit != 'true' - # run: | - # pushd ~ - # wget https://github.com/Parallel-NetCDF/PnetCDF/archive/refs/tags/checkpoint.1.12.3.tar.gz &> /dev/null - # tar zxf checkpoint.1.12.3.tar.gz - # ls -l - # cd PnetCDF-checkpoint.1.12.3 - # autoreconf -i - # ls -l - # ./configure --prefix=/home/runner/pnetcdf --enable-shared - # make -j2 - # make install - - # - name: cache-pio - # id: cache-pio - # uses: actions/cache@v2 - # with: - # path: ~/pio - # key: Linux_versions-pio-${{ runner.os }}-2.5.10 - - # - name: build-pio - # if: steps.cache-pio.outputs.cache-hit != 'true' - # run: | - # pushd ~ - # wget https://github.com/NCAR/ParallelIO/archive/refs/tags/pio2_5_10.tar.gz &> /dev/null - # tar zxf pio2_5_10.tar.gz - # ls -l - # cd ParallelIO-pio2_5_10 - # autoreconf -i - # ls -l - # export CPPFLAGS=-I/home/runner/pnetcdf/include - # export LDFLAGS=-L/home/runner/pnetcdf/lib - # ./configure --prefix=/home/runner/pio - # make -j2 - # make install - - - name: cache-esmf id: cache-esmf uses: actions/cache@v2 with: diff --git a/.github/workflows/Linux_versions_ext.yml b/.github/workflows/Linux_versions_ext.yml new file mode 100644 index 000000000..675c8c797 --- /dev/null +++ b/.github/workflows/Linux_versions_ext.yml @@ -0,0 +1,387 @@ +# UFS_UTILS test workflow. +# +# Check different versions of the external libraries that are used by UFS_UTILS. +# +# Ed Hartnett 12/16/22 +name: Linux_versions +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md + +defaults: + run: + shell: bash -exo pipefail {0} + +jobs: + Linux_versions: + runs-on: ubuntu-latest + env: + FC: mpifort + CC: mpicc + FCFLAGS: -fallow-argument-mismatch + 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] + ip_version: [3.3.3] + w3nco_version: [2.4.0] + nemsio_version: [2.5.0] + sfcio_version: [1.4.0] + sigio_version: [2.3.0] + + steps: + + - name: install-dependencies + run: | + 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 + sudo apt-get install autoconf automake libtool + + id: cache-esmf + uses: actions/cache@v2 + with: + path: ~/esmf + key: Linux_versions-esmf-${{ matrix.esmf_version }}-${{ runner.os }} + + - name: build-esmf + if: steps.cache-esmf.outputs.cache-hit != 'true' + run: | + pushd ~ + 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 + export ESMF_INSTALL_MODDIR=mod + export ESMF_COMPILER=gfortran + export ESMF_INSTALL_PREFIX=~/esmf + 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 + + - name: cache-jasper + id: cache-jasper + uses: actions/cache@v2 + with: + path: ~/jasper + key: Linux_versions-jasper-${{ runner.os }}-2.0.33-1 + + - name: checkout-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: jasper-software/jasper + path: jasper + ref: version-2.0.33 + + - name: build-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + run: | + cd jasper + mkdir build-jasper && cd build-jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper + make -j2 + make install + + - name: cache-bacio + id: cache-bacio + uses: actions/cache@v2 + with: + path: ~/bacio + key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.bacio_version }} + + - name: checkout-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-bacio + path: bacio + ref: v${{ matrix.bacio_version }} + + - name: build-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' + run: | + cd bacio + mkdir build && cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio + make -j2 + make install + + - name: cache-g2 + id: cache-g2 + uses: actions/cache@v2 + with: + path: ~/g2 + key: Linux_versions-g2-${{ runner.os }}-${{ matrix.g2_version }} + + - name: checkout-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-g2 + path: g2 + ref: v${{ matrix.g2_version }} + + - name: build-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + run: | + cd g2 + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH="~/bacio;~/jasper" .. + make -j2 + make install + + - name: cache-sp + id: cache-sp + uses: actions/cache@v2 + with: + path: ~/sp + key: Linux_versions-sp-${{ runner.os }}-${{ matrix.sp_version }} + + - name: checkout-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sp + path: sp + ref: v${{ matrix.sp_version }} + + - name: build-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + run: | + cd sp + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sp + make -j2 + make install + + - name: cache-ip + id: cache-ip + uses: actions/cache@v2 + with: + path: ~/ip + key: Linux_versions-ip-${{ runner.os }}-${{ matrix.ip_version }} + + - name: checkout-ip + if: steps.cache-ip.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-ip + path: ip + ref: v${{ matrix.ip_version }} + + - name: build-ip + if: steps.cache-ip.outputs.cache-hit != 'true' + run: | + cd ip + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~/sp .. + make -j2 + make install + + # - name: checkout-w3emc + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-w3emc + # path: w3emc + # ref: develop + + # - name: build-w3emc + # run: | + # cd w3emc + # mkdir build + # cd build + # cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. + # make -j2 + # make install + + # - name: checkout-g2c + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-g2c + # path: g2c + # ref: develop + + # - name: build-g2c + # run: | + # cd g2c + # mkdir build + # cd build + # cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper + # make -j2 + # make install + + - name: cache-sfcio + id: cache-sfcio + uses: actions/cache@v2 + with: + path: ~/sfcio + key: Linux_versions-sfcio-${{ runner.os }}-${{ matrix.sfcio_version }} + + - name: checkout-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sfcio + path: sfcio + ref: v${{ matrix.sfcio_version }} + + - name: build-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + run: | + cd sfcio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sfcio + make -j2 + make install + + - name: cache-w3nco + id: cache-w3nco + uses: actions/cache@v2 + with: + path: ~/w3nco + key: Linux_versions-w3nco-${{ runner.os }}-${{ matrix.w3nco_version }} + + - name: checkout-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-w3nco + path: w3nco + ref: v${{ matrix.w3nco_version }} + + - name: build-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + run: | + cd w3nco + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/w3nco + make -j2 + make install + + - name: cache-nemsio + id: cache-nemsio + uses: actions/cache@v2 + with: + path: ~/nemsio + key: Linux_versions-nemsio-${{ runner.os }}-${{ matrix.nemsio_version }} + + - name: checkout-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-nemsio + path: nemsio + ref: v${{ matrix.nemsio_version }} + + - name: build-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + run: | + cd nemsio + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco" .. + make -j2 + make install + + - name: cache-sigio + id: cache-sigio + uses: actions/cache@v2 + with: + path: ~/sigio + key: Linux_versions-sigio-${{ runner.os }}-${{ matrix.sigio_version }} + + - name: checkout-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sigio + path: sigio + ref: v${{ matrix.sigio_version }} + + - name: build-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + run: | + cd sigio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sigio + make -j2 + make install + + - name: checkout + uses: actions/checkout@v2 + with: + path: ufs_utils + submodules: true + + - name: cache-data + id: cache-data + uses: actions/cache@v2 + with: + path: ~/data + key: data-1 + + - name: build + run: | + set -x + cd ufs_utils + mkdir build + cd build + export ESMFMKFILE=~/esmf/lib/esmf.mk + cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. + make -j2 VERBOSE=1 + + - name: test + run: | + cd ufs_utils/build + ctest --verbose --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 + + + + + From ff2688653926f8880758e0cbbb31021f08cb4166 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:28:22 -0700 Subject: [PATCH 57/64] changed name --- .github/workflows/Linux_versions_ext.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Linux_versions_ext.yml b/.github/workflows/Linux_versions_ext.yml index 675c8c797..b78043aaf 100644 --- a/.github/workflows/Linux_versions_ext.yml +++ b/.github/workflows/Linux_versions_ext.yml @@ -3,7 +3,7 @@ # Check different versions of the external libraries that are used by UFS_UTILS. # # Ed Hartnett 12/16/22 -name: Linux_versions +name: Linux_versions_ext on: push: branches: @@ -21,7 +21,7 @@ defaults: shell: bash -exo pipefail {0} jobs: - Linux_versions: + Linux_versions_ext: runs-on: ubuntu-latest env: FC: mpifort From 585b8ab4613ca8c6bcb1d82dfdd63e90d0309e0a Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:31:33 -0700 Subject: [PATCH 58/64] changed name --- .github/workflows/Linux_versions_ext.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/Linux_versions_ext.yml b/.github/workflows/Linux_versions_ext.yml index b78043aaf..8eff8bcd3 100644 --- a/.github/workflows/Linux_versions_ext.yml +++ b/.github/workflows/Linux_versions_ext.yml @@ -39,7 +39,7 @@ jobs: nemsio_version: [2.5.0] sfcio_version: [1.4.0] sigio_version: [2.3.0] - + steps: - name: install-dependencies @@ -48,7 +48,7 @@ jobs: sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libmpich-dev sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install autoconf automake libtool - + id: cache-esmf uses: actions/cache@v2 with: @@ -67,7 +67,7 @@ jobs: 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 + tar zxf v${{ matrix.esmf_version }}.tar.gz cd esmf-${{ matrix.esmf_version }} export ESMF_DIR=~/esmf-${{ matrix.esmf_version }} fi @@ -94,7 +94,7 @@ jobs: key: Linux_versions-jasper-${{ runner.os }}-2.0.33-1 - name: checkout-jasper - if: steps.cache-jasper.outputs.cache-hit != 'true' + if: steps.cache-jasper.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: jasper-software/jasper @@ -124,7 +124,7 @@ jobs: repository: NOAA-EMC/NCEPLIBS-bacio path: bacio ref: v${{ matrix.bacio_version }} - + - name: build-bacio if: steps.cache-bacio.outputs.cache-hit != 'true' run: | @@ -224,7 +224,7 @@ jobs: # cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. # make -j2 # make install - + # - name: checkout-g2c # uses: actions/checkout@v2 # with: @@ -380,8 +380,3 @@ jobs: cp ufs_utils/tests/emcsfc_snow2mdl/data/* ~/data cp ufs_utils/tests/chgres_cube/data/* ~/data ls -l ~/data - - - - - From 68772d46b56d584b93dbb8d8e51b7946eee2a0be Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:32:20 -0700 Subject: [PATCH 59/64] changed name --- .github/workflows/Linux_versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index ea2b79100..f96320095 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: true matrix: - esmf_version: [8.4.0] + 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] From 896a68dbe7d3da7b68aa8d10da61b90fe1d5fef9 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:32:51 -0700 Subject: [PATCH 60/64] changed name --- .github/workflows/Linux_versions.yml | 326 --------------------------- 1 file changed, 326 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index f96320095..673e6eb08 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -55,332 +55,6 @@ jobs: path: ~/esmf key: Linux_versions-esmf-${{ matrix.esmf_version }}-${{ runner.os }} - - name: build-esmf - if: steps.cache-esmf.outputs.cache-hit != 'true' - run: | - pushd ~ - 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 - export ESMF_INSTALL_MODDIR=mod - export ESMF_COMPILER=gfortran - export ESMF_INSTALL_PREFIX=~/esmf - 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 - - - name: cache-jasper - id: cache-jasper - uses: actions/cache@v2 - with: - path: ~/jasper - key: Linux_versions-jasper-${{ runner.os }}-2.0.33-1 - - - name: checkout-jasper - if: steps.cache-jasper.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: jasper-software/jasper - path: jasper - ref: version-2.0.33 - - - name: build-jasper - if: steps.cache-jasper.outputs.cache-hit != 'true' - run: | - cd jasper - mkdir build-jasper && cd build-jasper - cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper - make -j2 - make install - - - name: cache-bacio - id: cache-bacio - uses: actions/cache@v2 - with: - path: ~/bacio - key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.bacio_version }} - - - name: checkout-bacio - if: steps.cache-bacio.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-bacio - path: bacio - ref: v${{ matrix.bacio_version }} - - - name: build-bacio - if: steps.cache-bacio.outputs.cache-hit != 'true' - run: | - cd bacio - mkdir build && cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio - make -j2 - make install - - - name: cache-g2 - id: cache-g2 - uses: actions/cache@v2 - with: - path: ~/g2 - key: Linux_versions-g2-${{ runner.os }}-${{ matrix.g2_version }} - - - name: checkout-g2 - if: steps.cache-g2.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-g2 - path: g2 - ref: v${{ matrix.g2_version }} - - - name: build-g2 - if: steps.cache-g2.outputs.cache-hit != 'true' - run: | - cd g2 - mkdir build - cd build - cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH="~/bacio;~/jasper" .. - make -j2 - make install - - - name: cache-sp - id: cache-sp - uses: actions/cache@v2 - with: - path: ~/sp - key: Linux_versions-sp-${{ runner.os }}-${{ matrix.sp_version }} - - - name: checkout-sp - if: steps.cache-sp.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-sp - path: sp - ref: v${{ matrix.sp_version }} - - - name: build-sp - if: steps.cache-sp.outputs.cache-hit != 'true' - run: | - cd sp - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/sp - make -j2 - make install - - - name: cache-ip - id: cache-ip - uses: actions/cache@v2 - with: - path: ~/ip - key: Linux_versions-ip-${{ runner.os }}-${{ matrix.ip_version }} - - - name: checkout-ip - if: steps.cache-ip.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-ip - path: ip - ref: v${{ matrix.ip_version }} - - - name: build-ip - if: steps.cache-ip.outputs.cache-hit != 'true' - run: | - cd ip - mkdir build - cd build - cmake -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~/sp .. - make -j2 - make install - - # - name: checkout-w3emc - # uses: actions/checkout@v2 - # with: - # repository: NOAA-EMC/NCEPLIBS-w3emc - # path: w3emc - # ref: develop - - # - name: build-w3emc - # run: | - # cd w3emc - # mkdir build - # cd build - # cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. - # make -j2 - # make install - - # - name: checkout-g2c - # uses: actions/checkout@v2 - # with: - # repository: NOAA-EMC/NCEPLIBS-g2c - # path: g2c - # ref: develop - - # - name: build-g2c - # run: | - # cd g2c - # mkdir build - # cd build - # cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper - # make -j2 - # make install - - - name: cache-sfcio - id: cache-sfcio - uses: actions/cache@v2 - with: - path: ~/sfcio - key: Linux_versions-sfcio-${{ runner.os }}-${{ matrix.sfcio_version }} - - - name: checkout-sfcio - if: steps.cache-sfcio.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-sfcio - path: sfcio - ref: v${{ matrix.sfcio_version }} - - - name: build-sfcio - if: steps.cache-sfcio.outputs.cache-hit != 'true' - run: | - cd sfcio - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/sfcio - make -j2 - make install - - - name: cache-w3nco - id: cache-w3nco - uses: actions/cache@v2 - with: - path: ~/w3nco - key: Linux_versions-w3nco-${{ runner.os }}-${{ matrix.w3nco_version }} - - - name: checkout-w3nco - if: steps.cache-w3nco.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-w3nco - path: w3nco - ref: v${{ matrix.w3nco_version }} - - - name: build-w3nco - if: steps.cache-w3nco.outputs.cache-hit != 'true' - run: | - cd w3nco - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/w3nco - make -j2 - make install - - - name: cache-nemsio - id: cache-nemsio - uses: actions/cache@v2 - with: - path: ~/nemsio - key: Linux_versions-nemsio-${{ runner.os }}-${{ matrix.nemsio_version }} - - - name: checkout-nemsio - if: steps.cache-nemsio.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-nemsio - path: nemsio - ref: v${{ matrix.nemsio_version }} - - - name: build-nemsio - if: steps.cache-nemsio.outputs.cache-hit != 'true' - run: | - cd nemsio - mkdir build - cd build - cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco" .. - make -j2 - make install - - - name: cache-sigio - id: cache-sigio - uses: actions/cache@v2 - with: - path: ~/sigio - key: Linux_versions-sigio-${{ runner.os }}-${{ matrix.sigio_version }} - - - name: checkout-sigio - if: steps.cache-sigio.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-sigio - path: sigio - ref: v${{ matrix.sigio_version }} - - - name: build-sigio - if: steps.cache-sigio.outputs.cache-hit != 'true' - run: | - cd sigio - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/sigio - make -j2 - make install - - - name: checkout - uses: actions/checkout@v2 - with: - path: ufs_utils - submodules: true - - - name: cache-data - id: cache-data - uses: actions/cache@v2 - with: - path: ~/data - key: data-1 - - - name: build - run: | - set -x - cd ufs_utils - mkdir build - cd build - export ESMFMKFILE=~/esmf/lib/esmf.mk - cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. - make -j2 VERBOSE=1 - - - name: test - run: | - cd ufs_utils/build - ctest --verbose --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 - From 4897a7d850b5fcc3b81ec1385edc61023d3bf2f4 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:33:46 -0700 Subject: [PATCH 61/64] changed name --- .github/workflows/Linux_versions.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 673e6eb08..515a3f64c 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -49,13 +49,3 @@ jobs: sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install autoconf automake libtool - id: cache-esmf - uses: actions/cache@v2 - with: - path: ~/esmf - key: Linux_versions-esmf-${{ matrix.esmf_version }}-${{ runner.os }} - - - - - From c02397cbb21f3ee8549e990d14bf809e0a1e910c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:34:35 -0700 Subject: [PATCH 62/64] changed name --- .github/workflows/Linux_versions.yml | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index 515a3f64c..e68a658a9 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -49,3 +49,40 @@ jobs: sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install autoconf automake libtool + id: cache-esmf + uses: actions/cache@v2 + with: + path: ~/esmf + key: Linux_versions-esmf-${{ matrix.esmf_version }}-${{ runner.os }} + + - name: build-esmf + if: steps.cache-esmf.outputs.cache-hit != 'true' + run: | + pushd ~ + 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 + export ESMF_INSTALL_MODDIR=mod + export ESMF_COMPILER=gfortran + export ESMF_INSTALL_PREFIX=~/esmf + 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 + From a03e2cd8396ffaa35138f99b8d674ced4409c830 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:35:59 -0700 Subject: [PATCH 63/64] changed name --- .github/workflows/Linux_versions.yml | 295 +++++++++++++++++++++++ .github/workflows/Linux_versions_ext.yml | 1 + 2 files changed, 296 insertions(+) diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml index e68a658a9..a67abe615 100644 --- a/.github/workflows/Linux_versions.yml +++ b/.github/workflows/Linux_versions.yml @@ -49,6 +49,7 @@ jobs: sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install autoconf automake libtool + - name: checkout-esmf id: cache-esmf uses: actions/cache@v2 with: @@ -86,3 +87,297 @@ jobs: make -j2 make install + - name: cache-jasper + id: cache-jasper + uses: actions/cache@v2 + with: + path: ~/jasper + key: Linux_versions-jasper-${{ runner.os }}-2.0.33-1 + + - name: checkout-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: jasper-software/jasper + path: jasper + ref: version-2.0.33 + + - name: build-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + run: | + cd jasper + mkdir build-jasper && cd build-jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper + make -j2 + make install + + - name: cache-bacio + id: cache-bacio + uses: actions/cache@v2 + with: + path: ~/bacio + key: Linux_versions-bacio-${{ runner.os }}-${{ matrix.bacio_version }} + + - name: checkout-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-bacio + path: bacio + ref: v${{ matrix.bacio_version }} + + - name: build-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' + run: | + cd bacio + mkdir build && cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio + make -j2 + make install + + - name: cache-g2 + id: cache-g2 + uses: actions/cache@v2 + with: + path: ~/g2 + key: Linux_versions-g2-${{ runner.os }}-${{ matrix.g2_version }} + + - name: checkout-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-g2 + path: g2 + ref: v${{ matrix.g2_version }} + + - name: build-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + run: | + cd g2 + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH="~/bacio;~/jasper" .. + make -j2 + make install + + - name: cache-sp + id: cache-sp + uses: actions/cache@v2 + with: + path: ~/sp + key: Linux_versions-sp-${{ runner.os }}-${{ matrix.sp_version }} + + - name: checkout-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sp + path: sp + ref: v${{ matrix.sp_version }} + + - name: build-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + run: | + cd sp + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sp + make -j2 + make install + + - name: cache-ip + id: cache-ip + uses: actions/cache@v2 + with: + path: ~/ip + key: Linux_versions-ip-${{ runner.os }}-${{ matrix.ip_version }} + + - name: checkout-ip + if: steps.cache-ip.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-ip + path: ip + ref: v${{ matrix.ip_version }} + + - name: build-ip + if: steps.cache-ip.outputs.cache-hit != 'true' + run: | + cd ip + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~/sp .. + make -j2 + make install + + # - name: checkout-w3emc + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-w3emc + # path: w3emc + # ref: develop + + # - name: build-w3emc + # run: | + # cd w3emc + # mkdir build + # cd build + # cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. + # make -j2 + # make install + + # - name: checkout-g2c + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-g2c + # path: g2c + # ref: develop + + # - name: build-g2c + # run: | + # cd g2c + # mkdir build + # cd build + # cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper + # make -j2 + # make install + + - name: cache-sfcio + id: cache-sfcio + uses: actions/cache@v2 + with: + path: ~/sfcio + key: Linux_versions-sfcio-${{ runner.os }}-${{ matrix.sfcio_version }} + + - name: checkout-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sfcio + path: sfcio + ref: v${{ matrix.sfcio_version }} + + - name: build-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + run: | + cd sfcio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sfcio + make -j2 + make install + + - name: cache-w3nco + id: cache-w3nco + uses: actions/cache@v2 + with: + path: ~/w3nco + key: Linux_versions-w3nco-${{ runner.os }}-${{ matrix.w3nco_version }} + + - name: checkout-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-w3nco + path: w3nco + ref: v${{ matrix.w3nco_version }} + + - name: build-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + run: | + cd w3nco + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/w3nco + make -j2 + make install + + - name: cache-nemsio + id: cache-nemsio + uses: actions/cache@v2 + with: + path: ~/nemsio + key: Linux_versions-nemsio-${{ runner.os }}-${{ matrix.nemsio_version }} + + - name: checkout-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-nemsio + path: nemsio + ref: v${{ matrix.nemsio_version }} + + - name: build-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + run: | + cd nemsio + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco" .. + make -j2 + make install + + - name: cache-sigio + id: cache-sigio + uses: actions/cache@v2 + with: + path: ~/sigio + key: Linux_versions-sigio-${{ runner.os }}-${{ matrix.sigio_version }} + + - name: checkout-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sigio + path: sigio + ref: v${{ matrix.sigio_version }} + + - name: build-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + run: | + cd sigio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sigio + make -j2 + make install + + - name: checkout + uses: actions/checkout@v2 + with: + path: ufs_utils + submodules: true + + - name: cache-data + id: cache-data + uses: actions/cache@v2 + with: + path: ~/data + key: data-1 + + - name: build + run: | + set -x + cd ufs_utils + mkdir build + cd build + export ESMFMKFILE=~/esmf/lib/esmf.mk + cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH="~/jasper;~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" .. + make -j2 VERBOSE=1 + + - name: test + run: | + cd ufs_utils/build + ctest --verbose --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 diff --git a/.github/workflows/Linux_versions_ext.yml b/.github/workflows/Linux_versions_ext.yml index 8eff8bcd3..816adf7ec 100644 --- a/.github/workflows/Linux_versions_ext.yml +++ b/.github/workflows/Linux_versions_ext.yml @@ -49,6 +49,7 @@ jobs: sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install autoconf automake libtool + - name: checkout-esmf id: cache-esmf uses: actions/cache@v2 with: From fef8a03dba74cd36b1a7a95de890ccbb931f79d0 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Fri, 16 Dec 2022 07:41:59 -0700 Subject: [PATCH 64/64] changed name --- .github/workflows/Linux_versions_ext.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Linux_versions_ext.yml b/.github/workflows/Linux_versions_ext.yml index 816adf7ec..98dac4d95 100644 --- a/.github/workflows/Linux_versions_ext.yml +++ b/.github/workflows/Linux_versions_ext.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: true matrix: - esmf_version: [8_2_0, 8.3.0, 8.4.0] + esmf_version: [8_2_0, 8.3.1, 8.4.0] bacio_version: [2.4.1] g2_version: [3.4.3] sp_version: [2.3.3]