subroutine surface(v,rij)
      USE PES_Module
!
      implicit none
!-----------------------------------------------------------------------
! This routine supplies the potential energy surface for the
! reactive scattering codes.
!
! On entering: The arrary rij contains the internuclear distances
!              in units of bohr (NOT mass scaled).
!
! On Exit:     The variable v is the value of the potential energy
!              surface in Hartree atomic units.
!
!
!-----------------------------------------------------------------------
      real*8 rij, v
      dimension rij(3)
      external h3pk
      character(LEN=25) potname
!-----------------------------------------------------------------------
!  The character string potname must contain a string that uniquely
!  specifies the potential energy surface to be used.
!-----------------------------------------------------------------------
      data potname/'PKH3'/
!-----------------------------------------------------------------------
! Check for correct potential energy surface specification.
!-----------------------------------------------------------------------
      if(pesname.ne.potname)then
      write(6,*)'The potential energy surface name ',
     >                 'does not match',
     >          ' the name in the potential energy surface routine.'
      write(6,304)pesname,potname
304   format(1h ,2a25)
      write(6,*)'***error***: Execution stopped in ',
     >                 'routine surface'
      stop
      end if
!-----------------------------------------------------------------------
! This call to surfac supplies the potential energy surface
! for the particular system of interest.
!-----------------------------------------------------------------------
      call h3pk(v,rij)
      return
      end