diff --git a/.github/workflows/Linux_versions.yml b/.github/workflows/Linux_versions.yml deleted file mode 100644 index 03baff39d..000000000 --- a/.github/workflows/Linux_versions.yml +++ /dev/null @@ -1,383 +0,0 @@ -# UFS_UTILS test workflow. -# -# Check different versions of the NCEPLIBS libraries that are used by UFS_UTILS. -# -# 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 - 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] - w3emc_version: [2.9.3] - 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 - - - name: checkout-esmf - 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-w3emc - id: cache-w3emc - uses: actions/cache@v2 - with: - path: ~/w3emc - key: Linux_versions-w3emc-${{ runner.os }}-${{ matrix.w3emc_version }} - - - name: checkout-w3emc - if: steps.cache-w3emc.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-w3emc - path: w3emc - ref: v${{ matrix.w3emc_version }} - - - name: build-w3emc - if: steps.cache-w3emc.outputs.cache-hit != 'true' - run: | - cd w3emc - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/w3emc -DCMAKE_PREFIX_PATH=~/bacio - 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;~/w3emc" .. - 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;~/w3emc;~/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