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
module function Calculate_kr_MVG_Base(thetaS,thetaR,alpha1,n1,m1,l,hcrit,h)result(kr)!$omp declare simd uniform(thetaS, thetaR, alpha1, n1, m1, l, hcrit, h)implicit nonereal(real64),intent(in)::thetaSreal(real64),intent(in)::thetaRreal(real64),intent(in)::alpha1real(real64),intent(in)::n1real(real64),intent(in)::m1real(real64),intent(in)::lreal(real64),intent(in)::hcritreal(real64),intent(in)::hreal(real64)::krreal(real64)::Sw,thetaMthetaM=thetaR+(thetaS-thetaR)*(1.0d0+(-alpha1*hcrit)**n1)**(-m1)if(h<hcrit)thenSw=(thetaS-thetaR)/(thetaM-thetaR)*(1.0d0+abs(alpha1*h)**n1)**(-m1)kr=Sw**l*((1.0d0-(1.0d0-Sw**(1.0d0/m1))**m1)/(1.0d0-(1.0d0-1.0d0**(1.0d0/m1))**m1))**2.0d0elsekr=1.0d0end if end function Calculate_kr_MVG_Base