<p><b>mpetersen@lanl.gov</b> 2013-04-19 11:48:27 -0600 (Fri, 19 Apr 2013)</p><p>branch commit, tensor_operations: add temporary array in rbf to remove warnings on dubug comile.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/tensor_operations/src/operators/mpas_rbf_interpolation.F
===================================================================
--- branches/ocean_projects/tensor_operations/src/operators/mpas_rbf_interpolation.F        2013-04-18 21:52:55 UTC (rev 2777)
+++ branches/ocean_projects/tensor_operations/src/operators/mpas_rbf_interpolation.F        2013-04-19 17:48:27 UTC (rev 2778)
@@ -1078,15 +1078,17 @@
integer :: i, j
integer :: matrixSize
- real(kind=RKIND), dimension(:,:), pointer :: matrix, matrixCopy
- real(kind=RKIND), dimension(:,:), pointer :: rhs, coeffs
+ real(kind=RKIND), dimension(:,:), pointer :: matrix, matrixWork, matrixCopy
+ real(kind=RKIND), dimension(:,:), pointer :: rhs, rhsWork, coeffs
integer, dimension(:), pointer :: pivotIndices
matrixSize = pointCount+3 ! extra space for constant vector
allocate(matrix(matrixSize,matrixSize))
+ allocate(matrixWork(pointCount,pointCount))
allocate(matrixCopy(matrixSize,matrixSize))
allocate(rhs(matrixSize,3))
+ allocate(rhsWork(pointCount,3))
allocate(coeffs(matrixSize,3))
allocate(pivotIndices(matrixSize))
@@ -1096,8 +1098,11 @@
call mpas_set_up_vector_dirichlet_rbf_matrix_and_rhs(pointCount, 3, &
sourcePoints, unitVectors, destinationPoint, &
- alpha, matrix(1:pointCount,1:pointCount), rhs(1:pointCount,:))
+ alpha, matrixWork, rhsWork)
+ rhs(1:pointCount,:) = rhsWork
+ matrix(1:pointCount,1:pointCount) = matrixWork
+
do i = 1, pointCount
matrix(i,pointCount+1:pointCount+3) = unitVectors(i,:)
matrix(pointCount+1:pointCount+3,i) &
@@ -1183,15 +1188,17 @@
real(kind=RKIND), dimension(pointCount,2) :: planarUnitVectors
real(kind=RKIND), dimension(2) :: planarDestinationPoint
- real(kind=RKIND), dimension(:,:), pointer :: matrix, matrixCopy
- real(kind=RKIND), dimension(:,:), pointer :: rhs, coeffs
+ real(kind=RKIND), dimension(:,:), pointer :: matrix, matrixWork, matrixCopy
+ real(kind=RKIND), dimension(:,:), pointer :: rhs, rhsWork, coeffs
integer, dimension(:), pointer :: pivotIndices
matrixSize = pointCount+2 ! space for constant vector in plane
allocate(matrix(matrixSize,matrixSize))
+ allocate(matrixWork(pointCount,pointCount))
allocate(matrixCopy(matrixSize,matrixSize))
allocate(rhs(matrixSize,2))
+ allocate(rhsWork(pointCount,2))
allocate(coeffs(matrixSize,2))
allocate(pivotIndices(matrixSize))
@@ -1210,8 +1217,11 @@
call mpas_set_up_vector_dirichlet_rbf_matrix_and_rhs(pointCount, 2, &
planarSourcePoints, planarUnitVectors, planarDestinationPoint, &
- alpha, matrix(1:pointCount,1:pointCount), rhs(1:pointCount,:))
+ alpha, matrixWork, rhsWork)
+ matrix(1:pointCount,1:pointCount) = matrixWork
+ rhs(1:pointCount,:) = rhsWork
+
do i = 1, pointCount
matrix(i,pointCount+1:pointCount+2) = planarUnitVectors(i,:)
matrix(pointCount+1:pointCount+2,i) = matrix(i,pointCount+1:pointCount+2)
</font>
</pre>