Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine TROENKz_invL_from_phi(z,phih,invL)implicit nonereal,intent(in)::z! heightreal,intent(in)::phihreal,intent(out)::invL!1/Lif(phih<1)then!phih=(1-16.*min(z,zsurf)*invL)**(-1./2.) !As in Garratt and Obrien for phih, so with Prandtl numberinvL=(phih**-2.-1)/(-16.*z)else!phih=1+5.*z*invL !As in Garratt, Prandtl number is 1 in stable boundary layerinvL=(phih-1)/5./zendif end subroutine TROENKz_invL_from_phi