!     THIS SUBROUTINE WRITES DATA AT THE END OF THE RUN
!     MSE 6270, Leonid Zhigilei

      SUBROUTINE WriteEnd()
      INCLUDE 'common.h'
!
!     Write output coordinate file
      REWIND 16
      WRITE(16,*) NAN,TIME
      WRITE(16,*) XL,YL,ZL,XCENTR,YCENTR,ZCENTR
      WRITE(16,*) (KTYPE(J),J=1,NAN)
      WRITE(16,*) (KHIST(J),XD(1,J),XD(2,J),XD(3,J),J=1,NAN)
      WRITE(16,*) (Q1D(1,J),Q1D(2,J),Q1D(3,J),J=1,NAN)

!     Write file for plotting the final configuration
      IF(MOV.EQ.1) THEN
        REWIND 18
        WRITE(18,505) (XD(1,J),XD(2,J),XD(3,J),J=1,NAN)
  505   FORMAT(3(F11.3,1x))
      ENDIF

!     Write random numbers
      REWIND 13
      CALL Random_seed(SIZE = Kseed)
      CALL Random_seed(GET = iseed)
      WRITE(13,*) (ISEED(i), i=1,Kseed)  ! for random_number(rww1)
      WRITE(13,*) U1,U2                  ! for rn()

!     Close the files
      CLOSE (UNIT = 8)
      CLOSE (UNIT = 9)
      CLOSE (UNIT = 10)
      CLOSE (UNIT = 12)
      CLOSE (UNIT = 13)
      CLOSE (UNIT = 14)
      CLOSE (UNIT = 15)
      CLOSE (UNIT = 16)
      CLOSE (UNIT = 17)
      CLOSE (UNIT = 18)
      CLOSE (UNIT = 19)

!f    CLOSE (UNIT = 23)
!f    CLOSE (UNIT = 24)
!f    CLOSE (UNIT = 25)

      RETURN
      END


















