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.
pure subroutine interpolation_scale_factors(i,Z,scale0,scale1,scale2)integer,intent(in)::ireal(wp),intent(in)::Zreal(wp),intent(out)::scale0,scale1,scale2real(wp)::Z0,Z1,Z2Z0=Ztableupper(i-1)Z1=Ztableupper(i)Z2=Ztableupper(i+1)scale0=(Z-Z1)*(Z-Z2)/((Z0-Z1)*(Z0-Z2))scale1=(Z-Z0)*(Z-Z2)/((Z1-Z0)*(Z1-Z2))scale2=(Z-Z0)*(Z-Z1)/((Z2-Z0)*(Z2-Z1))end subroutine interpolation_scale_factors