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

Add a condition to turn off samfdeepcnv when MYNN shallow convection active #121

Merged
merged 4 commits into from
Nov 9, 2023

Conversation

XiaqiongZhou-NOAA
Copy link

@XiaqiongZhou-NOAA XiaqiongZhou-NOAA commented Oct 20, 2023

To add a condition to turn off samfdeepcnv when the MYNN shallow convection is active.

@XiaqiongZhou-NOAA XiaqiongZhou-NOAA changed the title Add a switch to turn off samfdeepcnv when MYNN shallow convection active Add a condition to turn off samfdeepcnv when MYNN shallow convection active Oct 20, 2023
@XiaqiongZhou-NOAA XiaqiongZhou-NOAA marked this pull request as ready for review October 20, 2023 17:00
@Qingfu-Liu
Copy link
Collaborator

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

@XiaqiongZhou-NOAA
Copy link
Author

encounter run errors with GNU. Please hold the review. I will need fix it at first.

@lisa-bengtsson
Copy link
Collaborator

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

@Qingfu-Liu when both samfdeepcnv and samfshalcnv are used in the suite, convection is "either/or" shallow or deep. When you replace shallow convection by MYNN, but keep smafdeepcnv both shallow and deep could occur in the same grid-box.

@XiaqiongZhou-NOAA
Copy link
Author

XiaqiongZhou-NOAA commented Oct 24, 2023

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

I have fixed the issue in the regression tests with GNU compiler in debug mode. It works fine now.
This revision is for the ccpp suites with MYNN PBL and samfdeepcnv but without samfshalcnv. I am not sure if there is a mechanism for only either samfshalcnv or samfdeepcnv active.

@Qingfu-Liu
Copy link
Collaborator

Qingfu-Liu commented Oct 24, 2023

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

@Qingfu-Liu when both samfdeepcnv and samfshalcnv are used in the suite, convection is "either/or" shallow or deep. When you replace shallow convection by MYNN, but keep smafdeepcnv both shallow and deep could occur in the same grid-box.

@lisa-bengtsson I still not quite understand this, parameter "do_mynnedmf" is set in the input.nml file and will not change in the model forecast. If the MYNN shallow convection is turned on, it does not mean the deep convection will not turned on at the same model grid (so we force the deep convection turned off by this code change). In the current GFS scheme, the deep convection is checked first, then shallow convection. So if the deep convection criteria is satisfied, we should turn on the deep convection, and turn off the shallow convection. Another question is: When you replace shallow convection by MYNN, why only turn off the deep convection and still keep the samfshalcnv shallow convection (so the model will use both MYNN shallow convection and samfshalcnv shallow convection)?

@lisa-bengtsson
Copy link
Collaborator

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

@Qingfu-Liu when both samfdeepcnv and samfshalcnv are used in the suite, convection is "either/or" shallow or deep. When you replace shallow convection by MYNN, but keep smafdeepcnv both shallow and deep could occur in the same grid-box.

@lisa-bengtsson I still not quite understand this, parameter "do_mynnedmf" is set in the input.nml file and will not change in the model forecast. So If I turn off the deep convection, there will be no deep convection in all the model grids. For example, if I set "do_mynnedmf=.true.", and run the GFS global model, there will be no deep convection turned on. Another question is: When you replace shallow convection by MYNN, why only turn off the deep convection and still keep the samfshalcnv shallow convection (so the model will use both MYNN shallow convection and samfshalcnv shallow convection)?

@XiaqiongZhou-NOAA where do you set maxMF? I don't see an update to GFS_typedefs.F90 in the FV3 sub-module?
@Qingfu-Liu I don't think you should run with both MYNN shallow convection and smafshalcnv, one of them has to be selected to be called in the suite. My understanding is that the maxMYNN

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

@Qingfu-Liu when both samfdeepcnv and samfshalcnv are used in the suite, convection is "either/or" shallow or deep. When you replace shallow convection by MYNN, but keep smafdeepcnv both shallow and deep could occur in the same grid-box.

@lisa-bengtsson I still not quite understand this, parameter "do_mynnedmf" is set in the input.nml file and will not change in the model forecast. So If I turn off the deep convection, there will be no deep convection in all the model grids. For example, if I set "do_mynnedmf=.true.", and run the GFS global model, there will be no deep convection turned on. Another question is: When you replace shallow convection by MYNN, why only turn off the deep convection and still keep the samfshalcnv shallow convection (so the model will use both MYNN shallow convection and samfshalcnv shallow convection)?

@Qingfu-Liu all points in samfdeepcnv will not be tuned off, only the ones less than maxMF. @XiaqiongZhou-NOAA where do you set maxMF, I don't see it in your PR to FV3 in GFS_typedefs.F90?

@Qingfu-Liu If MYNN is called in the suite, then the call to samfshalcnv.f needs to removed from the SDF.

