Complete CCPPization of CAM5 UW PBL scheme (diag_TKE)#370
Conversation
…and ndrop vertical mixing stub
…e standard name (need CAM update) -- refactor for CAM4/5 cross-compat
nusbaume
left a comment
There was a problem hiding this comment.
Thank you so much for helping bring in our first (!) CAM5 physics scheme @jimmielin! I realize I have what look like a ton of comments, but hopefully the vast majority of them are easy to resolve. Of course if you have any questions, comments, or concerns with any of my suggestions then just let me know. Thanks again!
| use ccpp_constituent_prop_mod, only: ccpp_constituent_prop_ptr_t | ||
|
|
||
| ! dependency to get constituent index | ||
| use ccpp_const_utils, only: ccpp_const_get_idx |
There was a problem hiding this comment.
Can we use the CCPP-framework equivalent for this?
| use ccpp_const_utils, only: ccpp_const_get_idx | |
| use ccpp_scheme_utils, only: ccpp_const_get_idx=>ccpp_constituent_index |
This way we can eventually get rid of the helper scheme we currently have in atmospheric_physics.
There was a problem hiding this comment.
Thanks for the suggestion! I think this doesn't have an equivalent stub in CAM yet - https://github.com/ESCOMP/CAM/blob/cam_development/src/utils/cam_ccpp/ccpp_scheme_utils.F90 is a no-op stub right now. I am happy to write the stub but that adds yet another tangential fix to the stub which will be a nightmare to my house of cards.
I added a CAM issue to write the stub: ESCOMP/CAM#1541
The atmos_phys issue is existing: #215 - I can volunteer at the end of CAM5 to sweep through all of these once the stub is in, if that is OK?
There was a problem hiding this comment.
Thanks for the response @jimmielin! I'm leaving this comment open so that we remember, but otherwise will consider it resolved for the purposes of this PR.
Co-authored-by: Jesse Nusbaumer <nusbaume@ucar.edu>
nusbaume
left a comment
There was a problem hiding this comment.
Thanks for responding to all my comments @jimmielin! I just had a few final questions/suggestions.
| use ccpp_constituent_prop_mod, only: ccpp_constituent_prop_ptr_t | ||
|
|
||
| ! dependency to get constituent index | ||
| use ccpp_const_utils, only: ccpp_const_get_idx |
There was a problem hiding this comment.
Thanks for the response @jimmielin! I'm leaving this comment open so that we remember, but otherwise will consider it resolved for the purposes of this PR.
| # these are for the diffusion solver to compute implicit surface stress. | ||
| # for UW PBL, this is taux = wsx; tauy = wsy | ||
| # currently handled by hb_prepare_vertical_diffusion_inputs run phase. | ||
| #[ taux ] |
There was a problem hiding this comment.
Thanks for the explanation! Maybe we can get a scientist's input on this whenever we open the "future work" PR. For now I'll leave it open so we can find this again, but will consider it "resolved" for this particular PR.
| type(ccpp_constituent_prop_ptr_t), & | ||
| intent(in) :: const_props(:) ! CCPP constituent properties pointer |
There was a problem hiding this comment.
I'm going to leave this comment open so that we can remember to remove the const_props input once we do the constituent subroutine update, but will consider this "resolved" for this particular PR. Thanks!
…ospheric_physics into hplin/diag_tke_rebase_main
nusbaume
left a comment
There was a problem hiding this comment.
Thanks again for all of this work @jimmielin! I had one last comment-fix that was missed from earlier, but otherwise everything looks great to me. Thanks again!
peverwhee
left a comment
There was a problem hiding this comment.
Apologies for the delay on this! A few (mostly aesthetic) requests.
|
Thanks @nusbaume and @peverwhee for your reviews and comments! This should be ready for merging once a CAM tag is assigned. I did a test run of Nag tests:
When Derecho is back I can do a test run there as well to ensure atmos_phys is all good then it'll just have to wait for its turn in the CAM tagging queue. |
Tag name (The PR title should also include the tag name):
Originator(s): @jimmielin
Companion PR in CAM - ESCOMP/CAM#1445
Description (include issue title and the keyword ['closes', 'fixes', 'resolves'] and issue number):
List all namelist files that were added or changed:
List all files eliminated and why: N/A
List all files added and what they do:
List all existing files that have been modified, and describe the changes:
(Helpful git command:
git diff --name-status development...<your_branch_name>)List all automated tests that failed, as well as an explanation for why they weren't fixed:
Is this an answer-changing PR? If so, is it a new physics package, algorithm change, tuning change, etc?
If yes to the above question, describe how this code was validated with the new/modified features: