-
Notifications
You must be signed in to change notification settings - Fork 5
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
Fix NoahMP precip rates #14
Conversation
… precip variables needed by LSMs from TBD DDT to Sfcprop DDT
@grantfirl I am planning to get one more round of updates into dtc/develop before creating the PRs for the master and ufs_public_release branches. I can pull in this change and collect several other developments as well, and then test all of them combined. Sounds good? |
@climbfuji I think this is ready to test now that changes have been made to non-CCPP code too, although I haven't compiled it yet. So if you're willing to fix any compilation errors, etc., you should be able to merge into your combined PR. |
Will do, thanks! |
This PR has been pulled into #15. |
|
||
! --- get the amount of different precip type for Noah MP | ||
! --- convert from m/dtp to mm/s | ||
if (lsm==lsm_noahmp) then |
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 line doesn't compile, needs to be Model%lm==Model%lsm_noamp. I fixed this in #15
@@ -200,27 +200,27 @@ subroutine GFS_restart_populate (Restart, Model, Statein, Stateout, Sfcprop, & | |||
num = num + 1 | |||
Restart%name2d(num) = 'ruc_2d_raincprv' | |||
do nb = 1,nblks | |||
Restart%data(nb,num)%var2p => Tbd(nb)%raincprv(:) | |||
Restart%data(nb,num)%var2p => Sfcprop(nb)%raincprv(:) |
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 assume that for b4b identical results through restarts, we need to do something similar for all those RUC previous-precipitation variables, as well as for the d...prv versions? See NCAR/ccpp-physics#367
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.
Yes. I commented on the issue. I'm not worrying about this because from looking at GFS_restart, it seems to me that NoahMP wouldn't have working restarts with or without CCPP, and is thus not our responsibility to fix it.
@@ -370,6 +370,21 @@ real (kind=kind_phys), pointer :: prsik (:,:) => null() !< Exner function at i | |||
real (kind=kind_phys), pointer :: chs2(:) => null() !exch coeff for heat at 2m | |||
real (kind=kind_phys), pointer :: cqs2(:) => null() !exch coeff for moisture at 2m | |||
real (kind=kind_phys), pointer :: lh(:) => null() !latent heating at the surface | |||
|
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 had to move lines 373 to 387 outside of the #ifdef CCPP
statement in #15.
Thanks @climbfuji for fixing the compilation errors. I should really get my Mac set up to compile FV3. This would definitely cut down on the number of commits from me. I have been developing on my Mac, committing, and then compiling on HPC when ready to do so, then fixing compilation errors on HPC -- not particularly efficient! |
Associated PRs: |
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.
…st_code Update to MYNN Surface Layer Scheme and related modules (NCAR#14 - based on latest code)
change ifmin to zero at fh00 for inline POST (NCAR#14)
Since NoahMP precipitation rate calculation was moved to GFS_MP_generic_post_run, sfc_noahmp_pre is no longer needed, so it is deleted from the CCPP configuration file and SDFs. Also, precipitation rate variables used in RUC LSM and NoahMP LSM are put in the Sfcprop DDT rather than the catch-all TBD DDT.
The identical change was made for GFS_physics_driver.F90 for the non-CCPP call to NoahMP. Note that bit-for-bit agreement with the previous NoahMP regression test is not expected since the previous version likely used zero values for precipitation rates corresponding to the periodicity of the emptying of diagnostic buckets.