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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
pure elemental function calc_kr_mvg(theta_s,theta_r,alpha1,n1,m1,l,h_crit,h)result(kr)implicit nonereal(real64),intent(in)::theta_sreal(real64),intent(in)::theta_rreal(real64),intent(in)::alpha1real(real64),intent(in)::n1real(real64),intent(in)::m1real(real64),intent(in)::lreal(real64),intent(in)::h_critreal(real64),intent(in)::hreal(real64)::krreal(real64)::s_w,theta_mtheta_m=theta_r+(theta_s-theta_r)*(1.0d0+(-alpha1*h_crit)**n1)**(-m1)if(h<h_crit)thens_w=(theta_s-theta_r)/(theta_m-theta_r)*(1.0d0+abs(alpha1*h)**n1)**(-m1)kr=s_w**l*((1.0d0-(1.0d0-s_w**(1.0d0/m1))**m1)/(1.0d0-(1.0d0-1.0d0**(1.0d0/m1))**m1))**2.0d0elsekr=1.0d0end if end function calc_kr_mvg