-
Notifications
You must be signed in to change notification settings - Fork 313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stop building esmf_wrf_timemgr for unit tests; instead use the actual ESMF library #2375
Comments
Decision in SE meeting 2024-03-21: This is a good thing for post-CESM3. |
@jedwards4b is recommending that we use ESMF VM constructs to replace things like shr_mpi as a more general way of doing things that allow for a move to a different distributed memory. See this comment here. The reason that relates to this is that any unit-testing that uses those ESMF VM objects doing this would be *required". |
In the CSEG meeting we talked about removing the esmf_wrf_timemgr in a future cesm3_0 beta tag. Doing this would break our unit-testing unless this issue were fixed. Since the unit-testing is critical this will need to be fixed as part of the cesm3_0 release. Because of that I removed the low priority label here, and added the ctsm6.0.0 code freeze milestone. |
It looks like @jedwards4b has something that should work here. It will at least require an update of cesm_share, and possibly cime. This will enable CESM to deprecate and remove the ESMF wrf timemgr code. So we can likely bring this in and make sure it works at our next externals update. |
In making the changes for #2374 , I noticed that the unit test build still builds the esmf_wrf_timemgr to satisfy the ESMF dependency of clm_time_manager.F90. At some point we should probably stop doing that and instead have the unit tests link against the actual ESMF library.
See
CTSM/src/CMakeLists.txt
Line 21 in c030c23
and some related code in that file.
I briefly started down this path but couldn't see how to get the value of ESMFMKFILE for this machine/compiler in the CMake build, so I gave up for now.
Note that we could probably also remove this block of code: I assume that was put in before we needed to include ESMF stuff in the unit test build, but now we do because of the unit tests of clm_time_manager:
CTSM/src/CMakeLists.txt
Lines 57 to 73 in c030c23
The text was updated successfully, but these errors were encountered: