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 build_periodic_zero_mode_plan(mesh,area_xy,plan,status,message)type(mesh_type),intent(in)::meshreal(dp),intent(in)::area_xytype(periodic_zero_mode_plan_type),intent(out)::planinteger(i32),intent(out)::statuscharacter(len=*),intent(out)::messagereal(dp),allocatable::heights(:,:)integer(i32)::elemstatus=periodic_zero_mode_invalidmessage=''if(mesh%nelem<=0_i32)thenmessage='periodic zero-mode mesh must contain at least one element'return end if allocate(heights(3,mesh%nelem))do elem=1,mesh%nelemheights(:,elem)=[mesh%v0(3,elem),mesh%v1(3,elem),mesh%v2(3,elem)]end do call build_periodic_zero_mode_height_plan(heights,area_xy,plan,status,message)end subroutine build_periodic_zero_mode_plan