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
FUNCTION fprime_left_end(del1,del2,fprime)REAL(KIND=8),INTENT(IN)::del1,del2,fprimeREAL(KIND=8)::fprime_left_endfprime_left_end=fprimeIF(del1*fprime<=0.0D0)THEN! set derivative to zero if the sign differs from sign of secant slopefprime_left_end=0.0;ELSE IF((del1*del2<=0.0D0).AND.(ABS(fprime)>ABS(3.0D0*del1)))THEN! adjust derivative value to enforce monotonicityfprime_left_end=3.0D0*del1;END IF END FUNCTION fprime_left_end