The main documentation of the Start_Timer Procedure contains additional explanation of this code listing.
subroutine Start_Timer (Timer) ! Input/Output variable. type(Timer_type), intent(inout) :: Timer ! Timer to be started. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements. VERIFY(Valid_State(Timer),5) ! Timer is valid. VERIFY(.not.Timer%Running,5) ! Timer is not running. ! Set start times. Timer%Wall_Clock_Time%Start = Get_Wall_Clock_Time() Timer%CPU_Time%Start = Get_CPU_Time() ! Set status. Timer%Running = .true. ! Verify guarantees. VERIFY(Valid_State(Timer),5) ! Timer is valid. VERIFY(Timer%Running,5) ! Timer is running. return end subroutine Start_Timer