forked from ESCOMP/CTSM
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update CDEPS to the 20201124 version of the master branch at ESCOMP/CDEPS.
- Loading branch information
Showing
72 changed files
with
7,976 additions
and
4,783 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
# This is a workflow to compile the cdeps source without cime | ||
name: extbuild | ||
# Controls when the action will run. Triggers the workflow on push or pull request | ||
# events but only for the master branch | ||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
|
||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | ||
jobs: | ||
build-cdeps: | ||
runs-on: ubuntu-latest | ||
env: | ||
CC: mpicc | ||
FC: mpifort | ||
CXX: mpicxx | ||
CPPFLAGS: "-I/usr/include -I/usr/local/include" | ||
# Versions of all dependencies can be updated here | ||
ESMF_VERSION: ESMF_8_1_0_beta_snapshot_25 | ||
PNETCDF_VERSION: pnetcdf-1.12.1 | ||
NETCDF_FORTRAN_VERSION: v4.5.2 | ||
PIO_VERSION: pio-2.5.1 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
# Build the ESMF library, if the cache contains a previous build | ||
# it will be used instead | ||
- id: cache-esmf | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/ESMF | ||
key: ${{ runner.os }}-${{ env.ESMF_VERSION }}-ESMF | ||
- id: load-env | ||
run: sudo apt-get install gfortran wget openmpi-bin netcdf-bin libopenmpi-dev | ||
- id: build-ESMF | ||
if: steps.cache-esmf.outputs.cache-hit != 'true' | ||
run: | | ||
wget https://github.com/esmf-org/esmf/archive/${{ env.ESMF_VERSION }}.tar.gz | ||
tar -xzvf ${{ env.ESMF_VERSION }}.tar.gz | ||
pushd esmf-${{ env.ESMF_VERSION }} | ||
export ESMF_DIR=`pwd` | ||
export ESMF_COMM=openmpi | ||
export ESMF_YAMLCPP="internal" | ||
export ESMF_INSTALL_PREFIX=$HOME/ESMF | ||
export ESMF_BOPT=g | ||
make | ||
make install | ||
popd | ||
- id: cache-pnetcdf | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/pnetcdf | ||
key: ${{ runner.os }}-${{ env.PNETCDF_VERSION}}-pnetcdf | ||
- name: pnetcdf build | ||
if: steps.cache-pnetcdf.outputs.cache-hit != 'true' | ||
run: | | ||
wget https://parallel-netcdf.github.io/Release/${{ env.PNETCDF_VERSION }}.tar.gz | ||
tar -xzvf ${{ env.PNETCDF_VERSION }}.tar.gz | ||
ls -l | ||
pushd ${{ env.PNETCDF_VERSION }} | ||
./configure --prefix=$HOME/pnetcdf --enable-shared --disable-cxx | ||
make | ||
make install | ||
popd | ||
- name: Cache netcdf-fortran | ||
id: cache-netcdf-fortran | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/netcdf-fortran | ||
key: ${{ runner.os }}-${{ env.NETCDF_FORTRAN_VERSION }}-netcdf-fortran | ||
- name: netcdf fortran build | ||
if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' | ||
run: | | ||
sudo apt-get install libnetcdf-dev | ||
wget https://github.com/Unidata/netcdf-fortran/archive/${{ env.NETCDF_FORTRAN_VERSION }}.tar.gz | ||
tar -xzvf ${{ env.NETCDF_FORTRAN_VERSION }}.tar.gz | ||
ls -l | ||
pushd netcdf-fortran-* | ||
./configure --prefix=$HOME/netcdf-fortran | ||
make | ||
make install | ||
- name: Cache PIO | ||
id: cache-PIO | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/pio | ||
key: ${{ runner.os }}-${{ env.PIO_VERSION }}.pio | ||
restore-keys: | | ||
${{ runner.os }}-${{ env.NETCDF_FORTRAN_VERSION }}-netcdf-fortran | ||
${{ runner.os }}-${{ env.PNETCDF_VERSION }}-pnetcdf | ||
- name: Build PIO | ||
if: steps.cache-PIO.outputs.cache-hit != 'true' | ||
run: | | ||
wget https://github.com/NCAR/ParallelIO/releases/download/pio_2_5_1/${{ env.PIO_VERSION }}.tar.gz | ||
tar -xzvf ${{ env.PIO_VERSION }}.tar.gz | ||
mkdir build-pio | ||
pushd build-pio | ||
cmake -Wno-dev -DNetCDF_C_LIBRARY=/usr/lib/x86_64-linux-gnu/libnetcdf.so -DNetCDF_C_INCLUDE_DIR=/usr/include -DCMAKE_PREFIX_PATH=/usr -DCMAKE_INSTALL_PREFIX=$HOME/pio -DPIO_HDF5_LOGGING=On -DPIO_USE_MALLOC=On -DPIO_ENABLE_LOGGING=On -DPIO_ENABLE_TIMING=Off -DNetCDF_Fortran_PATH=$HOME/netcdf-fortran -DPnetCDF_PATH=$HOME/pnetcdf ../${{ env.PIO_VERSION }} | ||
make VERBOSE=1 | ||
make install | ||
popd | ||
- name: Build CDEPS | ||
run: | | ||
export ESMFMKFILE=$HOME/ESMF/lib/libg/Linux.gfortran.64.openmpi.default/esmf.mk | ||
export PIO=$HOME/pio | ||
git submodule init | ||
git submodule update | ||
mkdir build-cdeps | ||
pushd build-cdeps | ||
cmake -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_Fortran_FLAGS="-g -Wall -ffree-form -ffree-line-length-none" ../ | ||
make VERBOSE=1 | ||
popd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "fox"] | ||
path = fox | ||
url = https://github.com/ESMCI/fox.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.