Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Question regarding boundary layer turbulent exchange coefficient and flux with PBL scheme

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

Hello professor,

I have a question about WRF PBL scheme. I use some different PBL schemes for sensitivity experiment with WRF V4.0, including YSU, MYJ, QNSE, MYNN2.5, MYNN3, ACM2, BouLac, BP/UW, TEMF, ShinHong, GBM, MRF, and so on. But in the wrfout file, there are no turbulent exchange coefficient or boundary layer tuburlent flux. Could you please tell me how to output them in the wrfout file.
And reference with the WRF USER GUIDE, maybe not all PBL scheme output exch_m and exch-h, such as ACM2, TEMF, MRF. Could you please tell me how to output turbulent exchange coefficient and boundary layer flux for different PBL schemes in the wrfout file. Thank you.
I apologize for the delay in response. If you know the variable name for the exchange coefficient and boundary layer flux in the different PBL schemes, you can ask for output by using the option discussed here:

You should be able to find information about the variable names in each scheme by looking in the corresponding phys/module_bl_*.F file.
Thank you for your reply.
I want to output variable "EXCH_H" and "EXCH_M" in wrfout file.
I find the following two lines in Registry.EM_COMMON:
state real EXCH_H ikj misc 1 Z r "EXCH_H" "SCALAR EXCHANGE COEFFICIENTS " "m2 s-1"
state real EXCH_M ikj misc 1 Z r "EXCH_M" "EXCHANGE COEFFICIENTS " "m2 s-1"
I change the above two lines as below:
state real EXCH_H ikj misc 1 Z rh "EXCH_H" "SCALAR EXCHANGE COEFFICIENTS " "m2 s-1"
state real EXCH_M ikj misc 1 Z rj "EXCH_M" "EXCHANGE COEFFICIENTS " "m2 s-1"
Then I run ./compile em_real. Then after running real.exe and wrf.exe, wrfout file is still no these two variable. Did I miss some steps? Could you please tell me how to do that? Thank you.

Then I change two line in Registry.EM_COMMON, then donot ./compile em_real. wrfout file is still no these two variable, either.

Besides in the wrfout file, I konw that HFX is for surface sensible heat flux, LH is for surface latent heat flux and QFX is for surface vapor flux. What is for surface momentum flux? How could I output it?
What are for boundary layer flux, including sensible heat flux, latent heat flux and momentum flux? What should I do to output them?
I cannot find them in the Registry.EM_COMMON.
is there same boundary turbulent flux variables for all the PBL schemes they apply like ccoefficient exch_h and exch_m?
Thank you.
1) You mentioned that you're trying to output this for all the different PBL options. Have you tried them all after modifying the Registry file? Are you not seeing EXCH_H and EXCH_M in the output for any of the schemes? By the way, you were correct to recompile the code after modifying the Registry. Did you also clean the code first? After making modifications to the Registry file, you must issue a "clean -a" and then reconfigure and then recompile. For any other changes (e.g., modifications to individual physics schemes), you only need to recompile the code, and won't need to issue "clean -a."

2) As for the schemes that do not have this variable available, you will need to determine which variable you'll need, instead, if it's even something that is calculated for that scheme. For e.g., in this forum post ( - where I see you've also asked this same question), it discusses the variable (EDDYZM) for the ACM2 scheme, as opposed to EXCH. You may also be able to find some information in the literature from the developers, which can be found here (though not sure it would be specific to your questions):

3) Unfortunately each scheme is different and we, as the support group, aren't the developers of the schemes. There are several details about each scheme that we aren't experts on. You may need to do some digging around in the code to find the specific variables you're interested in outputting. If the variables aren't available to output, you'll have to do some coding to add them in, which will require that you know something about Fortran code. You can find each scheme's code file in the phys/ directory, with the prefix "module_bl_". This will be work you'll have to do yourself, as we can't assist in modifying all of these schemes. You may find this presentation useful for adding new variables to the code:

4) Finally, I found 8 places where you posted this same question. We ask that you please do not post your same questions in multiple places on this forum site. This is ineffective for the purpose of searchability, and for our productivity. It makes things confusing and if several of us answer the question, that's a waste of resources for all but one person who could have answered the question. I understand that sometimes we may not be able to answer in a timely manner. We are trying our best. It's a difficult time with us working from inadequate home environments, many of us with children to care for. I apologize for the inconvenience.