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_GCGet(GC,name,result,rc)type(ESMF_GridComp),intent(inout)::GCcharacter(len=*),intent(in)::nametype(ESMF_GridComp),intent(inout)::resultinteger,optional,intent(out)::rccharacter(len=ESMF_MAXSTR),parameter::IAm="MAPL_GCGet"integer::statuscharacter(len=ESMF_MAXSTR)::comp_nametype(MAPL_MetaComp),pointer::statetype(ESMF_VM)::vminteger::itype(ESMF_GridComp),pointer::gridcompcall ESMF_GridCompGet(GC,name=comp_name,vm=vm,rc=status)_VERIFY(status)if(trim(comp_name)==trim(name))then result=GC_RETURN(ESMF_SUCCESS)end if call MAPL_InternalStateGet(GC,STATE,RC=status)_VERIFY(status)do I=1,STATE%get_num_children()gridcomp=>STATE%GET_CHILD_GRIDCOMP(I)call MAPL_GCGet(gridcomp,name,result,rc=status)if(status==ESMF_SUCCESS)then_RETURN(ESMF_SUCCESS)end if enddo_RETURN(ESMF_FAILURE)return end subroutine MAPL_GCGet