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 RedistOnlyFromPet0(arrayPet0,array,rh,buffer,rc)type(ESMF_Array),intent(inout)::arrayPet0type(ESMF_Array),intent(inout)::array type(ESMF_RouteHandle),intent(inout)::rhreal(ESMF_KIND_R8),pointer,optional::buffer(:)integer,intent(out),optional::rcreal(ESMF_KIND_R8),pointer::fptr1d(:)integer::localrcif(present(rc))rc=ESMF_SUCCESS! Set the value at PET0 only if(present(buffer))then call ESMF_ArrayGet(arrayPet0,localDe=0,farrayPtr=fptr1d,rc=localrc)if(ESMF_LogFoundError(rcToCheck=localrc,ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return! bail outfptr1d=bufferendif call ESMF_ArrayRedist(arrayPet0,array,rh,rc=localrc)if(ESMF_LogFoundError(rcToCheck=localrc,ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return! bail outreturnend subroutine RedistOnlyFromPet0