diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml deleted file mode 100644 index c9a0a6f9c..000000000 --- a/.github/workflows/netcdf-versions.yml +++ /dev/null @@ -1,186 +0,0 @@ -name: netcdf-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: - netcdf-build-and-test: - runs-on: ubuntu-latest - - strategy: - matrix: - os: [ubuntu-latest] - netcdf_version: [4.8.0] - - steps: - - name: install-dependencies - run: | - sudo apt-get update - 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 }}4 - - - name: build-hdf5 - if: steps.cache-netcdf.outputs.cache-hit != 'true' - run: | - export CC=mpicc - 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 --disable-shared - make -j2 - make install - - - name: build-netcdf-c - if: steps.cache-netcdf.outputs.cache-hit != 'true' - run: | - export CC=mpicc - export CPPFLAGS=-I${HOME}/netcdf/include - export LDFLAGS=-L${HOME}/netcdf/lib - wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v${{ matrix.netcdf_version }}.tar.gz &> /dev/null - tar -xzf v${{ matrix.netcdf_version }}.tar.gz - cd netcdf-c-${{ matrix.netcdf_version }} - ./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: | - set -x - export PATH="${HOME}/netcdf/bin:$PATH" - export CC=mpicc - export FC=mpifort - 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: esmf-8.2.0-${{ runner.os }}-netcdf-${{ matrix.netcdf_version }}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=${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: jasper-2.0.25-${{ runner.os }}3 - - - 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: cache-nceplibs - id: cache-nceplibs - uses: actions/cache@v2 - with: - path: ~/nceplibs - key: nceplibs-1.4.0-${{ runner.os }}-netcdf-${{ matrix.netcdf_version }}3 - - - name: build-nceplibs - if: steps.cache-nceplibs.outputs.cache-hit != 'true' - run: | - 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 - export ESMFMKFILE=~/esmf/lib/esmf.mk - 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 CC=mpicc - 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' .. - 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 - -