@XiaqiongZhou-NOAA yes, samfshalcnv turns off convection if we have deep convection, it has to be either/or:
if(kcnv(i) == 1) cnvflg(i) = .false.

@Qingfu-Liu
Copy link
Collaborator

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

@Qingfu-Liu when both samfdeepcnv and samfshalcnv are used in the suite, convection is "either/or" shallow or deep. When you replace shallow convection by MYNN, but keep smafdeepcnv both shallow and deep could occur in the same grid-box.

@lisa-bengtsson I still not quite understand this, parameter "do_mynnedmf" is set in the input.nml file and will not change in the model forecast. So If I turn off the deep convection, there will be no deep convection in all the model grids. For example, if I set "do_mynnedmf=.true.", and run the GFS global model, there will be no deep convection turned on. Another question is: When you replace shallow convection by MYNN, why only turn off the deep convection and still keep the samfshalcnv shallow convection (so the model will use both MYNN shallow convection and samfshalcnv shallow convection)?

@XiaqiongZhou-NOAA where do you set maxMF? I don't see an update to GFS_typedefs.F90 in the FV3 sub-module? @Qingfu-Liu I don't think you should run with both MYNN shallow convection and smafshalcnv, one of them has to be selected to be called in the suite. My understanding is that the maxMYNN

@XiaqiongZhou-NOAA I am curious why turn off samfdeepcnv when MYNN shallow convection is active? I feel that It is logical to turn off samfshalcnv instead of the samfdeepcnv. Could you please given some discussions to do so?

@Qingfu-Liu when both samfdeepcnv and samfshalcnv are used in the suite, convection is "either/or" shallow or deep. When you replace shallow convection by MYNN, but keep smafdeepcnv both shallow and deep could occur in the same grid-box.

@lisa-bengtsson I still not quite understand this, parameter "do_mynnedmf" is set in the input.nml file and will not change in the model forecast. So If I turn off the deep convection, there will be no deep convection in all the model grids. For example, if I set "do_mynnedmf=.true.", and run the GFS global model, there will be no deep convection turned on. Another question is: When you replace shallow convection by MYNN, why only turn off the deep convection and still keep the samfshalcnv shallow convection (so the model will use both MYNN shallow convection and samfshalcnv shallow convection)?

@Qingfu-Liu all points in samfdeepcnv will not be tuned off, only the ones less than maxMF. @XiaqiongZhou-NOAA where do you set maxMF, I don't see it in your PR to FV3 in GFS_typedefs.F90?

@Qingfu-Liu If MYNN is called in the suite, then the call to samfshalcnv.f needs to removed from the SDF.

@XiaqiongZhou-NOAA yes, samfshalcnv turns off convection if we have deep convection, it has to be either/or: if(kcnv(i) == 1) cnvflg(i) = .false.

@XiaqiongZhou-NOAA Thanks for the comments. OK we remove the samfshalcnv shallow convection scheme in the SDF. In the current GFSv16 and GFSv17 suites, the deep convection is called first, then shallow convection. So if the deep convection criteria is satisfied, we turn on the deep convection, and turn off the shallow convection. However, in the new change, we called the the PBL shallow convection first, then checked the deep convection. If the MYNN shallow convection is turned on, it does not mean the deep convection will not turned on at the same model grid (so we force the deep convection turned off by this code change). I am not sure if this change the deep convection significantly at some of the model grids.

@XiaqiongZhou-NOAA
Copy link
Author

@XiaqiongZhou-NOAA where do you set maxMF, I don't see it in your PR to FV3 in GFS_typedefs.F90?
Lisa: maxMF is not a new array. It has been set in GFS_typedefs.F90 already.

@lisa-bengtsson
Copy link
Collaborator

@XiaqiongZhou-NOAA where do you set maxMF, I don't see it in your PR to FV3 in GFS_typedefs.F90? Lisa: maxMF is not a new array. It has been set in GFS_typedefs.F90 already.

@XiaqiongZhou-NOAA ok, thanks!

@XiaqiongZhou-NOAA
Copy link
Author

@XiaqiongZhou-NOAA Thanks for the comments. OK we remove the samfshalcnv shallow convection scheme in the SDF. In the current GFSv16 and GFSv17 suites, the deep convection is called first, then shallow convection. So if the deep convection criteria is satisfied, we turn on the deep convection, and turn off the shallow convection. However, in the new change, we called the the PBL shallow convection first, then checked the deep convection. If the MYNN shallow convection is turned on, it does not mean the deep convection will not turned on at the same model grid (so we force the deep convection turned off by this code change). I am not sure if this change the deep convection significantly at some of the model grids.

Qingfu:
It has a small impact. Please see slide 4 to see the impact when SaSAS deep is off if MYNN shallow CNV is active: https://docs.google.com/presentation/d/1YDigrViw4Pe7NFE1BWLyiLJes_MJSwsetQ_7at2jUnk/edit?usp=sharing

