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.
FUNCTION arth_r(first,increment,n)REAL(SP),INTENT(IN)::first,incrementINTEGER(I4B),INTENT(IN)::nREAL(SP),DIMENSION(n)::arth_rINTEGER(I4B)::k,k2REAL(SP)::tempif(n>0)arth_r(1)=firstif(n<=NPAR_ARTH)then do k=2,narth_r(k)=arth_r(k-1)+incrementend do else do k=2,NPAR2_ARTHarth_r(k)=arth_r(k-1)+incrementend dotemp=increment*NPAR2_ARTHk=NPAR2_ARTHdo if(k>=n)exitk2=k+karth_r(k+1:min(k2,n))=temp+arth_r(1:min(k,n-k))temp=temp+tempk=k2end do end if END FUNCTION arth_r