Skip to content

Precipitating Convective Cloud (PCC): cloud-radiation feedbacks for BMJ Cumulus Scheme #921

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

Merged
merged 29 commits into from
Feb 11, 2020

Conversation

rmfonsecaweb
Copy link
Contributor

@rmfonsecaweb rmfonsecaweb commented Jun 4, 2019

TYPE: New Feature

KEYWORDS: PCC scheme, BMJ cumulus scheme

SOURCE: Tieh-Yong Koh (Earth Observatory of Singapore, Nanyang Technological University, Singapore); Ricardo Fonseca (Earth Observatory of Singapore, Nanyang Technological University, Singapore); Chee-Kiat Teo (Temasek Laboratories, Nanyang Technological University, Singapore); Tengfei Zhang (Earth Observatory of Singapore, Nanyang Technological University, Singapore)

DESCRIPTION OF CHANGES: We have added to the BMJ cumulus scheme a Precipitating Convective Cloud (PCC) scheme that accounts for sub-grid cloud interaction with radiation. The parameterization scheme is presented in the paper below. For it to be switched on, the flag "bmj_rad_feedback" in the physics section of the namelist has to be set to true. In other words, the user can run WRF with the BMJ scheme and with or without our proposed PCC scheme.

+++
Koh, T.-Y. and R. Fonseca (2016), "Subgrid-scale cloud-radiation feedback for the Betts-Miller-Janjic convection scheme", Quarterly Journal of the Royal Meteorological Society, 142(695), 989-1006. doi: 10.1002/qj.2702
+++

LIST OF MODIFIED FILES:

Registry/Registry.EM_COMMON
Registry/Registry.NMM
dyn_em/start_em.F (code line-up only)
dyn_em/module_first_rk_step_part1.F
dyn_nmm/module_PHYSICS_CALLS.F
phys/module_physics_init.F (code line-up only)
phys/module_cumulus_driver.F
phys/module_cu_bmj.F
phys/module_radiation_driver.F

TESTS CONDUCTED:

  1. This parameterization scheme was tested in year-long simulations (paper 1 below).
  2. This parameterization was tested for a 27-year simulation (paper 2 below) in a tropical belt configuration and was found to work well for all seasons.

For tropical applications, we recommend this PCC to be used with the WDM5, WDM6 or WDM7 cloud microphysics schemes, and with the RRTMG / RRTMG fast radiation scheme. The BMJ scheme should also be modified according to paper 3 below by reducing the "Fs" parameter from its default value of 0.85 to 0.6 so that it produces a good estimate of the observed tropical precipitation on pentad time-scales as given by the TRMM satellite data.

  1. The code compiles with NMM, passes jenkins test with and without the switch on.

+++
Paper 1:
Koh, T.-Y. and R. Fonseca (2016), "Subgrid-scale cloud-radiation feedback for the Betts-Miller-Janjic convection scheme", Quarterly Journal of the Royal Meteorological Society, 142(695), 989-1006. doi: 10.1002/qj.2702

Paper 2:
Fonseca, R., T.-Y. Koh and C.-K. Teo (2018), "Multi-scale interactions in a high-resolution tropical-belt experiment and observations", Climate Dynamics, in press. DOI: 10.1007/s00382-018-4332-y

Paper 3:
R. M. Fonseca, T. Zhang and K. T. Yong (2015), "Improved simulation of precipitation in the tropics using a modified BMJ scheme in the WRF model", Geosci. Model Dev., 8, 2915-2928, doi:10.5194/gmd-8-2915-2015

These papers can be downloaded on the website below:
https://isotope.suss.edu.sg/stade/tykoh/publication.htm
+++

Release Note: A capability to add BMJ cumulus feedback to radiation is added and activated by namelist option bmj_rad_feedback option. See the following paper for science details: Koh, T.-Y. and R. Fonseca (2016), "Subgrid-scale cloud-radiation feedback for the Betts-Miller-Janjic convection scheme", Quarterly Journal of the Royal Meteorological Society, 142(695), 989-1006. doi: 10.1002/qj.2702.