@Qingfu-Liu
Copy link
Collaborator

@XiaqiongZhou-NOAA Thanks for the slides. Are those 45km and 87km resolution runs (slides 7 and 12)?

@XiaqiongZhou-NOAA
Copy link
Author

XiaqiongZhou-NOAA commented Oct 24, 2023 via email

@Qingfu-Liu
Copy link
Collaborator

Qingfu-Liu commented Oct 24, 2023

@XiaqiongZhou-NOAA Thanks. For high resolution like 3km, the deep convection scheme has less impact on the model forecast. This probably should be tested in the global model where deep convection has much larger impact on the forecast. Anyway, this change is quite different to trigger deep convections compared to the current system.

@Qingfu-Liu
Copy link
Collaborator

@XiaqiongZhou-NOAA

@Qingfu-Liu Qingfu-Liu closed this Oct 24, 2023
@XiaqiongZhou-NOAA
Copy link
Author

XiaqiongZhou-NOAA commented Oct 25, 2023

@yangfanglin @Qingfu-Liu
Why this PR is closed? This PR is mainly for RRFS. GFS is not using the combination of the MYNN PBL and samfdeepcnv but RRFS is likely use this combination. I will have a look at low resolution regression tests to see the difference.

In addition, same condition was used in C3 and GF when MYNN PBL is used.

@Qingfu-Liu
Copy link
Collaborator

Qingfu-Liu commented Oct 25, 2023

@XiaqiongZhou-NOAA I think I accidently closed it. Sorry about this. I saw the PR is closed it yesterday, I did not realize it is me close it at that time.

@Qingfu-Liu Qingfu-Liu reopened this Oct 25, 2023
@Qingfu-Liu
Copy link
Collaborator

Qingfu-Liu commented Oct 25, 2023

@XiaqiongZhou-NOAA Really strange, I did not reopen this PR, why it says that I reopened this PR? By the way, I think I know how I close this PR: there is a button close to the "comment" button, I must accidentally hit the button" close with comment" button. Sorry about this.
Also I saw that I have no comments at all when I close this PR. There is a short period that my computer has a connection problem yesterday. The button "close with comment" is accidently hit when I try to move my mouse around

@XiaqiongZhou-NOAA
Copy link
Author

@Qingfu-Liu
No problem. Here is 24hr precipitation from the control_p8_mynn_intel regression test (C96) with and without this PR changes:
https://docs.google.com/presentation/d/1UMDrpGKyPFiXejmf8M8z-Eq7hNc0pLmIUvjZJdNeDdo/edit?usp=sharing

@Qingfu-Liu
Copy link
Collaborator

@XiaqiongZhou-NOAA Thanks for the test run. For C96 at 24h, precipitation pattern is similar, but the magnitude of the precipitation is reduced. There is a possibility that we trigger more shallow convection (small or no precipitation) and less deep convection (more precipitation) in the new code change.

@Qingfu-Liu
Copy link
Collaborator

@XiaqiongZhou-NOAA I approved this PR since it is created for RRFS. However, this change is debatable. For example, give a model grid point, if both criteria to trigger shallow convection and deep convection are satisfied, it is reasonable to trigger deep convection and turn off the shallow convection. This change is doing the opposite.

@XiaqiongZhou-NOAA
Copy link
Author

@XiaqiongZhou-NOAA I approved this PR since it is created for RRFS. However, this change is debatable. For example, give a model grid point, if both criteria to trigger shallow convection and deep convection are satisfied, it is reasonable to trigger deep convection and turn off the shallow convection. This change is doing the opposite.

Thanks. Qingfu. I agree that it might be more reasonable to prioritize deep convection over shallow convection. Giving that the shallow convection in MYNN PBL is followed by SaSAS deep in this case, it is difficult to adjust the order now. Let's keep this issue in mind and reconsider the impacts on low resolution forecasts of this change when both MYNN PBL and deep convection schemes are utilized.

Copy link
Collaborator

@grantfirl grantfirl left a comment

Choose a reason for hiding this comment

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

I approve the code changes but have similar questions as @Qingfu-Liu. If the codeowners are on-board with this change, I guess it is OK according to them scientifically.

@XiaqiongZhou-NOAA
Copy link
Author

@JongilHan66 Jongil: Can you review the code? This PR is asked by Fanglin when you are on AL. It is planned to merge UFS today. Please have a look the code is OK to merge.

@zach1221
Copy link

zach1221 commented Nov 9, 2023

@grantfirl we are finished with testing on PR #1953. Could you please merge this ccpp-physics sub-pr for us, when you're able?

@grantfirl grantfirl merged commit c2ec9e5 into ufs-community:ufs/dev Nov 9, 2023
grantfirl pushed a commit that referenced this pull request Nov 15, 2023
grantfirl pushed a commit that referenced this pull request Nov 15, 2023
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.

7 participants