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

idiff option for PBL physics

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.


New member
As can be read here there was a new structure introduced in the PBL driver a few years ago. When setting idiff=1 in the pbl driver module, the PBL schemes only calculates the exchange coefficients. The tendencies are computed equally for any PBL scheme. In the document it says this works for BOULAC and MYJ but there are plans to extend it to all schemes. What happened to these plans?
I would like to output SGS turbulent fluxes calculated by the PBL schemes, which is easy with this structure.
However, the model crashes (with all PBL schemes, except Boulac) with a segmentation fault when writing an output in share/output_wrf.F (line 1011), even when the fluxes are not included in the output.

Thanks for helping me!


Unfortunately these developments are provided to us from outside users and we do not have any control over when additional modifications are made to the options. However, as you said, according to the documentation, the option should work with MYJ, but you are saying this only works with BouLac. Is that correct? If so, can you please attach your namelist.input file and let me know which version of WRF you are running? Thanks!
Thanks for the reply!
Yes, it does not work with MYJ. I'm running WRF v4.1, ideal case em_scm_xy.
I used the default namelist file of this case and only changed sf_sfclay_physics and bl_pbl_physics to 2. It crashes when attempting to write the history output.
Thanks for clarifying. I have run a test with V4.1, using the em_scm_xy default case. I did change bl_pbl_physics and sf_sfclay_physics both to 2 (MYJ), and I am able to run without any problems.

1) I assume that you have not modified any of the wrf code prior to running this?
2) Can you please attach your namelist.input file (just so that I can ensure we are absolutely using the same default namelist), and your running log so that I can take a look?
3) Let me know which compiler you are using for this, as well as the version of the compiler.

Never mind, it works now. I figured out, that I used NETCDF compiled with intel together with WRF compiled with gcc.
For some reason, it only crashed with idiff=1. But I guess the details are irrelevant as it works now as expected.
Sorry for the inconvenience.
I'm glad to hear that you were able to solve the problem. Thank you for letting me know!