C+ C NAME: C nrBCUCOF C PURPOSE: C Returns table C used by nrBCUINT for bicubic interpolation C CATEGORY: C Math: function approximation C CALLING SEQUENCE: subroutine nrBCUCOF(Y,Y1,Y2,Y12,D1,D2,C) C INPUTS: C Given are four gridpoints of a rectangular grid cell, numbered C counterclockwise from the lower left) C Y(4) real function values in grid points C Y1(4) real partial derivatives in x1 direction C Y2(4) real partial derivatives in x2 direction C Y12(4) real cross-derivatives C D1 real length of grid cell in x1 direction C D2 real length of grid cell in x2 direction C OUTPUTS: C C real coefficients needed for nrBCUINT C PROCEDURE: C See Numerical Recipes, par. 3.6, p 99 C MODIFICATION HISTORY: C JUN-1993, Paul Hick (UCSD) C- real Y(4) real Y1(4) real Y2(4) real Y12(4) real D1 real D2 dimension C(4,4) real CL(16) real X(16) real WT(16,16) & /1,0,-3,2,4*0,-3,0,9,-6,2,0,-6,4,8*0,3,0,-9,6,-2,0,6,-4, & 10*0,9,-6,2*0,-6,4,2*0,3,-2,6*0,-9,6,2*0,6,-4, & 4*0,1,0,-3,2,-2,0,6,-4,1,0,-3,2,8*0,-1,0,3,-2,1,0,-3,2, & 10*0,-3,2,2*0,3,-2,6*0,3,-2,2*0,-6,4,2*0,3,-2, & 0,1,-2,1,5*0,-3,6,-3,0,2,-4,2,9*0,3,-6,3,0,-2,4,-2, & 10*0,-3,3,2*0,2,-2,2*0,-1,1,6*0,3,-3,2*0,-2,2, & 5*0,1,-2,1,0,-2,4,-2,0,1,-2,1,9*0,-1,2,-1,0,1,-2,1, & 10*0,1,-1,2*0,-1,1,6*0,-1,1,2*0,2,-2,2*0,-1,1/ D1D2 = D1*D2 do I=1,4 X(I) = Y(I) X(I+4) = Y1(I)*D1 X(I+8) = Y2(I)*D2 X(I+12) = Y12(I)*D1D2 end do do I=1,16 XX = 0. do K=1,16 XX = XX+WT(I,K)*X(K) end do CL(I) = XX end do L = 0 do I=1,4 do J=1,4 L = L+1 C(I,J) = CL(L) end do end do return end