SUBROUTINE read_aph_ham

USE CommonInfo_Module
USE APH_Module
USE Hamilt_Module

IMPLICIT NONE

!=========================================================================================
!     I N T E R N A L S

CHARACTER(LEN=100) :: filename
LOGICAL :: debug
INTEGER :: checkdim

!=========================================================================================
!     A L L O C A T A B L E

!=========================================================================================
!     N A M E L I S T S

!=========================================================================================
! Choose whether to output debug information

  debug=.false.

!=========================================================================================
! Read in APH information

  filename='H_APH.bin'
  OPEN(UNIT=bin_unit9,FILE=TRIM(BinOutdir)//TRIM(filename),FORM='unformatted',STATUS='unknown')

  READ(bin_unit9) checkdim
  IF (checkdim.ne.nrho) STOP 'wrong nrho : read_aph_ham'
  READ(bin_unit9) checkdim
  IF (checkdim.ne.ntheta) STOP 'wrong ntheta : read_aph_ham'
  READ(bin_unit9) checkdim
  IF (checkdim.ne.nchi) STOP 'wrong nchi : read_aph_ham'

  ALLOCATE( kinetic_rho(nrho,nrho) , kinetic_theta(ntheta,ntheta) , kinetic_chi(nchi,nchi) )
  ALLOCATE( potential_full(nrho,ntheta,nchi+1) )

  READ(bin_unit9) kinetic_rho
  READ(bin_unit9) kinetic_theta
  READ(bin_unit9) kinetic_chi
  READ(bin_unit9) potential_full

  ALLOCATE( a(ntheta) , b(ntheta) , c(ntheta) , d(ntheta) )

  READ(bin_unit9) a
  READ(bin_unit9) b
  READ(bin_unit9) c
  READ(bin_unit9) d

  CLOSE(UNIT=bin_unit9,STATUS='keep')

  IF (debug) THEN

    CALL matrix_out(kinetic_rho,nrho,nrho,'grid/kinetic_rho.txt')
    CALL matrix_out(kinetic_theta,ntheta,ntheta,'grid/kinetic_theta.txt')
    CALL matrix_out(kinetic_chi,nchi,nchi,'grid/kinetic_chi.txt')

    CALL write_array(ntheta,a,'grid/a.txt')
    CALL write_array(ntheta,b,'grid/b.txt')
    CALL write_array(ntheta,c,'grid/c.txt')
    CALL write_array(ntheta,d,'grid/d.txt')

  ENDIF

END SUBROUTINE read_aph_ham