Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
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 dealloc_node(igrid)use mod_global_parametersinteger,intent(in)::igridif(igrid==0)then call mpistop("trying to delete a non-existing grid in dealloc_node")end if call dealloc_state(igrid,ps(igrid),.true.)call dealloc_state_coarse(igrid,psc(igrid))if(.not.convert)then call dealloc_state(igrid,ps1(igrid),.false.)! deallocate temporary solution spaceselect case(t_integrator)case(ssprk3,ssprk4,IMEX_Midpoint,IMEX_Trapezoidal,IMEX_222)call dealloc_state(igrid,ps2(igrid),.false.)case(RK3_BT,rk4,ssprk5,IMEX_CB3a)call dealloc_state(igrid,ps2(igrid),.false.)call dealloc_state(igrid,ps3(igrid),.false.)case(IMEX_ARS3,IMEX_232)call dealloc_state(igrid,ps2(igrid),.false.)call dealloc_state(igrid,ps3(igrid),.false.)call dealloc_state(igrid,ps4(igrid),.false.)end select end if end subroutine dealloc_node