Skip to content

Commit

Permalink
Merge branch 'main' into feature/adarmenov/#208-wmma
Browse files Browse the repository at this point in the history
  • Loading branch information
adarmenov committed Dec 21, 2020
2 parents ba480e7 + a309c0a commit 50deada
Show file tree
Hide file tree
Showing 10 changed files with 220 additions and 252 deletions.
51 changes: 43 additions & 8 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,64 @@
version: 2.1
jobs:
build:

executors:
gcc-build-env:
docker:
- image: gmao/ubuntu20-geos-env-mkl:6.0.16-openmpi_4.0.5-gcc_10.2.0
resource_class: xlarge
- image: gmao/ubuntu20-geos-env-mkl:v6.0.22-openmpi_4.0.5-gcc_10.2.0
auth:
username: $DOCKERHUB_USER
password: $DOCKERHUB_AUTH_TOKEN
environment:
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
OMPI_MCA_btl_vader_single_copy_mechanism: none
#XLARGE# resource_class: xlarge
resource_class: medium

workflows:
version: 2.1
build-test:
jobs:
- build-GEOSgcm:
context:
- docker-hub-creds

jobs:
build-GEOSgcm:
executor: gcc-build-env
working_directory: /root/project
steps:
- checkout
- checkout:
path: GEOSgcm
- run:
name: "Versions etc"
command: mpirun --version && gfortran --version && echo $BASEDIR && pwd && ls
- run:
name: "Mepo clone external repos"
command: |
mepo init
cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm
mepo clone
mepo develop GEOSgcm_App GEOSgcm_GridComp
mepo status
- run:
name: "Mepo checkout-if-exists"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm
echo "${CIRCLE_BRANCH}"
if [ "${CIRCLE_BRANCH}" != "develop" ] && [ "${CIRCLE_BRANCH}" != "master" ] && [ "${CIRCLE_BRANCH}" != "main" ]
then
mepo checkout-if-exists ${CIRCLE_BRANCH}
fi
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
- run:
name: "Build"
command: |
cd build
make -j"$(nproc)" install
cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm/build
#XLARGE# make -j"$(nproc)" install
make -j4 install
59 changes: 59 additions & 0 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Build Tests

on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]

jobs:
build_gcm:
name: Build GEOSgcm
if: "!contains(github.event.pull_request.labels.*.name, '0 diff trivial')"
runs-on: ubuntu-latest
container:
image: gmao/ubuntu20-geos-env-mkl:v6.0.22-openmpi_4.0.5-gcc_10.2.0
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
env:
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LC_TYPE: en_US.UTF-8
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
OMPI_MCA_btl_vader_single_copy_mechanism: none
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout GCM
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Versions etc.
run: |
gfortran --version
mpirun --version
echo $BASEDIR
- name: Mepo clone external repos
run: |
mepo clone
mepo status
mepo develop GEOSgcm_GridComp GEOSgcm_App
mepo status
- name: Update other branches
if:
"!contains('refs/heads/main,refs/heads/develop', github.ref)"
run: |
mepo checkout-if-exists ${GITHUB_HEAD_REF}
mepo status
- name: CMake
run: |
mkdir build
cd build
cmake .. -DBASEDIR=$BASEDIR/Linux -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS='--oversubscribe'
- name: Build
run: |
cd build
make -j4 install
69 changes: 69 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,74 @@
# Changelog

## [10.17.0] - 2020-11-25

### Zero-diff to previous release: YES

### Restart Changes: NO

Major changes include:
1. The way the model is build has changed. Manage externals is no longer supported. Mepo is now the default and replacement manager for multiple repositories.
2. Add dependency to turn on `BUILD_SHARED_LIBS` for NCEP_Shared.
3. Splits the RRTMG k_g tables into separate files.
4. Bugfix to change Intel Debug flags for MOM6 and FMS.
5. gcm_run.j bugfix for tile_hist running MOM6.
6. Update plots and stats to be consistent with recent CVS tags.
7. Bugfix for C99 compliance on MacOS.
8. Updates to CI and other subrepos.

## [10.16.3] - 2020-11-02

### Zero-diff to previous release: YES

### Restart Changes: NO

Changes include:

1. Added fixture section to `components.yaml`

## [10.16.2] - 2020-10-28

### Zero-diff to previous release: YES for default catchment, NO for CatchmentCN

### Restart Changes: NO

The latest release is a 0-diff change when running the default catchment. However, it is a non-0-diff change when running CatchmentCN.
1. Updates to land:
1. SurfParams: Introduced separate parameter collections for different land model choices that are being cross-checked against the land model choice.
2. Updates to reproduce Fanwei Zeng’s LDASsa Catchment-CN simulations (science-validated, published) using the 'CN_CLM4' option.
2. Restructure/Refactor `DO_OBIO` (see [Issue #362](https://github.com/GEOS-ESM/GEOSgcm_GridComp/issues/362))
3. Add Docker authentication for pulls.
4. Add logger for NaN detection (at a WARNING level) for QSAT and DQSAT codes.
5. Make plots/configure portable when using someone else's build.
6. Allow longer job names for PBS/SLURM.
7. Update to MAPL.

## [10.16.1] - 2020-10-14

### Zero-diff to previous release: YES for AGCM, NO for coupled model

### Restart Changes: YES (`OLRB06RG` and `TBRB06RG` variables added to `irrad_internal` restart)

Major updates include:
1. Add TOA RRTMG Band6 (window region) IR diagnostics.
2. Include new diagnostics for the constraints and new plots for them.
3. Clean up clumsy logic in GEOS_OpenWaterGridComp.F90 [Issue #356](https://github.com/GEOS-ESM/GEOSgcm_GridComp/issues/356)
1. removes the `AOIL_COMP_SWITCH`
2. AOIL now properly works with the coupled model (**non 0-diff**)
3. maintains 0-diff for uncoupled mode
4. computations to update the state variables (TW, SW, HW and other internals) are now performed via a call to `AOIL_v0`.
5. `AOIL_v0` also provides following two options that are turned OFF by default:
* provide a more gradual decay of diurnal warming as observed in nature: `WARM_LAYER_GRAD_DECAY`
* update turbulent heat fluxes after the state variables have been updated: `UPDATE_FLUXES_AOIL_SECOND_STEP`
4. Upgrade to MAPL 2.3 with a number of changes listed [here](https://github.com/GEOS-ESM/MAPL/releases/tag/v2.3.0).
5. Fixed regrid_forcing.x and regrid_forcing_esmf.x so they will work with MAPL2.2 and beyond.
6. Logging config improvements and bugfixes.
7. Fixed a bug in ExtData when extrapolating on a Leap Day.
8. Added a deflate and bit shaving option to `Regrid_Util.x`.
9. Fix bug with using coarse grids in History and ExtData.
10. Lowers the amount of jobs used during `make -jN install` in `build.csh` to mitigate possible segfaults.
11. Updated the NCPUs detection in various post scripts to be SLURM-aware.

## [10.16.0] - 2020-09-28

### Zero-diff to previous release: NO
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cmake_policy (SET CMP0054 NEW)

project (
GEOSgcm
VERSION 10.16.0
VERSION 10.17.0
LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF

if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
Expand Down
77 changes: 0 additions & 77 deletions Develop.cfg

This file was deleted.

77 changes: 0 additions & 77 deletions Externals.cfg

This file was deleted.

Loading

0 comments on commit 50deada

Please sign in to comment.