@rmfonsecaweb rmfonsecaweb requested review from a team as code owners June 4, 2019 03:37
@davegill
Copy link
Contributor

davegill commented Jun 4, 2019

@rmfonsecaweb
Ricardo,

  1. Change the base branch to be develop (not master). It is unlikely that you really want to change 53 files. Just click the edit button up at the top of this github page.
  2. Update the pull request commit message (there are prompts ready to help out). Goto Precipitating Convective Cloud (PCC): cloud-radiation feedbacks for BMJ Cumulus Scheme #921
  3. Provide more detail than "PCC scheme" in the title.

Once you get these ironed out, then we'll be able to more seriously look at your PR.

@rmfonsecaweb rmfonsecaweb changed the base branch from master to develop June 4, 2019 03:52
@rmfonsecaweb rmfonsecaweb changed the title PCC scheme Precipitating Convective Cloud (PCC) scheme added to the WRF model Jun 4, 2019
@davegill
Copy link
Contributor

davegill commented Jun 4, 2019

@rmfonsecaweb
Ricardo,
In the PR commit message, you can see that the hash tag symbol is used to reference pull request numbers. Use a different method to refer to the citations.

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jun 4, 2019 via email

@davegill
Copy link
Contributor

davegill commented Jun 4, 2019

@rmfonsecaweb
Ricardo,
Maybe since you recommend the WSM* or WDM* MP schemes, should you (by default) support the rrtmgk radiation schemes?

@davegill
Copy link
Contributor

davegill commented Jun 4, 2019

@rmfonsecaweb @dudhia @weiwangncar
Ricardo,
When a developer modifies a routine that is originally from a different developer, such as you introducing code into the BMJ scheme, we might need to have the BMJ developer(s) agree. The same might be true for the radiation schemes. Let's see what the WRF physics group says about this point.

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jun 4, 2019 via email

@davegill davegill changed the title Precipitating Convective Cloud (PCC) scheme added to the WRF model Precipitating Convective Cloud (PCC): cloud-radiation feedback for BMJ Cu Jun 4, 2019
@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jun 4, 2019 via email

@davegill
Copy link
Contributor

davegill commented Jun 4, 2019

@rmfonsecaweb
Ricardo,
Thanks for the detailed responses so far.

If there are specific choices that you recommend for a user with your scheme, we should include that information in share/module_check_a_mundo.F. Here is an example of what I am referring to:

!-----------------------------------------------------------------------
! Check that mosiac option cannot turn on when sf_urban_physics = 2 and 3
!-----------------------------------------------------------------------
      DO i = 1, model_config_rec % max_dom
         IF ( model_config_rec % sf_surface_mosaic .EQ. 1 .AND. &
              (model_config_rec % sf_urban_physics(i) .EQ. 2 .OR. &
               model_config_rec % sf_urban_physics(i) .EQ. 3 ) ) THEN
            wrf_err_message = '--- ERROR: mosaic option cannot work with urban options 2 and 3 '
            CALL wrf_message ( wrf_err_message )
            wrf_err_message = '--- ERROR: Fix sf_surface_mosaic and sf_urban_physics in namelist.input.'
            CALL wrf_message ( wrf_err_message )
            wrf_err_message = '--- ERROR: Either: use Noah LSM without the mosaic option, OR change the urban option to 1 '
         CALL wrf_debug ( 0, TRIM( wrf_err_message ) )
         count_fatal_error = count_fatal_error + 1
         END IF
      ENDDO

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jun 4, 2019 via email

@dudhia
Copy link
Collaborator

dudhia commented Jun 4, 2019 via email

