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
function free_unit(n)result(unit_)integer,optional::ninteger::unit_,ioslogical::openedunit_=100do unit_=unit_+1INQUIRE(unit=unit_,OPENED=opened,iostat=ios)if(.not.opened.AND.ios==0)exit if(unit_>900)stop"ERROR free_unit: no unit free smaller than 900. Possible BUG"enddo if(present(n))n=unit_end function free_unit