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
subroutine numerical_jacobian(n,x,f0,residual_fn,jac)integer,intent(in)::nreal(dp),intent(in)::x(n),f0(n)procedure(nonlinear_residual)::residual_fnreal(dp),intent(out)::jac(n,n)integer::jreal(dp)::h,xh(n),fh(n)do j=1,nh=1.0d-6*max(1.0d0,abs(x(j)))xh=xxh(j)=xh(j)+hcall residual_fn(xh,fh)jac(:,j)=(fh-f0)/hend do end subroutine numerical_jacobian