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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine profile_stop_timer(self,label)class(type_time),intent(inout)::selfcharacter(len=*),intent(in)::labelinteger::ireal(real64)::duration#ifdef _OPENMPreal(real64)::end_time_wtimeend_time_wtime=omp_get_wtime()#elseinteger(kind=int64)::end_tickcall system_clock(count=end_tick)#endifdo i=1,size(self%sections)if(trim(self%sections(i)%label)==trim(label))then#ifdef _OPENMPduration=end_time_wtime-self%sections(i)%start_time_wtime#elseif(self%tick_rate>0)thenduration=real(end_tick-self%sections(i)%start_tick,real64)/real(self%tick_rate,real64)elseduration=0.0d0end if#endifself%sections(i)%total_time=self%sections(i)%total_time+durationreturn end if end do write(*,'(3a)')"Error: Profiling section '",trim(label),"' not found. Timer not stopped."end subroutine profile_stop_timer