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.
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 ESMF_DistGridGetIds(distgrid,Ids,rc)type(ESMF_DistGrid),intent(in)::distgridinteger,intent(out)::Ids(:)integer,intent(out),optional::rctype(ESMF_DELayout)::delayoutinteger::localDeCount,lDE,numDEIDsinteger::startPosinteger::localrc! Get delayout from distgridcall ESMF_DistGridGet(distgrid,delayout=delayout,rc=localrc)if(ESMF_LogFoundError(localrc,ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return! Get local number of DEscall ESMF_DELayoutGet(delayout,localDECount=localDECount,rc=localrc)if(ESMF_LogFoundError(localrc,ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return! Iterate summing number of DEsstartPos=1do lDE=0,localDECount-1call ESMF_DistGridGet(distgrid,localDe=lDE,&elementCount=numDEIds,rc=localrc)if(ESMF_LogFoundError(localrc,ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return if(numDEIds>0)then call ESMF_DistGridGet(distgrid,localDe=lDE,&seqIndexList=Ids(startPos:startPos+numDEIds-1),rc=localrc)if(ESMF_LogFoundError(localrc,ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return endifstartPos=startPos+numDEIdsenddoend subroutine ESMF_DistGridGetIds