      function second()
c******************************************************
c
c   SECOND, ON EXIT, CONTAINS THE NUMBER OF CPU SECONDS
c   SINCE THE START OF THE CALCULATION.
c
c******************************************************
      double precision second
      logical setok
      character x*1
c**********************************************************************
c
c   NOW TO SEE IF A FILE LOGICALLY CALLED SHUTDOWN EXISTS, IF IT DOES
c   THEN INCREMENT CPU TIME BY 1,000,000 SECONDS.
c
c***********************************************************************
      data setok / .true. /
      data shut / 0.d0 /
      call timclk(cpu)
      open(unit=4, file='SHUTDOWN', status='UNKNOWN') 
c
c          FILE EXISTS, THEREFORE INCREMENT TIME
c
      read(unit=4, fmt='(A)', end=10, err=10) x
      shut = 1.d6
      if (setok) then
      write(unit=6, fmt=
     &'(///10X,''****   JOB STOPPED BY OPERATOR   ****'')') 
      setok = .false.
      end if
   10 continue
      second = cpu + shut
      return 
c
c   IF YOU ARE NOT USING A VAX COMPUTER, REMOVE THE FOLLOWING SECTION
c
      end
      subroutine timbgn()
      return
      end

      subroutine timclk(cpusecs)
      real tarray(2), cpusecs
      call etime(tarray)
      cpusecs = tarray(1) + tarray(2)
      return 
      end
