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 phys_check()use mod_comm_lib,only:mpistopif(physics_type=="")call mpistop("Error: no physics module loaded")! Checks whether the required physics methods have been definedif(.not.associated(phys_check_params))phys_check_params=>&dummy_check_paramsif(.not.associated(phys_boundary_adjust))phys_boundary_adjust=>&dummy_boundary_adjustif(.not.associated(phys_evaluate_implicit))phys_evaluate_implicit=>&dummy_evaluate_implicitif(.not.associated(phys_implicit_update))phys_implicit_update=>&dummy_implicit_updateif(.not.associated(phys_face_to_center))phys_face_to_center=>&dummy_face_to_centerif(.not.associated(phys_write_info))phys_write_info=>dummy_write_infoend subroutine phys_check