Skip to content

Releases: GEOS-ESM/ESMA_cmake

Add ability to turn off F2PY

16 Jul 15:59
30cfe1f
Compare
Choose a tag to compare

This release adds an option USE_F2PY which by default is ON preserving current behavior. However, on some pioneer systems (aka non-NASA) and containers, it's been found that some times the current f2py Cmake system is not robust enough. On those systems, f2py is not as crucial as building the model so using -DUSE_F2PY=OFF can provide a workaround until the systems can be examined.

Updates to testing and stub generator

09 Jun 19:12
15b48ca
Compare
Choose a tag to compare

In support of MAPL 2.2 reorganization:

  • Fix up how testing is done
  • Generalize the stub generator

Generalize paths to MAPL Utilities

05 Jun 15:53
1404e86
Compare
Choose a tag to compare
  • Use find_file to generalize path to MAPL utilities (acg)

Updates for JEDI Compatibility

03 Jun 16:37
fa505db
Compare
Choose a tag to compare

Work by @tclune to support the use of GEOS in JEDI.

  • Updates ecbuild to geos/v1.0.5
  • Adds NOINSTALL argument to esma_add_library()

Add support for GCC 10

18 May 15:55
0b65110
Compare
Choose a tag to compare

This release adds support for building with GCC 10. The changes are due to two changes in GCC 10 Fortran support:

  • Mismatches between actual and dummy argument lists in a single file are now rejected with an error. Use the new option -fallow-argument-mismatch to turn these errors into warnings; this option is implied with -std=legacy. -Wargument-mismatch has been removed.

  • The handling of a BOZ literal constant has been reworked to provide better conformance to the Fortran 2008 and 2018 standards. In these Fortran standards, a BOZ literal constant is a typeless and kindless entity. As a part of the rework, documented and undocumented extensions to the Fortran standard now emit errors during compilation. Some of these extensions are permitted with the -fallow-invalid-boz, where the error is degraded to a warning and the code is compiled as with older gfortran.

By default, GEOS (and MAPL, etc.) with GCC 10 will not compile without the two -fallow flags set. This is not a good thing, but changing GEOS to comply will be a long term effort. This PR introduces two new CMake options:

  • MISMATCH_IS_ERROR
  • INVALID_BOZ_IS_ERROR

By default, they are OFF, which means we treat the errors as warnings and pass the flags. But by specifying -DMISMATCH_IS_ERROR=YES (and similar for BOZ) we can make them errors again and find the culprits. But if not enabled, CMake will spit out big warnings through ecbuild_warn() about the fact that we are making them warnings.

f2py test update

04 May 13:08
563187a
Compare
Choose a tag to compare

Fixed

  • Typo in message in esma_add_library().

Added

  • Added macro esma_add_f2py_module() which wraps existing add_f2py_module() and
    a call to add_test().

Allow flexible ecbuild mounting

21 Apr 12:50
f260933
Compare
Choose a tag to compare

Changed

  • Allow ecbuild to be mounted as ecbuild@, @ecbuild, or ecbuild

ESMA Cmake 3.0

15 Apr 13:36
Compare
Choose a tag to compare

NOTE: This version of ESMA_cmake requires at least Baselibs 6.0.10 due to the requirement of yaFyaml and pFlogger. As such, the major version is updated to reflect that.

Changed

  • Made gFTL-shared, yaFyaml, and pFlogger REQUIRED

Added

  • Added ability for OpenMP and Double Precision to be used with f2py
    Used by the MAM Optics code
  • Add ability to allow @-symbol to be at beginning or end of sub-repo (still in progress)
  • Emit BASEDIR location during CMake

Python and add_library updates

10 Apr 14:59
aa6c61c
Compare
Choose a tag to compare
  • Added macro to verify availability of Python modules
    Use: esma_find_python_module(<module> [REQUIRED])
  • Added macro to add a post-build check availability of Python modules
    Use: esma_check_python_module(<module>)
  • Added option is esma_add_library() to use SHARED

Fixes for macOS

27 Mar 14:51
50520f0
Compare
Choose a tag to compare

Fix for macOS and Clang found by @tclune

Also uptick the ecbuild version in Externals.cfg to prevent a CMake warning.