      subroutine bump(b2)

      implicit double precision(a-h,o-z)

      common g(650),x(650),rho(650),yliq(4,650),ray(4,650)
      common/misc/l,lhat,lindex,nsurf
      common/dmisc/period,grav,pi,pi4,p43,eps,verg,eig,eigt,y3i,y3t,
     1  amass
      common/rs/r(650)
      common/splinq/vq(6)
      real*8 y(2),work(15),l,lhat,lindex
      integer iwork(5)
      external rkfcow

      yliq(1,1)=1.0 
      yliq(2,1)=eigt/(l*grav*p43*rho(1))
      y(1)=yliq(1,1)
      y(2)=yliq(2,1)
      iflag=1
      neqn=2
4     nsurf1=nsurf-1
      do 1 j=1,nsurf1
        k=j+1
        xstart=x(j)
        xfin=x(k)
        relerr=1.d-8
        abserr=dabs(y(1))
        t=dabs(y(2))
2       abserr=dmin1(abserr,t)
        abserr=1.d-8*abserr
        abserr=dmax1(abserr,1.d-20)
      call rkf(rkfcow,neqn,y,xstart,xfin,relerr,abserr,iflag,work,iwork)
        iflag=1
        do 3 i=1,2
          yliq(i,k)=y(i)
3       continue
1     continue
      rt=x(nsurf)
      call splintl(rt,vq)
      temp=1./vq(5)-1.
      b2=yliq(1,nsurf)*((4.+r(nsurf)*eigt/g(nsurf))/temp-1.)
     1 +(1.-lhat*g(nsurf)/r(nsurf)/eigt/temp)*yliq(2,nsurf) 

      return
      end

************************************************************************

