      SUBROUTINE TIMER(A)
      implicit double precision (A-H,O-Z)
      character*(*) A
      logical FIRST
      include 'MOP6FILE'
      data FIRST/.TRUE./
      if (FIRST) then
C
C  DEFINE THE ZERO OF TIME
C
         T0=SECOND()
         T1=T0
         FIRST=.FALSE.
      end if
C
C   THE ACT OF callING THIS ROUTINE COSTS 0.026 SECONDS
C
      T0=T0+0.026
      T2=SECOND()
      if (INDEX(A,'BEF').EQ.0.AND.A.NE.' ') then
         write(MIOB,'(2X,A,A,F7.2,A,F8.2)')
     %         A,' INTERVAL:',T2-T1,' INTEGRAL:',T2-T0
      else
         write(MIOB,'(40X,''TIME LOST:'',F7.2)') T2-T1
      end if
      T1=T2+0.026
      return
      end
