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.
Source Code
subroutine tem_derive_sparta(origin,derived,nElems,elemPropertyBits,prpBit,&&comm,nParts)type(tem_sparta_type),intent(in)::origintype(tem_sparta_type),intent(inout)::derivedinteger,intent(in)::nElemsinteger(kind=long_k),intent(in)::elemPropertyBits(nElems)integer,intent(in)::prpBit,comm,nPartsinteger::send_count(0:nParts-1),iPart,offset,iElemdo iPart=0,nParts-1offset=origin%send_index(iPart)send_count(iPart)=0do iElem=1,origin%send_count(iPart)if(btest(elemPropertyBits(iElem+offset),prpBit))thensend_count(iPart)=send_count(iPart)+1end if end do! iElemend do call tem_set_sparta(derived,comm,nParts,send_count)end subroutine tem_derive_sparta