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
subroutine cubt1u(nx,p,mx,q,ix,dxm,dx,dxp,dxpp,inmx,isubx)implicit noneinteger::nx,mx,ix(mx),inmx,isubx,i,iireal(wp)::p(nx),q(mx)real(wp)::dxm(mx),dx(mx),dxp(mx),dxpp(mx)if(isubx==1)then! mx grid is subset of nx grid so q can be set directlydo ii=1,mxi=inmx*(ii-1)+1q(ii)=p(i)end do else! cubically interpolate on uniform griddo ii=1,mxi=ix(ii)q(ii)=(dxm(ii)*p(i-1)+dx(ii)*p(i)+dxp(ii)*p(i+1)+dxpp(ii)*p(i+2))end do end if end subroutine cubt1u