1 subroutine r8vectricub(ict,ivec,xvec,yvec,zvec,ivd,fval,
2 > nx,xpkg,ny,ypkg,nz,zpkg,fspl,inf4,inf5,
14 INTEGER,
PARAMETER :: R8=selected_real_kind(12,100)
15 INTEGER iwarn1,iwarn2,iwarn3
60 real*8 fspl(8,inf4,inf5,nz)
70 integer,
dimension(:),
allocatable :: ix,iy,iz
71 REAL*8,
dimension(:),
allocatable :: dxn,dyn,dzn
72 real*8,
dimension(:),
allocatable :: hx,hxi,hy,hyi,hz,hzi
81 write(6,*) .lt.
' ?vectricub: nx2: nx = ',nx
86 write(6,*) .lt.
' ?vectricub: ny2: ny = ',ny
91 write(6,*) .lt.
' ?vectricub: nz2: nz = ',nz
96 write(6,*) .le.
' ?vectricub: vector dimension 0: ivec = ',
103 >
' ?vectricub: output vector dimension less than input ',
104 >
'vector dimension.'
105 write(6,*)
' ivec=',ivec,
' ivd=',ivd
111 allocate(ix(ivec), iy(ivec), iz(ivec),
112 > dxn(ivec), dyn(ivec), dzn(ivec),
113 > hx(ivec), hy(ivec), hz(ivec),
114 > hxi(ivec), hyi(ivec), hzi(ivec), stat=ier)
118 >
' ?vectricub: memory allocation failure.'
127 call r8xlookup(ivec,xvec,nx,xpkg,2,ix,dxn,hx,hxi,iwarn1)
128 call r8xlookup(ivec,yvec,ny,ypkg,2,iy,dyn,hy,hyi,iwarn2)
129 call r8xlookup(ivec,zvec,nz,zpkg,2,iz,dzn,hz,hzi,iwarn3)
130 iwarn=max(iwarn1,iwarn2,iwarn3)
134 call r8fvtricub(ict,ivec,ivd,fval,ix,iy,iz,dxn,dyn,dzn,
135 > hx,hxi,hy,hyi,hz,hzi,fspl,inf4,inf5,nz)
137 deallocate(ix,iy,iz,dxn,dyn,dzn,hx,hy,hz,hxi,hyi,hzi)