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
recursive subroutine MAPL_GetChildLocstream(GC,result,name,rc)type(ESMF_GridComp),intent(INout)::GCtype(MAPL_LocStream),intent(OUT)::resultcharacter(len=*),intent(IN)::nameinteger,intent(OUT)::rccharacter(len=ESMF_MAXSTR),parameter::IAm="MAPL_GetChildLocstream"integer::statusinteger::Ilogical::have_enscharacter(len=ESMF_MAXSTR)::comp_nametype(MAPL_MetaComp),pointer::STATEtype(ESMF_GridComp),pointer::gridcompcall ESMF_GridCompGet(GC,name=comp_name,rc=status)_VERIFY(status)call MAPL_InternalStateGet(GC,STATE,RC=status)_VERIFY(status)have_ens=index(name,":")/=0if(have_ens)then! the name contains ensemble #if(name==comp_name)then result=state%locstream_RETURN(status)end if else if(name==comp_name(index(comp_name,":")+1:))then result=state%locstream_RETURN(status)end if end if do I=1,STATE%get_num_children()gridcomp=>STATE%GET_CHILD_GRIDCOMP(I)call MAPL_GetChildLocstream(gridcomp,result,name,rc=status)if(status==ESMF_SUCCESS)then_RETURN(ESMF_SUCCESS)end if end dorc=ESMF_FAILUREreturn end subroutine MAPL_GetChildLocstream