-
Notifications
You must be signed in to change notification settings - Fork 149
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
NoahMP CCPP-compliancy #305
Conversation
…or handling dates)
Associated PRs: |
Status: Compiles successfully using Theia/Intel, but no attempt to run RTs yet. |
physics/noahmp_pre.F90
Outdated
@@ -0,0 +1,72 @@ | |||
!> \file noahmp_pre.F90 |
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.
@climbfuji This code for calculating julian day and the year length was in GFS_physics_driver.F90, so I initially put this code in a NoahMP-specific interstitial scheme, but thinking a bit more, this code does not depend on location (only time), so why couldn't it be put in GFS_time_vary_pre_run where other time-related quantities are calculated to save some CPU cycles?
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 sounds like a reasonable idea to me!
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.
OK, thanks, I'll do that.
…y_pre_run; update GFS_time_vary_pre_run.fv3.F90 to new metadata and remove DDT dependency
… because it was originally done after the call to ccpp_physics_init in FV3GFS_io.F90/sfc_prop_restart_read
…use it was originally done after the call to ccpp_physics_init in FV3GFS_io.F90/sfc_prop_restart_read); this needs to happen before radition is called
…specific interstitial to test for b4b
|
||
if(lsm == lsm_noahmp) then | ||
!GJF* These calculations were originally in GFS_physics_driver.F90 for | ||
! NoahMP. They were moved to this routine since they only depends |
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.
I will correct the typo "they only depends" to "they only depend" in my collect-and-test PR.
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.
For the record - done.
tbot ,zbot ,zsnso ,dzsnso , & !in | ||
tg ,stc ,snowh ,sneqv ,sneqvo ,sh2o , & !inout | ||
smc ,snice ,snliq ,albold ,cm ,ch , & !inout | ||
#ifdef CCPP |
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.
Just wondering why we need ifdef CCPP in a CCPP physics scheme? Do you want to keep this for comparing it/merging our with code from other/the authoritative repositories/repository?
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.
The ifdef CCPP in all of the code in ccpp-physics for NoahMP was an attempt to try to anticipate these changes going back to an authoritative repo outside of CCPP so that the code could continue to be used as-is outside of the CCPP.
if(fveg <= 0.05) fveg = 0.05 | ||
else | ||
write(*,*) "-------- fatal called in sflx -----------" | ||
#ifdef CCPP |
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.
Very nice, thanks for making those code changes.
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.
A massive amount of work. I did not check every line in this PR (8439 lines of code in one file alone - nature can't be this complicated).
I left a few notes for the future.
I will pull this PR into a new PR that collects MYJ, NoahMP and other developments and tests them together.
NCAR#305) * Introduction of CA domain definition. * Read/Write and restart capability of CA * Change namelist control parameter so that CA time and space scales are adjusted for various resolutions given the same CA namelist input. * Significant cleaning of old ideas. * Improved coupling to cumulus convection.
Description of changes in ccpp-physics only:
Interstitials: