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.
program volatile_doctest use vecfor_RPP type(vector) :: pt(1:2) pt(1) = ex pt(2) = ey print "(F3.1)", pt(1).dot.pt(2) endprogram volatile_doctest