@rmfonsecaweb rmfonsecaweb changed the title Precipitating Convective Cloud (PCC): cloud-radiation feedback for BMJ Cu Precipitating Convective Cloud (PCC): cloud-radiation feedbacks for BMJ Cumulus Scheme Jun 4, 2019
@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jun 4, 2019 via email

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb You mentioned that the option can be run with and without radiation feedback, that is good. When the feedback is turned off, can you replicate the result in a standard WRF without your code? I see code changes (e.g. from CLDEFI=EFIMNSM+STEFI(1.-SM) to CLDEFI=(EFIMN-0.1)SM+(1.+0.1)(1.-SM) ) that might not allow it to go back to original BMJ, even if radiation feedback is off.
In radiation code, do you see to make your changes in the radiation driver (there are examples there to deal with Kain-Fritsch, for example when cu_rad_feedback is on), rather than in each radiation scheme themselves?

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jan 25, 2020 via email

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb Thanks for your reply. Can you answer the question about whether you can get identical results if you are using the same version of the code with and without your modification (but with the feedback option off)? Also what do you think of the comment about code changes in radiation?

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jan 26, 2020 via email

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb Thank you for answering the first question more definitely. Regarding the second question, the reason for our question is that we'd like to keep input to radiation (such as cloud fraction, cloud mixing ratio, etc.) outside the radiation code. We will look into this a bit more.

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Jan 27, 2020 via email

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb I fixed a few places, and the code is now working for both ARW and NMM.

@dudhia This code is ready to merge into repository. Please review.

Copy link
Contributor

@davegill davegill left a comment

Choose a reason for hiding this comment

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

The non-physics aspect is acceptable. Approved by non-physics.

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Feb 5, 2020 via email

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb You are very welcome. I'm glad too that the code is now in good shape.

@weiwangncar
Copy link
Collaborator

weiwangncar commented Feb 5, 2020

@rmfonsecaweb However, I just ran two tests, one with the code before your change (after PR#1063), and one with your change with bmj_rad_feedback off, the results are different. The attached plot below show the two 3 h forecast of convective rainfall from a case in US. This was the question I asked you before. We would like the results before and after your change to be the same when the new code is not activated. Can you help resolving this issue? If you find anything, please point the code to me.
bmj

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Feb 5, 2020 via email

@dudhia
Copy link
Collaborator

dudhia commented Feb 5, 2020 via email

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Feb 5, 2020 via email

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb I just made a separate PR to capture the bug fix you put in without the PCC change. Please review PR#1074 to see if the code is correct. I suspect there is still something I missed since I'm not getting the same results even with these changes added to the run I'm trying to compare with.

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Feb 6, 2020 via email

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb There is no need to keep merging your code with develop branch. Github will check whether the code can be merged, and will let us know when the code is finally merged. Mistake can be easily made if the merging is not done properly, and not done using right git commands. I had to deal with this a few times. So be careful when you merge. Always check the changed files to see if those differences are those you made after push up a new commit. For example, after your latest merge, there is a new section of code in module_radiation_driver.F (new lines 64-76) that I don't think are any change related to your PCC code. If you copy over an old copy of module_radiation_driver.F over the newly clone WRF code, git may think some differences are intended changes.

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Feb 7, 2020 via email

@rmfonsecaweb
Copy link
Contributor Author

We would like to thank the reviewer for removing the CLDEFI changes and for lining up the code. It looks good now. We are happy to know that the issue of the discrepancy between the model-predicted convective precipitation between the simulations with the PCC scheme with the flag "bmj_rad_feedback" set to FALSE and without the PCC scheme has been resolved. Thank you!

@weiwangncar
Copy link
Collaborator

@rmfonsecaweb I've added two other changes: 1. removed the four new variables from history output - they can be added by any user who is interested in these variables; 2. removed arrays qc_old and qi_old in radiation driver. The two fields have already been saved to qc_save and qi_save before cloud fraction is computed and recovered later in the driver. Hope you're ok with both changes.

@rmfonsecaweb
Copy link
Contributor Author

rmfonsecaweb commented Feb 11, 2020 via email

@weiwangncar weiwangncar merged commit dc47805 into wrf-model:develop Feb 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants