Skip to content

Releases: GEOS-ESM/ESMA_cmake

v4: Support for Python 3.12, fix for mepo status write

13 Nov 16:20
b9ee443
Compare
Choose a tag to compare

This release adds support for Python 3.12 f2py (which now uses meson). This requires CMake 3.24

We also fix/workaround an issue with the mepo status CMake code when run on compute nodes in certain circumstances (blobless clone, no mepo status yet run).


From CHANGELOG.md

Fixed

  • Fixed mepo status code to allow for quiet failures. There seems to be an odd scenario on non-internet-connected machines where mepo status will fail in blobless clones of some repos. Running mepo status on a node with internet access seems to fix this.

Changed

  • For F2PY3 code, set CMake Policy CMP0132 if Python is 3.12+ or higher
  • Add test to see if ifort spits out the deprecation warning. Needed to hack f2py/meson
  • Set minimum CMake version to 3.24 for the meson + f2py fix

What's Changed

Full Changelog: v4.8.1...v4.9.0

v3: Support for Python 3.12, fix for mepo status write

13 Nov 16:17
79b174f
Compare
Choose a tag to compare

This release of v3 adds support for Python 3.12 f2py (which now uses meson). This requires CMake 3.24

We also fix/workaround an issue with the mepo status CMake code when run on compute nodes in certain circumstances (blobless clone, no mepo status yet run).


From CHANGELOG.md

Fixed

  • Fixed mepo status code to allow for quiet failures. There seems to be an odd scenario on non-internet-connected machines where mepo status will fail in blobless clones of some repos. Running mepo status on a node with internet access seems to fix this.

Changed

  • For F2PY3 code, set CMake Policy CMP0132 if Python is 3.12+ or higher
  • Add test to see if ifort spits out the deprecation warning. Needed to hack f2py/meson
  • Set minimum CMake version to 3.24 for the meson + f2py fix

What's Changed

Full Changelog: v3.53.1...v3.54.0

v4: Don't try to determine MPI stack if MPI not found

07 Nov 17:49
d69e111
Compare
Choose a tag to compare

ESMA_cmake itself does not require MPI, so if MPI is not found, we cannot determine an MPI stack. This release fixes that bug.


From CHANGELOG.md

Fixed

  • Do not include DetermineMPIStack if MPI is not found

What's Changed

  • v4: Do not determine MPI stack without MPI found by @mathomp4 in #410

Full Changelog: v4.8.0...v4.8.1

v3: Don't try to determine MPI stack if MPI not found

07 Nov 17:47
9f8f10d
Compare
Choose a tag to compare

ESMA_cmake itself does not require MPI, so if MPI is not found, we cannot determine an MPI stack. This release fixes that bug.


From CHANGELOG.md

Fixed

  • Do not include DetermineMPIStack if MPI is not found

What's Changed

  • v3: Do not determine MPI stack without MPI found by @mathomp4 in #411

Full Changelog: v3.53.0...v3.53.1

v4: Output mepo status during build

05 Nov 19:56
1093788
Compare
Choose a tag to compare

This updates v4 to add a new esma_capture_mepo_status function (in esma_support/esma_mepo_status.cmake) to capture the output of mepo status --hashes when mepo was used to clone the fixture. It will output this into a file MEPO_STATUS.rc which is installed to ${CMAKE_INSTALL_PREFIX}/etc and can be used to help determine the exact state of the fixture at build time.


From CHANGELOG.md

Added

  • Added new esma_capture_mepo_status function (in esma_support/esma_mepo_status.cmake) to capture the output of mepo status --hashes when mepo was used to clone the fixture. It will output this into a file MEPO_STATUS.rc which is installed to ${CMAKE_INSTALL_PREFIX}/etc and can be used to help determine the exact state of the fixture at build time.

What's Changed

Full Changelog: v4.7.0...v4.8.0

v3: Output mepo status during build

05 Nov 19:51
a8d689e
Compare
Choose a tag to compare

This updates v3 to add a new esma_capture_mepo_status function (in esma_support/esma_mepo_status.cmake) to capture the output of mepo status --hashes when mepo was used to clone the fixture. It will output this into a file MEPO_STATUS.rc which is installed to ${CMAKE_INSTALL_PREFIX}/etc and can be used to help determine the exact state of the fixture at build time.


From CHANGELOG.md

Added

  • Added new esma_capture_mepo_status function (in esma_support/esma_mepo_status.cmake) to capture the output of mepo status --hashes when mepo was used to clone the fixture. It will output this into a file MEPO_STATUS.rc which is installed to ${CMAKE_INSTALL_PREFIX}/etc and can be used to help determine the exact state of the fixture at build time.

What's Changed

Full Changelog: v3.52.0...v3.53.0

Support for external MAPL library

10 Oct 15:28
a580fce
Compare
Choose a tag to compare

This release of v4 adds support for building GEOSgcm, et al, with MAPL as an external library rather than internal. This could be useful for Spack builds of GEOSgcm where they want to use a prebuilt MAPL.


From CHANGELOG.md

Changed

  • Support for building GEOSgcm with Spack using MAPL as library
    • Update esma_create_stub_component to look for mapl_stub.pl in $MAPL_BASE_DIR/etc (which is a variable defined by ecbuild)
    • Update esma_generate_automatic_code to look for mapl_acg.pl in $MAPL_BASE_DIR/etc (which is a variable defined by ecbuild)
    • Require CMake 3.18 for features used in above updates
  • Update to CircleCI orb v5

What's Changed

Full Changelog: v4.6.0...v4.7.0

v3: Support for external MAPL library

10 Oct 15:25
b9ed391
Compare
Choose a tag to compare

This release of v3 adds support for building GEOSgcm, et al, with MAPL as an external library rather than internal. This could be useful for Spack builds of GEOSgcm where they want to use a prebuilt MAPL.

Also, backport some updates from main.


From CHANGELOG.md

Changed

  • Support for building GEOSgcm with Spack using MAPL as library
    • Update esma_create_stub_component to look for mapl_stub.pl in $MAPL_BASE_DIR/etc (which is a variable defined by ecbuild)
    • Update esma_generate_automatic_code to look for mapl_acg.pl in $MAPL_BASE_DIR/etc (which is a variable defined by ecbuild)
    • Require CMake 3.18 for features used in above updates
  • Backport fixes from main
    • More support for NVHPC
    • Support for Hygon processors with GNU Fortran
  • Update to CircleCI orb v4

What's Changed

Full Changelog: v3.51.0...v3.52.0

Jemalloc and LLVM Flang Support

05 Sep 14:19
e735539
Compare
Choose a tag to compare

This release of ESMA_cmake adds a new FindJeMalloc.cmake file for optional use in GEOS as well as preliminary LLVMFlang support.

Note that use of JeMalloc requires having the JeMalloc library available as well as changes in CMake for the needed executable.


From CHANGELOG.md

  • Add FindJeMalloc.cmake for use with builds of GEOSgcm
  • Add preliminary LLVMFlang support

What's Changed

Full Changelog: v4.5.0...v4.6.0

v3: Jemalloc and LLVM Flang Support

05 Sep 14:06
53fae12
Compare
Choose a tag to compare

This release of ESMA_cmake v3 adds a new FindJeMalloc.cmake file for optional use in GEOS as well as preliminary LLVMFlang support.

Note that use of JeMalloc requires having the JeMalloc library available as well as changes in CMake for the needed executable.


From CHANGELOG.md

  • Add FindJeMalloc.cmake for use with builds of GEOSgcm
  • Add preliminary LLVMFlang support

What's Changed

Full Changelog: v3.50.0...v3.51.0