Skip to content
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

Merged
merged 3 commits into from
Dec 9, 2019

Conversation

grantfirl
Copy link
Collaborator

@grantfirl grantfirl commented Dec 5, 2019

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.

… precip variables needed by LSMs from TBD DDT to Sfcprop DDT
@climbfuji
Copy link
Collaborator

@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?

@grantfirl
Copy link
Collaborator Author

@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.

@climbfuji
Copy link
Collaborator

Will do, thanks!

@climbfuji
Copy link
Collaborator

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
Copy link
Collaborator

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(:)
Copy link
Collaborator

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

Copy link
Collaborator Author

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

Copy link
Collaborator

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.

@grantfirl
Copy link
Collaborator Author

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!

@grantfirl
Copy link
Collaborator Author

Associated PRs:
NCAR/ccpp-physics#365
NCAR/ccpp-scm#150

Copy link
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this PR cannot be merged alone, it requires the bugfixes in #15. It will be merged automatically as part of #15.

@climbfuji climbfuji merged commit eb4c2e0 into NCAR:dtc/develop Dec 9, 2019
SamuelTrahanNOAA pushed a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Apr 6, 2020
…st_code

Update to MYNN Surface Layer Scheme and related modules (NCAR#14 - based on latest code)
SamuelTrahanNOAA pushed a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Jan 7, 2022
change ifmin to zero at fh00 for inline POST (NCAR#14)
SamuelTrahanNOAA pushed a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Jun 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants