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 cart_to_latlon_new(q,xs,ys)! vector version of cart_to_latlon1real(ESMF_KIND_R8),intent(inout)::q(:,:,:)real(ESMF_KIND_R8),intent(inout)::xs(:,:),ys(:,:)! localreal(ESMF_KIND_R8),parameter::esl=1.e-10real(ESMF_KIND_R8)::p(3)real(ESMF_KIND_R8)::dist,lat,loninteger i,j,kdo j=1,size(q,3)do i=1,size(q,2)p=q(:,i,j)dist=sqrt(p(1)**2+p(2)**2+p(3)**2)p=p/distif((abs(p(1))+abs(p(2)))<esl)thenlon=0.elselon=atan2(p(2),p(1))! range [-pi,pi]endif if(lon<0.)lon=2.*pi+lonlat=asin(p(3))xs(i,j)=lonys(i,j)=lat! q Normalized:q(:,i,j)=penddo end do end subroutine cart_to_latlon_new