diff --git a/.circleci/config.yml b/.circleci/config.yml index 8f389e0c..68dd1161 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,49 +1,7 @@ version: 2.1 -executors: - gfortran-large: - docker: - - image: gmao/ubuntu20-geos-env-bcs:v6.2.8-openmpi_4.0.6-gcc_11.2.0-bcs_v10.19.4 - 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 - resource_class: large - #MEDIUM# resource_class: medium - - gfortran-xlarge: - docker: - - image: gmao/ubuntu20-geos-env-bcs:v6.2.8-openmpi_4.0.6-gcc_11.2.0-bcs_v10.19.4 - 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 - resource_class: xlarge - #MEDIUM# resource_class: medium - - ifort-large: - docker: - - image: gmao/ubuntu20-geos-env-bcs:v6.2.8-intelmpi_2021.3.0-intel_2021.3.0-bcs_v10.19.4 - auth: - username: $DOCKERHUB_USER - password: $DOCKERHUB_AUTH_TOKEN - resource_class: large - #MEDIUM# resource_class: medium - - ifort-xlarge: - docker: - - image: gmao/ubuntu20-geos-env-bcs:v6.2.8-intelmpi_2021.3.0-intel_2021.3.0-bcs_v10.19.4 - auth: - username: $DOCKERHUB_USER - password: $DOCKERHUB_AUTH_TOKEN - resource_class: xlarge - #MEDIUM# resource_class: medium +orbs: + circleci-tools: geos-esm/circleci-tools@0.6.0 workflows: build-test: @@ -72,55 +30,21 @@ jobs: parameters: compiler: type: string - executor: << parameters.compiler >>-large + executor: + name: circleci-tools/<< parameters.compiler >> + resource_class: large working_directory: /root/project steps: - checkout: path: GEOSgcm - - run: - name: "Versions etc" - command: mpirun --version && << parameters.compiler>> --version && echo $BASEDIR && pwd && ls - - run: - name: "Mepo clone external repos" - command: | - cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm - mepo clone - mepo status - - run: - name: "Mepo checkout-if-exists" - command: | - cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm - echo "${CIRCLE_BRANCH}" - if [ "${CIRCLE_BRANCH}" != "develop" ] && [ "${CIRCLE_BRANCH}" != "main" ] - then - mepo checkout-if-exists ${CIRCLE_BRANCH} - fi - mepo status - - run: - name: "CMake" - command: | - mkdir -p /logfiles - cd ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm - mkdir -p ${CIRCLE_WORKING_DIRECTORY}/workspace/build-GEOSgcm - cd ${CIRCLE_WORKING_DIRECTORY}/workspace/build-GEOSgcm - cmake ${CIRCLE_WORKING_DIRECTORY}/GEOSgcm -DBASEDIR=$BASEDIR/Linux -DCMAKE_Fortran_COMPILER=<< parameters.compiler >> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${CIRCLE_WORKING_DIRECTORY}/workspace/install-GEOSgcm -DUSE_F2PY=OFF |& tee /logfiles/cmake.log - - run: - name: "Build and install" - command: | - cd ${CIRCLE_WORKING_DIRECTORY}/workspace/build-GEOSgcm - make -j"$(nproc)" install |& tee /logfiles/make.log - #MEDIUM# make -j4 install |& tee /logfiles/make.log - - run: - name: "Retry build and install after failure" - command: | - cd ${CIRCLE_WORKING_DIRECTORY}/workspace/build-GEOSgcm - make -j"$(nproc)" install |& tee /logfiles/make-retry.log - #MEDIUM# make -j4 install |& tee /logfiles/make-retry.log - when: on_fail - - run: - name: "Compress artifacts" - command: | - gzip -9 /logfiles/* + - circleci-tools/versions: + compiler: << parameters.compiler >> + - circleci-tools/mepoclone + - circleci-tools/checkout_if_exists + - circleci-tools/cmake: + compiler: << parameters.compiler >> + - circleci-tools/buildinstall + - circleci-tools/compress_artifacts - store_artifacts: path: /logfiles # We need to persist the install for the next step diff --git a/CHANGELOG.md b/CHANGELOG.md index 160e3cdc..de97af7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,32 @@ # Changelog ## Unreleased -### This is based off of 10.17.6, but runs MAPL v.2.6.8 so GAAS2G can work. Also has GOCART2G. + +## [10.21.1] - 2022-02-14 + +### Zero-diff to Previous Release: YES +### Restart Changes: NO + +Major Zero-Diff Changes: +1. Add CLDXXSW diagnostics and many cosmetic changes to Solar GC by @dr0cloud in [#510](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/510) +2. Add additional radiation RRTMG tau and water path diagnostics by @dr0cloud in [#519](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/519) +3. Simple fix to prevent negative tauaer in RRTMG LW by @dr0cloud in [#521](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/521) +4. Add RRTMGP as a fork in GEOS by @mathomp4 in [#528](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/528) +5. Update RRTMGP file locations and half gpoints by @mathomp4 in [#294](https://github.com/GEOS-ESM/GEOSgcm_App/pull/294) +6. Cleanup of Catchment model constants by @gmao-rreichle in [#525](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/525) +7. Removed redundant code: DQS calc, QC constraint, RA calc by @gmao-rreichle in [#518](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/518) +8. Fix `mk_GEOSldasRestart` for `catchcnclm45` by @weiyuan-jiang in [#516](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/516) +9. `make_bcs` clarification of options by @biljanaorescanin in [#517](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/517) +10. Bug fix for `RUNSRF` units in Catchment by @gmao-rreichle in [#535](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/535) +11. Cleanup of `gndtmp[_cn]()` by @gmao-jkolassa in [#536](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/536) +12. New peat hydrology (PEATCLSM) by @biljanaorescanin in [#524](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/524) +13. Add `LDAS_INCR` to `AGCM.rc.tmpl` for land-atmos coupled das by @saraqzhang in [#288](https://github.com/GEOS-ESM/GEOSgcm_App/pull/288) +14. Fixes for C12 MOM6 by @mathomp4 in [#](https://github.com/GEOS-ESM/GEOSgcm_App/pull/285) +15. Updates for handling CS ocean by @mathomp4 in [#287](https://github.com/GEOS-ESM/GEOSgcm_App/pull/287) +16. Update for NAS Runs by @mathomp4 in [#291](https://github.com/GEOS-ESM/GEOSgcm_App/pull/291) +17. Compress CircleCI Artifacts by @mathomp4 in [#513](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/513) +18. Use circleci-tools orb for CI by @mathomp4 in [#242](https://github.com/GEOS-ESM/GMAO_Shared/pull/242) + ## [10.21.0] - 2021-12-21 diff --git a/CMakeLists.txt b/CMakeLists.txt index a089dd8a..3324d051 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_policy (SET CMP0054 NEW) project ( GEOSgcm - VERSION 10.21.0 + VERSION 10.21.1 LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}") diff --git a/CMakePresets.json b/CMakePresets.json index b616a275..77d1727c 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -14,8 +14,7 @@ "binaryDir": "${sourceDir}/build-${presetName}", "cacheVariables": { "BASEDIR": "$env{BASEDIR}", - "CMAKE_INSTALL_PREFIX": "${sourceDir}/install-${presetName}", - "CMAKE_BUILD_TYPE": "${presetName}" + "CMAKE_INSTALL_PREFIX": "${sourceDir}/install-${presetName}" } }, { @@ -38,37 +37,55 @@ "name": "Release", "inherits": "base-gnu", "displayName": "Release Configure", - "description": "Release build using GNU Make generator" + "description": "Release build using GNU Make generator", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release" + } }, { "name": "Debug", "inherits": "base-gnu", "displayName": "Debug Configure", - "description": "Debug build using GNU Make generator" + "description": "Debug build using GNU Make generator", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + } }, { "name": "Aggressive", "inherits": "base-gnu", "displayName": "Aggressive Configure", - "description": "Aggressive build using GNU Make generator" + "description": "Aggressive build using GNU Make generator", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Aggressive" + } }, { "name": "Release-Ninja", "inherits": "base-ninja", "displayName": "Release Ninja Configure", - "description": "Release build using Ninja generator" + "description": "Release build using Ninja generator", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release" + } }, { "name": "Debug-Ninja", "inherits": "base-ninja", "displayName": "Debug Ninja Configure", - "description": "Debug build using Ninja generator" + "description": "Debug build using Ninja generator", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + } }, { "name": "Aggressive-Ninja", "inherits": "base-ninja", "displayName": "Aggressive Ninja Configure", - "description": "Aggressive build using Ninja generator" + "description": "Aggressive build using Ninja generator", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Aggressive" + } } ], "buildPresets": [ diff --git a/README.md b/README.md index 18ef4f1a..cadfa3f0 100644 --- a/README.md +++ b/README.md @@ -13,22 +13,23 @@ | Repository | Version | | ---------- | ------- | | [CPLFCST_Etc](https://github.com/GEOS-ESM/CPLFCST_Etc) | [v1.0.1](https://github.com/GEOS-ESM/CPLFCST_Etc/releases/tag/v1.0.1) | -| [ecbuild](https://github.com/GEOS-ESM/ecbuild) | [geos/v1.0.6](https://github.com/GEOS-ESM/ecbuild/releases/tag/geos%2Fv1.0.6) | -| [ESMA_cmake](https://github.com/GEOS-ESM/ESMA_cmake) | [v3.8.0](https://github.com/GEOS-ESM/ESMA_cmake/releases/tag/v3.8.0) | -| [ESMA_env](https://github.com/GEOS-ESM/ESMA_env) | [v3.10.0](https://github.com/GEOS-ESM/ESMA_env/releases/tag/v3.10.0) | +| [ecbuild](https://github.com/GEOS-ESM/ecbuild) | [geos/v1.2.0](https://github.com/GEOS-ESM/ecbuild/releases/tag/geos%2Fv1.2.0) | +| [ESMA_cmake](https://github.com/GEOS-ESM/ESMA_cmake) | [v3.10.0](https://github.com/GEOS-ESM/ESMA_cmake/releases/tag/v3.10.0) | +| [ESMA_env](https://github.com/GEOS-ESM/ESMA_env) | [v3.11.0](https://github.com/GEOS-ESM/ESMA_env/releases/tag/v3.11.0) | | [FMS](https://github.com/GEOS-ESM/FMS) | [geos/2019.01.02+noaff.7](https://github.com/GEOS-ESM/FMS/releases/tag/geos%2F2019.01.02%2Bnoaff.7) | | [FVdycoreCubed_GridComp](https://github.com/GEOS-ESM/FVdycoreCubed_GridComp) | [v1.6.0](https://github.com/GEOS-ESM/FVdycoreCubed_GridComp/releases/tag/v1.6.0) | | [geos-chem](https://github.com/GEOS-ESM/geos-chem) | [geos/v13.0.0-rc1](https://github.com/GEOS-ESM/geos-chem/releases/tag/geos%2Fv13.0.0-rc1) | | [GEOSchem_GridComp](https://github.com/GEOS-ESM/GEOSchem_GridComp) | [v1.7.0](https://github.com/GEOS-ESM/GEOSchem_GridComp/releases/tag/v1.7.0) | -| [GEOSgcm_App](https://github.com/GEOS-ESM/GEOSgcm_App) | [v1.6.1](https://github.com/GEOS-ESM/GEOSgcm_App/releases/tag/v1.6.1) | -| [GEOSgcm_GridComp](https://github.com/GEOS-ESM/GEOSgcm_GridComp) | [v1.14.0](https://github.com/GEOS-ESM/GEOSgcm_GridComp/releases/tag/v1.14.0) | +| [GEOSgcm_App](https://github.com/GEOS-ESM/GEOSgcm_App) | [v1.6.2](https://github.com/GEOS-ESM/GEOSgcm_App/releases/tag/v1.6.1) | +| [GEOSgcm_GridComp](https://github.com/GEOS-ESM/GEOSgcm_GridComp) | [v1.14.1](https://github.com/GEOS-ESM/GEOSgcm_GridComp/releases/tag/v1.14.1) | | [GFDL_atmos_cubed_sphere](https://github.com/GEOS-ESM/GFDL_atmos_cubed_sphere) | [geos/v1.3.0](https://github.com/GEOS-ESM/GFDL_atmos_cubed_sphere/releases/tag/geos%2Fv1.3.0) | -| [GMAO_Shared](https://github.com/GEOS-ESM/GMAO_Shared) | [v1.5.0](https://github.com/GEOS-ESM/GMAO_Shared/releases/tag/v1.5.0) | +| [GMAO_Shared](https://github.com/GEOS-ESM/GMAO_Shared) | [v1.5.1](https://github.com/GEOS-ESM/GMAO_Shared/releases/tag/v1.5.1) | | [GOCART](https://github.com/GEOS-ESM/GOCART) | [v1.0.1](https://github.com/GEOS-ESM/GOCART/releases/tag/v1.0.1) | | [HEMCO](https://github.com/GEOS-ESM/HEMCO) | [geos/v2.2.1](https://github.com/GEOS-ESM/HEMCO/releases/tag/geos%2Fv2.2.1) | -| [MAPL](https://github.com/GEOS-ESM/MAPL) | [v2.15.1](https://github.com/GEOS-ESM/MAPL/releases/tag/v2.15.1) | +| [MAPL](https://github.com/GEOS-ESM/MAPL) | [v2.17.0](https://github.com/GEOS-ESM/MAPL/releases/tag/v2.17.0) | | [MOM5](https://github.com/GEOS-ESM/MOM5) | [geos/5.1.0+1.2.0](https://github.com/GEOS-ESM/MOM5/releases/tag/geos%2F5.1.0%2B1.2.0) | | [MOM6](https://github.com/GEOS-ESM/MOM6) | [geos/v2.0.2](https://github.com/GEOS-ESM/MOM6/releases/tag/geos%2Fv2.0.2) | +| [RRTMGP](https://github.com/GEOS-ESM/rte-rrtmgp) | [geos/v1.5+1.0.0](https://github.com/GEOS-ESM/rte-rrtmgp/releases/tag/geos%2Fv1.5%2B1.0.0) | [NCEP_Shared](https://github.com/GEOS-ESM/NCEP_Shared) | [v1.2.0](https://github.com/GEOS-ESM/NCEP_Shared/releases/tag/v1.2.0) | | [UMD_Etc](https://github.com/GEOS-ESM/UMD_Etc) | [v1.0.4](https://github.com/GEOS-ESM/UMD_Etc/releases/tag/v1.0.4) | diff --git a/components.yaml b/components.yaml index f1178e6b..033323dc 100644 --- a/components.yaml +++ b/components.yaml @@ -5,19 +5,19 @@ GEOSgcm: env: local: ./@env remote: ../ESMA_env.git - tag: v3.10.0 + tag: v3.11.0 develop: main cmake: local: ./@cmake remote: ../ESMA_cmake.git - tag: v3.8.0 + tag: v3.10.0 develop: develop ecbuild: local: ./@cmake/@ecbuild remote: ../ecbuild.git - tag: geos/v1.0.6 + tag: geos/v1.2.0 NCEP_Shared: local: ./src/Shared/@NCEP_Shared @@ -29,7 +29,7 @@ NCEP_Shared: GMAO_Shared: local: ./src/Shared/@GMAO_Shared remote: ../GMAO_Shared.git - tag: v1.5.0 + tag: v1.5.1 sparse: ./config/GMAO_Shared.sparse develop: main @@ -101,6 +101,13 @@ mom6: develop: dev/gfdl recurse_submodules: true +RRTMGP: + local: ./src/Components/@GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSradiation_GridComp/GEOS_RadiationShared/@RRTMGP + remote: ../rte-rrtmgp.git + tag: geos/v1.5+1.0.0 + develop: geos/develop + sparse: ./config/RRTMGP.sparse + GEOSgcm_App: local: ./src/Applications/@GEOSgcm_App remote: ../GEOSgcm_App.git diff --git a/config/RRTMGP.sparse b/config/RRTMGP.sparse new file mode 100644 index 00000000..b8e52919 --- /dev/null +++ b/config/RRTMGP.sparse @@ -0,0 +1,2 @@ +/* +!/rrtmgp/data