diff --git a/CHANGELOG.md b/CHANGELOG.md index 170b86500a00..7fd5b7cbb6d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Replaced RC=STATUS plus `_VERIFY(RC)` in `Base_Base_implementation.F90` with just `_RC` in line with our new convention. - Updated CI to use Open MPI 5.0.0 for GNU - Enable Ninja for CI builds of MAPL +- Removed use of `ESMF_HAS_ACHAR_BUG` CMake option and code use in `MAPL_Config.F90`. Testing has shown that with ESMF 8.6 (which is + now required), NAG no longer needs this workaround. ### Fixed diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt index 268d7291f6f4..17db0ff4209a 100644 --- a/base/CMakeLists.txt +++ b/base/CMakeLists.txt @@ -77,11 +77,6 @@ if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG") target_link_libraries(${this} PRIVATE OpenMP::OpenMP_Fortran) endif () -# Workaround for bizarre switch in ESMF -if (ESMF_HAS_ACHAR_BUG) - set_source_files_properties(MAPL_Config.F90 PROPERTIES COMPILE_DEFINITIONS ESMF_HAS_ACHAR_BUG) -endif() - if(DISABLE_GLOBAL_NAME_WARNING) target_compile_options (${this} PRIVATE $<$:${DISABLE_GLOBAL_NAME_WARNING}>) endif() diff --git a/base/MAPL_Config.F90 b/base/MAPL_Config.F90 index f31daf1cc93d..7c814348cf8f 100644 --- a/base/MAPL_Config.F90 +++ b/base/MAPL_Config.F90 @@ -48,13 +48,9 @@ module MAPL_ConfigMod character, parameter :: BLK = achar(32) ! blank (space) character, parameter :: TAB = achar(09) ! TAB -#if defined(ESMF_HAS_ACHAR_BUG) - character, parameter :: EOL = achar(12) ! end of line mark (cr) -#else - character, parameter :: EOL = achar(10) ! end of line mark (newline) -#endif - character, parameter :: EOB = achar(00) ! end of buffer mark (null) - character, parameter :: NUL = achar(00) ! what it says + character, parameter :: EOL = achar(10) ! end of line mark (newline) + character, parameter :: EOB = achar(00) ! end of buffer mark (null) + character, parameter :: NUL = achar(00) ! what it says contains @@ -97,7 +93,7 @@ end function MAPL_ConfigCreate ! subroutine MAPL_ConfigSetAttribute_real64( config, value, label, rc ) use, intrinsic :: iso_fortran_env, only: REAL64 -! +! type(ESMF_Config), intent(inout) :: config real(kind=REAL64), intent(in) :: value character(len=*), intent(in), optional :: label @@ -243,7 +239,7 @@ end subroutine MAPL_ConfigSetAttribute_real64 ! subroutine MAPL_ConfigSetAttribute_real32( config, value, label, rc ) use, intrinsic :: iso_fortran_env, only: REAL32 -! +! type(ESMF_Config), intent(inout) :: config real(kind=REAL32), intent(in) :: value character(len=*), intent(in), optional :: label @@ -376,17 +372,17 @@ subroutine MAPL_ConfigSetAttribute_real32( config, value, label, rc ) end subroutine MAPL_ConfigSetAttribute_real32 !------------------------------------------------------------------------------ -!> +!> ! Set a 4-byte integer _value_ in the _config_ object. -! +! ! The arguments are: !- **config**: Already created `ESMF_Config` object. !- **value**: Integer value to set. !- **label**: Identifying attribute label. !- **rc**: Return code; equals `ESMF_SUCCESS` if there are no errors. -! +! ! **Private name**: call using ESMF_ConfigSetAttribute()`. -! +! subroutine MAPL_ConfigSetAttribute_int32( config, value, label, rc ) use, intrinsic :: iso_fortran_env, only: INT32 ! @@ -600,15 +596,15 @@ subroutine MAPL_ConfigSetAttribute_reals32( config, value, label, rc ) end subroutine MAPL_ConfigSetAttribute_reals32 !------------------------------------------------------------------------------ -!> +!> ! Set a string _value_ in the _config_ object. -! +! ! The arguments are: !- **config**: Already created `ESMF_Config` object. !- **value**: String value to set. !- **label**: Identifying attribute label. !- **rc**: Return code; equals `ESMF_SUCCESS` if there are no errors. -! +! subroutine MAPL_ConfigSetAttribute_string(config, value, label, rc) type(ESMF_Config), intent(inout) :: config character(len=*), intent(in) :: value diff --git a/components.yaml b/components.yaml index e0bbd84af99c..fd6df1677150 100644 --- a/components.yaml +++ b/components.yaml @@ -11,7 +11,7 @@ ESMA_env: ESMA_cmake: local: ./ESMA_cmake remote: ../ESMA_cmake.git - tag: v3.36.0 + tag: v3.37.0 develop: develop ecbuild: