-
Notifications
You must be signed in to change notification settings - Fork 344
Fix mksurfdata CMakeLists.txt: use SHARED for .so PIO libraries #3700
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
base: b4b-dev
Are you sure you want to change the base?
Fix mksurfdata CMakeLists.txt: use SHARED for .so PIO libraries #3700
Conversation
This brings the parameter file in line with what I used for my AGU 2025 simulations.
grnfill:
Values differ:
[pft 61 (rice)] 0.4000000059604645 → 0.6
[pft 62 (irrigated_rice)] 0.4000000059604645 → 0.6
lfemerg:
Values differ:
[pft 61 (rice)] 0.009999999776482582 → 0.05
[pft 62 (irrigated_rice)] 0.009999999776482582 → 0.05
ctsm5.4.007: Update (irrigated_)rice grnfill and lfemerg
…remove dwat_temp as it's unused
ctsm5.4.008: Oversaturation
ctsm5.4.009 Implement dewpoint temperature check for bare ground to fix RRTMGP error
The CMakeLists.txt declares PIO libraries as STATIC IMPORTED but then points to shared library files (.so). This is an internal inconsistency that can cause build failures when using externally-built shared PIO libraries. Fix: Change STATIC IMPORTED to SHARED IMPORTED for pioc and piof targets since they reference .so files. Tested on: HiPerGator (UF HPC) with GCC 14.2.0, OpenMPI 5.0.7, shared PIO 2.6.6 at /blue/gerber/earth_models/shared/parallelio/bld/
ekluzek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good! Thanks so much for noticing this and adding a PR for it!
|
This might as well go onto b4b-dev, so rebasing to it. |
|
Re-basing in github caused more files to be different. So I'll rebase in the branch. @cdevaneprugh I might need you to add me as a collaborator. |
|
I'm still seeing differences in other files after having done: git rebase b4b-dev fix/mksurfdata-cmake-shared-pio So we might need to cherry-pick just c1f13a6e06e77fdcf989f970e24414f2664183ca to b4b-dev and/or wait until tomorrow when b4b-dev is merged up to master. |
|
Collaborator access granted. Feel free to handle the rebase as needed. |
The CMakeLists.txt declares PIO libraries as STATIC IMPORTED but then points to shared library files (.so). This is an internal inconsistency that can cause build failures when using externally-built shared PIO libraries.
Fix: Change STATIC IMPORTED to SHARED IMPORTED for pioc and piof targets since they reference .so files.
Tested on: HiPerGator (University of Florida HPC) with GCC 14.2.0, OpenMPI 5.0.7, shared PIO 2.6.6
Description of changes
See above.
Specific notes
Affects users building mksurfdata_esmf with externally-built shared PIO libraries.
Contributors other than yourself, if any:
CTSM Issues Fixed (include github issue #):
Are answers expected to change (and if so in what way)?
No - this is a build configuration fix only.
Any User Interface Changes (namelist or namelist defaults changes)?
No
Does this create a need to change or add documentation? Did you do so?
No
Testing performed, if any:
Built mksurfdata_esmf successfully with external shared PIO on HiPerGator.