Implementation of MYNN-EDMF and MYNN-SFC submodules#1455
Conversation
| bl_mynn_cloudpdf = bl_mynn_cloudpdf , & | ||
| bl_mynn_mixlength = bl_mynn_mixlength , & | ||
| bl_mynn_closure = bl_mynn_closure , & | ||
| bl_mynn_stfunc = bl_mynn_stfunc , & |
There was a problem hiding this comment.
When this PR branch is merged to the HEAD of the develop branch, I'm seeing a compilation failure with the GNU compilers:
mpas_atmphys_driver_pbl.F:1445:39:
1445 | bl_mynn_stfunc = bl_mynn_stfunc , &
| 1
Error: Keyword argument 'bl_mynn_stfunc' at (1) is not in the procedure; did you mean 'bl_mynn_output'?
There was a problem hiding this comment.
bizarre... I must not have done a "git add mpas_atmphys_driver_pbl.F" before the commit. That line is not in my code. Will update shortly.
There was a problem hiding this comment.
Thanks for the update. All looks good compilation-wise with the changes in 5a2cdc6.
| bl_mynn_ess, & | ||
| bl_mynn_tkebudget, & | ||
| icloud_bl, & | ||
| spp_pbl |
There was a problem hiding this comment.
Declaring icloud_bl and spp_pbl here as local variables overrides the variables of the same name imported from the mpas_atmphys_vars module. Since these local variables are pointers, and since they're not set by a call to mpas_pool_get_config when using config_pbl_scheme = 'bl_mynn', we'll get a segmentation fault (the apparent location of the segfault may depend on compiler).
One option to avoid this issues might be to choose different names for the local pointer variables icloud_bl and spp_pbl, and to use those different names only in MYNN-EDMF cases (leaving behavior with the MYNN scheme unchanged).
There was a problem hiding this comment.
I think it's best to remove icloud_bl from the pbl driver entirely (at least for "bl_mynnedmf"). icloud_bl really only has meaning in WRF (package declaration and coupling to radiation). In MPAS, it has no functionality, even for the cloudiness driver. I'll update the MYNN-EDMF submodule, the WRF registry and pbl driver, and this PR, to remove (or lessen) the need for icloud_bl. As for spp_pbl, the spp development is almost finished, so it will be available soon and will not be hardwired in the mpas_atmphys_vars module inthe near future. For now, I can remove that line as well.
There was a problem hiding this comment.
OK, those lines have been removed, but I'm not sure it's improved. Those "options" are still hardcoded in the mpas_atmphys_vars module, but that was the original design. The other MYNN scheme should still work.
This PR adds the official MYNN-EDMF and MYNN-SFC submodules to MPAS with via manage_externals. Some notes on the implementation are below: