-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #560 from GEOS-ESM/develop
Pull Develop into Main for MAPL 2.3 Release
- Loading branch information
Showing
85 changed files
with
5,253 additions
and
2,580 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,177 @@ | ||
version: 2.1 | ||
|
||
executors: | ||
gcc-build-env: | ||
docker: | ||
- image: gmao/ubuntu20-geos-env-mkl:6.0.16-openmpi_4.0.5-gcc_10.2.0 | ||
environment: | ||
OMPI_ALLOW_RUN_AS_ROOT: 1 | ||
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 | ||
OMPI_MCA_btl_vader_single_copy_mechanism: none | ||
resource_class: xlarge | ||
|
||
jobs: | ||
build-and-test-MAPL: | ||
executor: gcc-build-env | ||
working_directory: /root/project | ||
steps: | ||
- checkout: | ||
path: MAPL | ||
- run: | ||
name: "Versions etc" | ||
command: mpirun --version && gfortran --version && echo $BASEDIR && pwd && ls | ||
- run: | ||
name: "Mepo clone external repos" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/MAPL | ||
mepo clone | ||
mepo status | ||
- run: | ||
name: "CMake" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/MAPL | ||
mkdir build | ||
cd build | ||
cmake .. -DBASEDIR=$BASEDIR/Linux -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_BUILD_TYPE=Debug -DUSE_F2PY=OFF -DMPIEXEC_PREFLAGS='--oversubscribe' | ||
- run: | ||
name: "Build and install" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/MAPL/build | ||
make -j"$(nproc)" install | ||
- run: | ||
name: "Run MAPL Unit Tests" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/MAPL/build | ||
make -j"$(nproc)" build-tests | ||
# skip Performance tests (maybe doable on CircleCI?) | ||
ctest -R MAPL -LE PERFORMANCE --output-on-failure | ||
build-GEOSgcm: | ||
executor: gcc-build-env | ||
working_directory: /root/project | ||
steps: | ||
- run: | ||
name: "Checkout GEOSgcm fixture" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY} | ||
git clone https://github.com/GEOS-ESM/GEOSgcm.git | ||
- run: | ||
name: "Mepo clone external repos" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm | ||
mepo clone | ||
mepo develop GEOSgcm_GridComp GEOSgcm_App | ||
mepo status | ||
- run: | ||
name: "Mepo checkout MAPL branch" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm | ||
mepo checkout ${CIRCLE_BRANCH} MAPL | ||
mepo status | ||
- run: | ||
name: "CMake" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm | ||
mkdir build | ||
cd build | ||
cmake .. -DBASEDIR=$BASEDIR/Linux -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${CIRCLE_WORKING_DIRECTORY}/workspace/install-GEOSgcm -DUSE_F2PY=OFF | ||
- run: | ||
name: "Build and install" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm/build | ||
make -j"$(nproc)" install | ||
# We need to persist the install for the next step | ||
- persist_to_workspace: | ||
root: workspace | ||
paths: | ||
- install-GEOSgcm | ||
|
||
make-FV3-experiment: | ||
executor: gcc-build-env | ||
working_directory: /root/project | ||
steps: | ||
- attach_workspace: | ||
at: workspace | ||
- run: | ||
name: "Run fv3_setup" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/install-GEOSgcm/bin | ||
INPUT_FOR_SETUP=$(cat \<<END_HEREDOC | ||
test-fv3-c12 | ||
test-fv3-c12 | ||
12 | ||
72 | ||
NO | ||
NO | ||
${CIRCLE_WORKING_DIRECTORY}/workspace/test-fv3-c12 | ||
NULL | ||
END_HEREDOC | ||
) | ||
echo "$INPUT_FOR_SETUP" > /tmp/input.txt | ||
cat /tmp/input.txt | ./fv3_setup | ||
- run: | ||
name: "Change FV_NX, FV_NY, and RUN_CMD" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/test-fv3-c12 | ||
sed -i.bak -e '/set FV_NX/ s/\([0-9]\+\)/1/' -e '/set FV_NY/ s/\([0-9]\+\)/6/' -e '/set RUN_CMD/ c\set RUN_CMD = "mpirun -np "' fv3.j | ||
- run: | ||
name: "Cat fv3.j" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/test-fv3-c12 | ||
cat fv3.j | ||
# We need to persist the install for the next step | ||
- persist_to_workspace: | ||
root: workspace | ||
paths: | ||
- test-fv3-c12 | ||
|
||
run-FV3-standalone: | ||
executor: gcc-build-env | ||
working_directory: /root/project | ||
steps: | ||
- attach_workspace: | ||
at: workspace | ||
- run: | ||
name: "Run fv3.j" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/test-fv3-c12 | ||
./fv3.j | ||
- run: | ||
name: "Check for EGRESS" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/test-fv3-c12 | ||
# The scratch directory for fv3 standalone isn't consistent | ||
SCRDIR=$(find . -type d -name 'scratch*') | ||
if [[ -f $SCRDIR/EGRESS ]] | ||
then | ||
echo "EGRESS found!" | ||
else | ||
echo "EGRESS not found!" | ||
exit 1 | ||
fi | ||
- run: | ||
name: "Cat log file" | ||
command: | | ||
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/test-fv3-c12 | ||
cat *.log | ||
workflows: | ||
version: 2.1 | ||
build-and-test: | ||
jobs: | ||
- build-and-test-MAPL | ||
- build-GEOSgcm | ||
- make-FV3-experiment: | ||
requires: | ||
- build-GEOSgcm | ||
- run-FV3-standalone: | ||
requires: | ||
- make-FV3-experiment | ||
|
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,16 @@ | ||
name: "Enforce Changelog" | ||
on: | ||
pull_request: | ||
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] | ||
|
||
jobs: | ||
# Enforces the update of a changelog file on every pull request | ||
changelog: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: dangoslen/[email protected] | ||
with: | ||
changeLogPath: 'CHANGELOG.md' | ||
skipLabel: 'Skip Changelog' | ||
|
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
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
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
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
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.