      subroutine arline(a,b,c,ja,jb,kc,ip8,p)
*
*  array linear extrapolation.  use a and b to extrapolate to c, but
*  first interpolate a to the same mass mesh points as in b. 
*
      implicit double precision(a-h,o-z)
 
      dimension a(400,1),b(400,1),c(400,1),aj(7)

      ip8=1
      check=(b(1,1)-a(1,1))/a(1,1)-1.d-07
 
      if( check .le. 0. )then
        l=2
        do 3 j=1,jb
7         if ( l .le. ja ) then
            if ( b(j,1) .le. a(l,1) ) then
              sfrac=(b(j,1)-a(l,1))/(a(l,1)-a(l-1,1))
              do 13 k=1,kc
                aj(k)=a(l,k)+(a(l,k)-a(l-1,k))*sfrac
                c(j,k)=b(j,k)+(b(j,k)-aj(k))*p
 13           continue
             else 
              l=l+1
              go to 7
            endif
           else
*
* if a does not contain b, then simply set c = b (no extrapolation)
*
            do 10 m=j,jb
              do 11 k=1,kc
                c(m,k)=b(m,k)
11            continue
10          continue
            return
          endif
3       continue
        return
       else
        ip8=0
        return
      endif
      end 

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

