diff --git a/.circleci/config.yml b/.circleci/config.yml index ed4e6bf..2135493 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,8 +16,8 @@ parameters: # Anchors to prevent forgetting to update a version os_version: &os_version ubuntu20 -baselibs_version: &baselibs_version v7.14.0 -bcs_version: &bcs_version v11.1.0 +baselibs_version: &baselibs_version v7.17.0 +bcs_version: &bcs_version v11.3.0 tag_build_arg_name: &tag_build_arg_name fv3version orbs: @@ -26,6 +26,8 @@ orbs: workflows: build-test: jobs: + + # Build GEOSfvdycore - ci/build: name: build-GEOSfvdycore-as-<< matrix.fv_precision >>-on-<< matrix.compiler >> context: @@ -38,6 +40,8 @@ workflows: repo: GEOSfvdycore mepodevelop: false persist_workspace: true # Needs to be true to run fv3/gcm experiment, costs extra + + # Run FV3 standalone - ci/run_fv3: name: run-FV3-as-<< matrix.fv_precision >>-on-<< matrix.compiler >>-with-GEOSfvdycore context: @@ -50,6 +54,8 @@ workflows: requires: - build-GEOSfvdycore-as-<< matrix.fv_precision >>-on-<< matrix.compiler >> repo: GEOSfvdycore + + # Build and publish docker images build-and-publish-docker: when: equal: [ "release", << pipeline.parameters.GHA_Event >> ] @@ -84,7 +90,7 @@ workflows: baselibs_version: *baselibs_version container_name: geosfvdycore mpi_name: openmpi - mpi_version: 4.1.4 + mpi_version: 5.0.0 compiler_name: gcc compiler_version: 12.1.0 image_name: geos-env-mkl diff --git a/CHANGELOG.md b/CHANGELOG.md index 84f481c..5eed702 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Deprecated +## [2.13.0] - 2024-01-26 + +### Changed + +- Update to `components.yaml` to match GEOSgcm `main` as of 2024-01-26 + - ESMA_env v4.24.0 → v4.25.1 + - Update to Baselibs 7.17.1, fix xgboost build + - Moves to use gcc 11 as the Intel backing C compiler + - ESMA_cmake v3.36.0 → v3.38.0 + - Fixes for ifx and NAG + - Add Hygon support, add FindESMF.cmake + - MAPL v2.42.4 → v2.43.0 + - Updates for ongoing work with trajectory and station sampling + - Examples on how to use the Automatic Code Generator + - Fixes for use of the MAPL Python code with Python 3 + - Fixes for GCC 13 which is still NOT SUPPORTED but this allows for further testing + - Fix to allow ExtData2G to be built as static library + - FVdycoreCubed_GridComp v2.9.0 → v2.10.0 + - Updates for NWP and HWT Runs (non-zero-diff) + ## [2.12.0] - 2023-12-19 ### Changed diff --git a/CMakeLists.txt b/CMakeLists.txt index 9121833..3045bbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_policy (SET CMP0054 NEW) project ( GEOSfvdycore - VERSION 2.11.0 + VERSION 2.13.0 LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}") diff --git a/README.md b/README.md index 7ef72c2..7d419c3 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,74 @@ In your `.bashrc` or `.tcshrc` or other rc file add a line: ##### NCCS -``` -module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES12 + +###### bash + + +```bash +umask 0022 +ulimit -s unlimited + +# Look for the OS version and set the module path accordingly +OS_VERSION=$(grep VERSION_ID /etc/os-release | cut -d= -f2 | cut -d. -f1 | sed 's/"//g') + +# Run things in this if-block only if we're in an interactive shell +if [[ $- == *i* ]] +then + + # Only put module use or other module commands here + # and in the correct OS version + if [[ "$OS_VERSION" == "15" ]] + then + export LMOD_SYSTEM_NAME=SLES15 + module purge + module unuse -a /discover/swdev/gmao_SIteam/modulefiles-SLES12 + module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES15 + module load GEOSenv + else + export LMOD_SYSTEM_NAME=SLES12 + module purge + module unuse -a /discover/swdev/gmao_SIteam/modulefiles-SLES15 + module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES12 + module load GEOSenv + fi + + # Add any other things you want with interactive shells here + +fi +``` + +###### tcsh + +```tcsh +umask 0022 +limit stacksize unlimited + +# Look for the OS version and set the module path accordingly +set OS_VERSION=`grep VERSION_ID /etc/os-release | cut -d= -f2 | cut -d. -f1 | sed 's/"//g'` + +# Run things in this if-block only if we are in an interactive shell +if ($?prompt) then + + # Only put module use or other module commands here + # and in the correct OS version + if ($OS_VERSION == 15) then + setenv LMOD_SYSTEM_NAME SLES15 + module purge + module unuse -a /discover/swdev/gmao_SIteam/modulefiles-SLES12 + module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES15 + module load GEOSenv + else + setenv LMOD_SYSTEM_NAME SLES12 + module purge + module unuse -a /discover/swdev/gmao_SIteam/modulefiles-SLES15 + module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES12 + module load GEOSenv + endif + + # Add any other things you want with interactive shells here + +endif ``` ##### NAS diff --git a/components.yaml b/components.yaml index 1afcd30..74f5825 100644 --- a/components.yaml +++ b/components.yaml @@ -5,13 +5,13 @@ GEOSfvdycore: env: local: ./@env remote: ../ESMA_env.git - tag: v4.24.0 + tag: v4.25.1 develop: main cmake: local: ./@cmake remote: ../ESMA_cmake.git - tag: v3.36.0 + tag: v3.38.0 develop: develop ecbuild: @@ -35,7 +35,7 @@ GEOS_Util: MAPL: local: ./src/Shared/@MAPL remote: ../MAPL.git - tag: v2.42.4 + tag: v2.43.0 develop: develop FMS: @@ -47,7 +47,7 @@ FMS: FVdycoreCubed_GridComp: local: ./src/Components/@FVdycoreCubed_GridComp remote: ../FVdycoreCubed_GridComp.git - tag: v2.9.0 + tag: v2.10.0 develop: develop fvdycore: