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.
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 buffer_ghost_cells(mg,id,nc,iv,dry_run)type(mg_t),intent(inout)::mginteger,intent(in)::idinteger,intent(in)::ncinteger,intent(in)::ivlogical,intent(in)::dry_runinteger::nb,nb_id,nb_rankdo nb=1,mg_num_neighborsnb_id=mg%boxes(id)%neighbors(nb)if(nb_id>mg_no_box)then! There is a neighbornb_rank=mg%boxes(nb_id)%rankif(nb_rank/=mg%my_rank)then call buffer_for_nb(mg,mg%boxes(id),nc,iv,nb_id,nb_rank,nb,&dry_run)end if end if end do end subroutine buffer_ghost_cells