Skip to content

Remove Modules/FindESMF.cmake - use ESMF's own version#71

Merged
aerorahul merged 3 commits intoNOAA-EMC:developfrom
climbfuji:feature/remove_findesmf
Apr 8, 2025
Merged

Remove Modules/FindESMF.cmake - use ESMF's own version#71
aerorahul merged 3 commits intoNOAA-EMC:developfrom
climbfuji:feature/remove_findesmf

Conversation

@climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Apr 10, 2024

Description

Remove Modules/FindESMF.cmake - ESMF has its own, developer-blessed version that we should use and that provides a switch for the user to use the static or shared library.

There will be changes needed for the applications and for the ESMF build (have the build system add /path/to/esmf-install/cmake to CMAKE_MODULES_PATH)

For spack builds, I created an issue here: spack/spack#43575

I will keep this in draft mode until we've prepared the updates for the build systems and tested with at least ufs-weather-model and jedi-ufs.

This resolves #70

@climbfuji climbfuji self-assigned this Apr 11, 2024
@climbfuji climbfuji marked this pull request as ready for review August 15, 2024 16:30
@climbfuji climbfuji marked this pull request as draft April 1, 2025 11:41
@climbfuji climbfuji requested a review from theurich April 1, 2025 11:41
@climbfuji climbfuji marked this pull request as ready for review April 4, 2025 16:39
@climbfuji
Copy link
Collaborator Author

@aerorahul @DusanJovic-NOAA Is it ok to merge this?

The UFS can continue to point to older versions of CMakeModules (current hash) until it is ready to move up.

NEPTUNE needs to make the switch to leverage the updated findESMF.cmake that ships with esmf@8.9.0b05.

Thanks!

@climbfuji climbfuji requested a review from aerorahul April 4, 2025 16:41
@DusanJovic-NOAA
Copy link
Contributor

@climbfuji I still have a branch and PR open for ufs-weather-model which removes all local copies of FindESMF.cmake from various submodules and uses FindESMF.cmake that comes with ESMF installation. It's very out-of-sync with all upstream branches and due to many other issues with ESMF/MAPL recently I did not keep it up-to-date.

So, I guess it's ok to remove it.

@aerorahul What do you think?

@aerorahul
Copy link
Collaborator

@climbfuji
I am ok w. this merge.
@DusanJovic-NOAA
We should move to using FindESMF.cmake from ESMF installation. I think moving ahead with your PR is a good thing.

@climbfuji
Copy link
Collaborator Author

I am making this change for NEPTUNE (top-level CMakeLists.txt):

list(APPEND CMAKE_MODULE_PATH $ENV{esmf_ROOT}/cmake)
find_package(ESMF 8.9.0 MODULE REQUIRED)

The corresponding update for the spack install recipe is JCSDA/spack#532 - apologies for not filling out the template yet, but wanted to give you a chance to look at it.

@climbfuji climbfuji mentioned this pull request Apr 4, 2025
2 tasks
Copy link
Member

@theurich theurich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the right next step.

@climbfuji
Copy link
Collaborator Author

@aerorahul Once this is merged, would you be able to create another tag of this repo, please?

@climbfuji
Copy link
Collaborator Author

Gentle reminder ... is it possible to merge this, please, and maybe create a tag (optional) afterwards? Thanks very much!

Copy link
Collaborator

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@aerorahul aerorahul merged commit 69049ec into NOAA-EMC:develop Apr 8, 2025
@aerorahul
Copy link
Collaborator

@climbfuji
Copy link
Collaborator Author

@climbfuji Done. https://github.com/NOAA-EMC/CMakeModules/releases/tag/v1.4.0 released

Thanks very much @aerorahul, appreciate it!

@climbfuji climbfuji deleted the feature/remove_findesmf branch April 8, 2025 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide switch to choose between ESMF static and shared? No, better to use ESMF's own findESMF.cmake?

4 participants