Refactor SAMF convection schemes for single-precision (32-bit) capability - #384
Refactor SAMF convection schemes for single-precision (32-bit) capability#384rhaesung wants to merge 57 commits into
Conversation
…aesung/ccpp-physics into feature/samf-single-precision
- Update add_library to use SCHEMES_SAMFCNV instead of SCHEMES_SAMFDEEP. - Resolves missing module errors for mo_conv_kind.
Deleted code associated with already removed print statements Deleted excess comments.
* Change tfreeze to match that in NoahMP * Only set SLC to SMC if temp newly > tfreez
|
This looks like a lot of (important) work - just a heads up that I just committed a PR updating progomega_calc.f90 - looks like we should be able to merge the two in a straight forward way. #383 |
@lisa-bengtsson Thanks for the heads-up! Since this PR is currently in draft status while we conduct 32-bit scientific validation, we can proceed with #383 first. Once it is merged, I will rebase and apply the sp implementation to the updated code. |
@rhaesung , great! Thank you! |
Description of Changes:
samfdeepcnv.F90,samfshalcnv.f,progomega_calc.f90, andprogsigma_calc.f90to 32-bit (conv_wp) to reduce memory bandwidth and enhance computational performance.kind_phys) for external I/O arrays and host model interfaces to ensure seamless integration and stability with the host workflow..meta) files and variable specifications to ensure accurate glue-code generation for flexible precision switching.Tests Conducted:
Dependencies:
Contributors (optional):
@yangfanglin @JongilHan66