-
Notifications
You must be signed in to change notification settings - Fork 83
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into bugfix-FB-init-dim-mismatch
- Loading branch information
Showing
59 changed files
with
4,799 additions
and
4,445 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 |
---|---|---|
|
@@ -20,13 +20,13 @@ jobs: | |
CPPFLAGS: "-I/usr/include -I/usr/local/include" | ||
|
||
# Versions of all dependencies can be updated here | ||
ESMF_VERSION: v8.6.0 | ||
PNETCDF_VERSION: checkpoint.1.12.3 | ||
ESMF_VERSION: v8.7.0 | ||
PNETCDF_VERSION: checkpoint.1.14.0 | ||
NETCDF_FORTRAN_VERSION: v4.6.1 | ||
PIO_VERSION: pio2_6_2 | ||
CDEPS_VERSION: cdeps1.0.26 | ||
PIO_VERSION: pio2_6_3 | ||
CDEPS_VERSION: cdeps1.0.62 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
# Build the ESMF library, if the cache contains a previous build | ||
# it will be used instead | ||
- id: load-env | ||
|
@@ -40,13 +40,13 @@ jobs: | |
sudo apt-get install pnetcdf-bin libpnetcdf-dev | ||
sudo apt-get install autotools-dev autoconf | ||
- id: cache-esmf | ||
uses: actions/cache@v3 | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/ESMF | ||
key: ${{ runner.os }}-${{ env.ESMF_VERSION }}-ESMF | ||
- name: Cache ParallelIO | ||
id: cache-ParallelIO | ||
uses: actions/cache@v3 | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/pio | ||
key: ${{ runner.os }}-${{ env.PIO_VERSION }}.pio | ||
|
@@ -71,31 +71,35 @@ jobs: | |
parallelio_path: $HOME/pio | ||
- name: Cache CDEPS | ||
id: cache-cdeps | ||
uses: actions/cache@v3 | ||
uses: actions/cache@v4 | ||
with: | ||
path: $HOME/cdeps | ||
key: ${{ runner.os }}-${{ env.CDEPS_VERSION }}.cdeps | ||
path: /homme/runner/work/CMEPS/CMEPS/build-cdeps | ||
key: ${{ runner.os }}-${{ env.CDEPS_VERSION }}.cdeps1 | ||
|
||
- name: checkout CDEPS | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: ESCOMP/CDEPS | ||
path: cdeps-src | ||
ref: ${{ env.CDEPS_VERSION }} | ||
- name: get genf90 | ||
run: | | ||
cd cdeps-src | ||
git submodule update --init | ||
- name: Build CDEPS | ||
if: steps.cache-cdeps.outputs.cache-hit != 'true' | ||
uses: ESCOMP/CDEPS/.github/actions/[email protected] | ||
with: | ||
esmfmkfile: $HOME/ESMF/lib/libg/Linux.gfortran.64.openmpi.default/esmf.mk | ||
pio_path: $HOME/pio | ||
src_root: ${GITHUB_WORKSPACE}/cdeps-src | ||
cmake_flags: " -Wno-dev -DCMAKE_BUILD_TYPE=DEBUG -DWERROR=ON -DCMAKE_Fortran_FLAGS=\"-DCPRGNU -g -Wall \ | ||
cmake_flags: " -Wno-dev -DDISABLE_FoX=ON -DCMAKE_BUILD_TYPE=DEBUG -DWERROR=ON -DCMAKE_Fortran_FLAGS=\"-DCPRGNU -g -Wall \ | ||
-ffree-form -ffree-line-length-none -fallow-argument-mismatch \"" | ||
|
||
- name: Build CMEPS | ||
run: | | ||
export ESMFMKFILE=$HOME/ESMF/lib/libg/Linux.gfortran.64.openmpi.default/esmf.mk | ||
export PIO=$HOME/pio | ||
export ESMFMKFILE=$HOME/ESMF/lib/libg/Linux.gfortran.64.openmpi.default/esmf.mk | ||
mkdir build-cmeps | ||
pushd build-cmeps | ||
cmake -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_Fortran_FLAGS="-g -Wall -Werror -ffree-form -ffree-line-length-none -Wno-unused-dummy-argument -I /home/runner/work/CMEPS/CMEPS/build-cdeps/share" ../ | ||
|
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 |
---|---|---|
|
@@ -17,17 +17,18 @@ jobs: | |
# The type of runner that the job will run on | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: [ 3.10.9 ] | ||
python-version: [ 3.8, 3.11, 3.x ] | ||
env: | ||
CC: mpicc | ||
FC: mpifort | ||
CXX: mpicxx | ||
CPPFLAGS: "-I/usr/include -I/usr/local/include " | ||
LDFLAGS: "-L/usr/lib/x86_64-linux-gnu -lnetcdf -lnetcdff -lpnetcdf" | ||
# Versions of all dependencies can be updated here | ||
ESMF_VERSION: v8.6.0 | ||
PARALLELIO_VERSION: pio2_6_2 | ||
ESMF_VERSION: v8.6.1 | ||
PARALLELIO_VERSION: pio2_6_3 | ||
CIME_MODEL: cesm | ||
CIME_DRIVER: nuopc | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
@@ -64,98 +65,87 @@ jobs: | |
run: pip install -r requirements.txt | ||
# use the latest cesm main | ||
- name: cesm checkout | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: ESCOMP/CESM | ||
path: cesm | ||
# this cmeps commit | ||
- name: cmeps checkout | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
with: | ||
path: cesm/components/cmeps | ||
|
||
# Checkout cesm datamodels and support | ||
# cpl7 is needed - i think that's a bug | ||
- name: checkout externals | ||
run: | | ||
git config --global user.name "${GITHUB_ACTOR}" | ||
git config --global user.email "${GITHUB_ACTOR_ID}+${GITHUB_ACTOR}@users.noreply.github.com" | ||
pushd cesm | ||
./manage_externals/checkout_externals ccs_config cdeps cime share mct cpl7 parallelio | ||
./bin/git-fleximod update cime ccs_config cdeps share mct parallelio | ||
cd ccs_config | ||
git checkout main | ||
git checkout main | ||
cd ../cime | ||
git checkout master | ||
git status | ||
if [[ ! -e "${PWD}/.gitmodules.bak" ]] | ||
then | ||
echo "Convering [email protected] to https://github.com urls in ${PWD}/.gitmodules" | ||
echo "Converting [email protected] to https://github.com urls in ${PWD}/.gitmodules" | ||
sed -i".bak" "s/[email protected]:/https:\/\/github.com\//g" "${PWD}/.gitmodules" | ||
fi | ||
git submodule update --init | ||
cd ../components/cdeps | ||
git checkout main | ||
git submodule update --init | ||
cd ../../share | ||
git checkout main | ||
- name: Cache ESMF | ||
id: cache-esmf | ||
uses: actions/cache@v3 | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/ESMF | ||
key: ${{ runner.os }}-${{ env.ESMF_VERSION }}-ESMF1 | ||
# - name: cache pnetcdf | ||
# id: cache-pnetcdf | ||
# uses: actions/cache@v3 | ||
# with: | ||
# path: ~/pnetcdf | ||
# key: ${{ runner.os }}-${{ env.PNETCDF_VERSION}}-pnetcdf | ||
|
||
# - name: Cache netcdf-fortran | ||
# id: cache-netcdf-fortran | ||
# uses: actions/cache@v3 | ||
# with: | ||
# path: ~/netcdf-fortran | ||
# key: ${{ runner.os }}-${{ env.NETCDF_FORTRAN_VERSION }}-netcdf-fortran | ||
key: ${{ runner.os }}-${{ env.ESMF_VERSION }} | ||
|
||
- name: Cache ParallelIO | ||
id: cache-ParallelIO | ||
uses: actions/cache@v3 | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/pio | ||
path: ${GITHUB_WORKSPACE}/pio | ||
key: ${{ runner.os }}-${{ env.PARALLELIO_VERSION }}.parallelio | ||
|
||
- name: Cache inputdata | ||
id: cache-inputdata | ||
uses: actions/cache@v3 | ||
uses: actions/cache@v4 | ||
with: | ||
path: $HOME/cesm/inputdata | ||
key: inputdata | ||
# - name: Build PNetCDF | ||
# if: steps.cache-pnetcdf.outputs.cache-hit != 'true' | ||
# uses: ESCOMP/CDEPS/.github/actions/buildpnetcdf@e06246b560d3132170bb1a5443fa3d65dfbd2040 | ||
# with: | ||
# pnetcdf_version: ${{ env.PNETCDF_VERSION }} | ||
# install_prefix: $HOME/pnetcdf | ||
# - name: Build NetCDF Fortran | ||
# if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' | ||
# uses: ESCOMP/CDEPS/.github/actions/buildnetcdff@e06246b560d3132170bb1a5443fa3d65dfbd2040 | ||
# with: | ||
# netcdf_fortran_version: ${{ env.NETCDF_FORTRAN_VERSION }} | ||
# install_prefix: $HOME/netcdf-fortran | ||
# netcdf_c_path: /usr | ||
|
||
- name: Build ParallelIO | ||
if: steps.cache-PARALLELIO.outputs.cache-hit != 'true' | ||
uses: NCAR/ParallelIO/.github/actions/parallelio_cmake@05173a6556ea8d80eb34e3881a5014ea8f4b7543 | ||
with: | ||
parallelio_version: ${{ env.ParallelIO_VERSION }} | ||
enable_fortran: True | ||
install_prefix: /home/runner/pio | ||
install_prefix: ${GITHUB_WORKSPACE}/pio | ||
|
||
- name: Build ESMF | ||
if: steps.cache-esmf.outputs.cache-hit != 'true' | ||
uses: ESCOMP/CDEPS/.github/actions/buildesmf@e06246b560d3132170bb1a5443fa3d65dfbd2040 | ||
- name: Install ESMF | ||
uses: esmf-org/install-esmf-action@v1 | ||
env: | ||
ESMF_COMPILER: gfortran | ||
ESMF_BOPT: g | ||
ESMF_COMM: openmpi | ||
ESMF_NETCDF: nc-config | ||
ESMF_PNETCDF: pnetcdf-config | ||
ESMF_INSTALL_PREFIX: ${GITHUB_WORKSPACE}/ESMF | ||
ESMF_PIO: external | ||
ESMF_PIO_INCLUDE: ${GITHUB_WORKSPACE}/pio/include | ||
ESMF_PIO_LIBPATH: ${GITHUB_WORKSPACE}/pio/lib | ||
with: | ||
esmf_version: ${{ env.ESMF_VERSION }} | ||
esmf_bopt: g | ||
esmf_comm: openmpi | ||
install_prefix: ~/ESMF | ||
netcdf_c_path: /usr | ||
netcdf_fortran_path: /usr | ||
pnetcdf_path: /usr | ||
parallelio_path: ~/pio | ||
version: ${{ env.ESMF_VERSION }} | ||
esmpy: false | ||
cache: true | ||
|
||
|
||
- name: PREP for scripts regression test | ||
|
@@ -165,14 +155,13 @@ jobs: | |
pushd $GITHUB_WORKSPACE/cesm/cime/CIME/tests | ||
export SRCROOT=$GITHUB_WORKSPACE/cesm/ | ||
export CIME_TEST_PLATFORM=ubuntu-latest | ||
export PIO_INCDIR=$HOME/pio/include | ||
export PIO_LIBDIR=$HOME/pio/lib | ||
export PIO_INCDIR=$GITHUB_WORKSPACE/pio/include | ||
export PIO_LIBDIR=$GITHUB_WORKSPACE/pio/lib | ||
export PIO_VERSION_MAJOR=2 | ||
export PIO_TYPENAME_VALID_VALUES="netcdf,pnetcdf" | ||
export NETCDF_PATH=/usr | ||
export PNETCDF_PATH=/usr | ||
export LD_LIBRARY_PATH=/usr/lib/libx86_64-linux-gnu/:$LD_LIBRARY_PATH | ||
export ESMFMKFILE=$HOME/ESMF/lib/libg/Linux.gfortran.64.openmpi.default/esmf.mk | ||
cat <<EOF >> $GITHUB_WORKSPACE/cesm/ccs_config/machines/cmake_macros/ubuntu-latest.cmake | ||
set(NetCDF_Fortran_INCLUDE_DIR /usr/include) | ||
set(NetCDF_Fortran_LIBRARY /usr/lib/x86_64-gnu-Linux/libnetcdff.so) | ||
|
@@ -186,6 +175,6 @@ jobs: | |
popd | ||
# the following can be used by developers to login to the github server in case of errors | ||
# see https://github.com/marketplace/actions/debugging-with-tmate for further details | ||
- name: Setup tmate session | ||
if: ${{ failure() }} | ||
uses: mxschmitt/action-tmate@v3 | ||
# - name: Setup tmate session | ||
# if: ${{ failure() }} | ||
# uses: mxschmitt/action-tmate@v3 |
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.