1 subroutine r8tcspvec(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(4,4,4,inf4,inf5,nz)
70 integer,
dimension(:),
allocatable :: ix,iy,iz
71 REAL*8,
dimension(:),
allocatable :: dxv,dyv,dzv
80 write(6,*) .lt.
' ?tcspvec: nx2: nx = ',nx
85 write(6,*) .lt.
' ?tcspvec: ny2: ny = ',ny
90 write(6,*) .lt.
' ?tcspvec: nz2: nz = ',nz
95 write(6,*) .le.
' ?tcspvec: vector dimension 0: ivec = ',
102 >
' ?tcspvec: output vector dimension less than input ',
103 >
'vector dimension.'
104 write(6,*)
' ivec=',ivec,
' ivd=',ivd
110 allocate(ix(ivec), iy(ivec), iz(ivec),
111 > dxv(ivec), dyv(ivec), dzv(ivec), stat=ier)
115 >
' ?tcspvec: memory allocation failure.'
124 call r8xlookup(ivec,xvec,nx,xpkg,1,ix,dxv,dxv,dxv,iwarn1)
125 call r8xlookup(ivec,yvec,ny,ypkg,1,iy,dyv,dyv,dyv,iwarn2)
126 call r8xlookup(ivec,zvec,nz,zpkg,1,iz,dzv,dzv,dzv,iwarn3)
127 iwarn=max(iwarn1,iwarn2,iwarn3)
131 call r8tcspevfn(ict,ivec,ivd,fval,ix,iy,iz,dxv,dyv,dzv,
134 deallocate(ix,iy,iz,dxv,dyv,dzv)