diff --git a/.circleci/config.yml b/.circleci/config.yml index 0e805b9d..ef6dea45 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2.1 # Anchors in case we need to override the defaults from the orb -#baselibs_version: &baselibs_version v7.32.0 +#baselibs_version: &baselibs_version v7.33.0 #bcs_version: &bcs_version v11.6.0 orbs: diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index bf457c55..f577fd03 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -20,7 +20,7 @@ jobs: name: gfortran / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} runs-on: ubuntu-latest container: - image: gmao/ubuntu24-geos-env-mkl:v7.32.0-openmpi_5.0.5-gcc_14.2.0 + image: gmao/ubuntu24-geos-env-mkl:v7.33.0-openmpi_5.0.5-gcc_14.2.0 strategy: fail-fast: false matrix: @@ -49,7 +49,7 @@ jobs: name: ifort / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} runs-on: ubuntu-latest container: - image: gmao/ubuntu24-geos-env:v7.32.0-intelmpi_2021.13-ifort_2021.13 + image: gmao/ubuntu24-geos-env:v7.33.0-intelmpi_2021.13-ifort_2021.13 strategy: fail-fast: false matrix: @@ -77,7 +77,7 @@ jobs: # name: ifx / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} # # runs-on: ubuntu-latest # # container: # - # image: gmao/ubuntu24-geos-env:v7.32.0-intelmpi_2021.14-ifx_2025.0 # + # image: gmao/ubuntu24-geos-env:v7.33.0-intelmpi_2021.14-ifx_2025.0 # # strategy: # # fail-fast: false # # matrix: # diff --git a/BUILD_INFO.rc.in b/BUILD_INFO.rc.in new file mode 100644 index 00000000..e2d54c6e --- /dev/null +++ b/BUILD_INFO.rc.in @@ -0,0 +1,45 @@ +== Build Configuration == +Build Type: @CMAKE_BUILD_TYPE@ + +== System == +System Name: @CMAKE_SYSTEM_NAME@ +System Version: @CMAKE_SYSTEM_VERSION@ +Host System: @CMAKE_HOST_SYSTEM@ +Processor Description: @proc_description@ + +== CMake == +CMake Version Used for Build: @CMAKE_VERSION@ +CMake Required Version: @CMAKE_MINIMUM_REQUIRED_VERSION@ + +== Git == +Git Version: @GIT_VERSION_STRING@ + +== Modules == +@ENVIRONMENT_MODULES@ + +== Basedir == +BASEDIR: @BASEDIR_WITHOUT_ARCH@ + +== Compilers == +C Compiler: @CMAKE_C_COMPILER@ (ID: @CMAKE_C_COMPILER_ID@ @CMAKE_C_COMPILER_VERSION@) +C++ Compiler: @CMAKE_CXX_COMPILER@ (ID: @CMAKE_CXX_COMPILER_ID@ @CMAKE_CXX_COMPILER_VERSION@) +Fortran Compiler: @CMAKE_Fortran_COMPILER@ (ID: @CMAKE_Fortran_COMPILER_ID@ @CMAKE_Fortran_COMPILER_VERSION@) + +== MPI == +MPI C Compiler: @MPI_C_COMPILER@ +MPI C++ Compiler: @MPI_CXX_COMPILER@ +MPI Fortran Compiler: @MPI_Fortran_COMPILER@ +MPI Version: @MPI_VERSION@ +MPI Libraries: @MPI_LIBRARIES@ +MPI Stack: @MPI_STACK@ +MPI Stack Version: @MPI_STACK_VERSION@ + +== BLAS == +BLAS_LIBRARIES: @BLAS_LIBRARIES@ + +== LAPACK == +LAPACK_LIBRARIES: @LAPACK_LIBRARIES@ + +== ESMF == +ESMF_VERSION: @ESMF_VERSION@ +ESMFMKFILE: @ESMFMKFILE@ diff --git a/CMakeLists.txt b/CMakeLists.txt index cafe617a..8bf59290 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,7 +75,7 @@ if (NOT Baselibs_FOUND) # Another issue with historical reasons, old/wrong zlib target used in GEOS add_library(ZLIB::zlib ALIAS ZLIB::ZLIB) - find_package(MAPL 2.54 QUIET) + find_package(MAPL 2.56 QUIET) if (MAPL_FOUND) message(STATUS "Found MAPL: ${MAPL_BASE_DIR} (found version \"${MAPL_VERSION})\"") endif () @@ -95,6 +95,9 @@ esma_add_subdirectory (${env_dir}) # Recursively build source tree add_subdirectory (src) +configure_file(BUILD_INFO.rc.in BUILD_INFO.rc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/BUILD_INFO.rc DESTINATION etc) + # https://www.scivision.dev/cmake-auto-gitignore-build-dir/ # --- auto-ignore build directory if(NOT EXISTS ${PROJECT_BINARY_DIR}/.gitignore) diff --git a/components.yaml b/components.yaml index a9a83f94..0a83d0ba 100644 --- a/components.yaml +++ b/components.yaml @@ -5,13 +5,13 @@ GEOSldas: env: local: ./@env remote: ../ESMA_env.git - tag: v4.36.0 + tag: v4.38.0 develop: main cmake: local: ./@cmake remote: ../ESMA_cmake.git - tag: v3.57.0 + tag: v3.62.1 develop: develop ecbuild: @@ -22,30 +22,36 @@ ecbuild: NCEP_Shared: local: ./src/Shared/@NCEP_Shared remote: ../NCEP_Shared.git - tag: v1.3.0 + tag: v1.4.0 sparse: ./config/NCEP_Shared.sparse develop: main GMAO_Shared: local: ./src/Shared/@GMAO_Shared remote: ../GMAO_Shared.git - tag: v1.9.9 + tag: v2.1.1 sparse: ./config/GMAO_Shared.sparse develop: main GEOS_Util: local: ./src/Shared/@GMAO_Shared/@GEOS_Util remote: ../GEOS_Util.git - tag: v2.1.6 + tag: v2.1.8 sparse: ./config/GEOS_Util.sparse develop: main +GMAO_perllib: + local: ./src/Shared/@GMAO_Shared/@GMAO_perllib + remote: ../GMAO_perllib.git + tag: v1.1.0 + develop: main + # When updating the MAPL version, also update the MAPL version in the # CMakeLists.txt file for non-Baselibs builds MAPL: local: ./src/Shared/@MAPL remote: ../MAPL.git - tag: v2.54.2 + tag: v2.56.0 develop: develop GEOSldas_GridComp: diff --git a/config/GEOSgcm_GridComp_ldas.sparse b/config/GEOSgcm_GridComp_ldas.sparse index 1331ebb9..374ada83 100644 --- a/config/GEOSgcm_GridComp_ldas.sparse +++ b/config/GEOSgcm_GridComp_ldas.sparse @@ -1,6 +1,5 @@ /GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp /GEOSagcm_GridComp/GEOSphysics_GridComp/CMakeLists.txt -!/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSlandice_GridComp !/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSlake_GridComp !/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSsaltwater_GridComp !/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOS_SurfaceGridComp.F90 diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 8b5e095e..9cfa3777 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -36,6 +36,40 @@ Overview of GEOSldas Git Releases: ============================ +[v20.0.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v20.0.0) - 2025-05-28 +------------------------------ + +- 0-diff vs. GEOSldas v19.0.0. + +- Uses GEOSldas_GridComp v3.0.0. + +- Science changes: + - Added functionality to simulate landice tiles ([PR #18](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/18)). + - Added model-based QC of (MODIS) snow cover area fraction observations using layer-1 soil temperature ([PR #96](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/96)). + +- Minor changes: + - Added default settings and command line args for coupled land-atm DAS ([PR #94](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/94)). + - Added functionality to read nc4-formatted tile file ([PR #18](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/18)). + +- GEOSgcm_GridComp v2.7.4: + - Use nc4-formatted tile file when remapping ([GEOSgcm_GridComp PR #1087](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1087), [GEOSgcm_GridComp PR #1094](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1094)). + - Adjust tile file for coupled atm-ocean model ([GEOSgcm_GridComp PR #1075](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1075)). + +- Utilities: + - GMAO_Shared v2.1.1 ([PR #809](https://github.com/GEOS-ESM/GEOSldas/pull/809), [PR #812](https://github.com/GEOS-ESM/GEOSldas/pull/812)). + - GMAO_perllib v1.1.0 ([PR #809](https://github.com/GEOS-ESM/GEOSldas/pull/809), [PR #812](https://github.com/GEOS-ESM/GEOSldas/pull/812)). + - GEOS_Util v2.1.8 ([PR #705](https://github.com/GEOS-ESM/GEOSldas/pull/705)). + - NCEP_Shared v1.4.0 ([PR #812](https://github.com/GEOS-ESM/GEOSldas/pull/812)). + +- Infrastructure: + - ESMA_env v4.38.0, Baselibs v7.33.0 ([PR #812](https://github.com/GEOS-ESM/GEOSldas/pull/812)). + - ESMA_cmake v3.62.1 ([PR #812](https://github.com/GEOS-ESM/GEOSldas/pull/812)). + - Added BUILD_INFO.rc file. + - Updated parallel build and CI workflows. + - MAPL v2.56.0 ([PR #809](https://github.com/GEOS-ESM/GEOSldas/pull/809), [PR #812](https://github.com/GEOS-ESM/GEOSldas/pull/812)). + + + [v19.0.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v19.0.0) - 2025-04-15 ------------------------------ diff --git a/parallel_build.csh b/parallel_build.csh index 29ecf2e1..87c4b6b0 100755 --- a/parallel_build.csh +++ b/parallel_build.csh @@ -34,7 +34,9 @@ set origargv = "$argv" # end # ############################### -if (! -d ${ESMADIR}/@env) then +if (-d ${ESMADIR}/@env || -d ${ESMADIR}/env@ || -d ${ESMADIR}/env) then + mepo status +else if ($?PBS_JOBID || $?SLURM_JOBID) then echo " mepo clone must be run!" echo " This requires internet access but you are on a compute node" @@ -42,7 +44,8 @@ if (! -d ${ESMADIR}/@env) then exit 1 else echo "Running mepo clone" - mepo clone + mepo clone --partial blobless + mepo status endif endif