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 phih_func(z,L,phih,phih_i)implicit nonereal,intent(in)::z,Lreal,intent(out)::phih,phih_ireal a,b,qparameter(a=16.,b=5.,q=-0.5)real epseps=z/Lif(eps.ge.0)thenphih=1.+b*epsphih_i=-b*epselsephih=exp(q*log((1.-a*eps)))phih_i=2.*log((1.+1./phih)/2.)endif end subroutine phih_func