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
real(dp)function get_sum(mg,iv)type(mg_t),intent(in)::mginteger,intent(in)::ivinteger::lvl,i,id,ncreal(dp)::wget_sum=0.0_dpdo lvl=1,mg%highest_lvlnc=mg%box_size_lvl(lvl)w=product(mg%dr(:,lvl))! Adjust for non-Cartesian casesdo i=1,size(mg%lvls(lvl)%my_leaves)id=mg%lvls(lvl)%my_leaves(i)get_sum=get_sum+w*sum(mg%boxes(id)%cc(1:nc,iv))end do end do end function get_sum