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 hsort_array(ia,ra)integer::ia(:,:)real(ESMF_KIND_R8)::ra(:)integer::num_ainteger::i,ir,j,linteger::tia(size(ia,1))real(ESMF_KIND_R8)::tra! get size of arraynum_a=size(ia,2)! Leave if list is too small to sortif(num_a<2)returnl=num_a/2+1ir=num_a10continue if(l.gt.1)thenl=l-1tia(:)=ia(:,l)tra=ra(l)elsetia(:)=ia(:,ir)tra=ra(ir)ia(:,ir)=ia(:,1)ra(ir)=ra(1)ir=ir-1if(ir.eq.1)thenia(:,1)=tia(:)ra(1)=trareturn endif endifi=lj=l+l20if(j.le.ir)then if(j.lt.ir)then if(ia(1,j).lt.ia(1,j+1))j=j+1endif if(tia(1).lt.ia(1,j))thenia(:,i)=ia(:,j)ra(i)=ra(j)i=jj=j+jelsej=ir+1endif goto20endifia(:,i)=tia(:)ra(i)=tragoto10end subroutine hsort_array