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
integer function find_or_create_timer(name)result(idx)character(len=*),intent(in)::nameinteger::ido i=1,ntimersif(trim(timers(i)%name)==trim(name))thenidx=ireturn end if end do if(ntimers>=MAX_TIMERS)then write(error_unit,'(a)')'profiler: MAX_TIMERS exceeded'error stop 1end ifntimers=ntimers+1timers(ntimers)%name=trim(name)timers(ntimers)%calls=0timers(ntimers)%total_time=0.0_rkidx=ntimersend function find_or_create_timer