| 32 |
_RS umask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS umask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 33 |
INTEGER myThid |
INTEGER myThid |
| 34 |
|
|
| 35 |
INTEGER iMin,iMax,i,j |
INTEGER iMin,iMax,i,j,k |
| 36 |
_RL aMat(1:Nx) |
_RL aMat(1:Nx) |
| 37 |
_RL bMat(1:Nx) |
_RL bMat(1:Nx) |
| 38 |
_RL cMat(1:Nx) |
_RL cMat(1:Nx) |
| 41 |
_RL tmpvar |
_RL tmpvar |
| 42 |
INTEGER errCode |
INTEGER errCode |
| 43 |
|
|
| 44 |
|
|
| 45 |
|
! CALL WRITE_FLD_XY_RL ("taud_tri","",cg_Bu,0,mythid) |
| 46 |
|
! CALL WRITE_FLD_XY_RL ("A_m1m1","",A_uu(:,:,:,:,-1,-1),0,mythid) |
| 47 |
|
! CALL WRITE_FLD_XY_RL ("A_m1_0","",A_uu(:,:,:,:,-1,0),0,mythid) |
| 48 |
|
! CALL WRITE_FLD_XY_RL ("A_m1p1","",A_uu(:,:,:,:,-1,1),0,mythid) |
| 49 |
|
! CALL WRITE_FLD_XY_RL ("A_0_m1","",A_uu(:,:,:,:,0,-1),0,mythid) |
| 50 |
|
! CALL WRITE_FLD_XY_RL ("A_0_0","",A_uu(:,:,:,:,0,0),0,mythid) |
| 51 |
|
! CALL WRITE_FLD_XY_RL ("A_0_p1","",A_uu(:,:,:,:,0,1),0,mythid) |
| 52 |
|
! CALL WRITE_FLD_XY_RL ("A_p1m1","",A_uu(:,:,:,:,1,-1),0,mythid) |
| 53 |
|
! CALL WRITE_FLD_XY_RL ("A_p1_0","",A_uu(:,:,:,:,1,0),0,mythid) |
| 54 |
|
! CALL WRITE_FLD_XY_RL ("A_p1p1","",A_uu(:,:,:,:,1,1),0,mythid) |
| 55 |
|
|
| 56 |
|
|
| 57 |
|
|
| 58 |
IF (nPx.gt.1 .or. nSx.gt.1) THEN |
IF (nPx.gt.1 .or. nSx.gt.1) THEN |
| 59 |
STOP 'must be serial for tridiag solve' |
STOP 'must be serial for tridiag solve' |
| 71 |
cmat(i)=0.0 |
cmat(i)=0.0 |
| 72 |
ymat(i)=0.0 |
ymat(i)=0.0 |
| 73 |
do j=-1,1 |
do j=-1,1 |
| 74 |
aMat(i) = amat(i)+A_uu(i,1,1,1,-1,j) |
do k=1,3 |
| 75 |
bMat(i) = bmat(i)+A_uu(i,1,1,1,0,j) |
aMat(i) = amat(i)+A_uu(i,k,1,1,-1,j) |
| 76 |
cMat(i) = cmat(i)+A_uu(i,1,1,1,1,j) |
bMat(i) = bmat(i)+A_uu(i,k,1,1,0,j) |
| 77 |
|
cMat(i) = cmat(i)+A_uu(i,k,1,1,1,j) |
| 78 |
|
enddo |
| 79 |
|
yMat(i) = ymat(i)+cg_Bu(i,j+2,1,1) |
| 80 |
enddo |
enddo |
|
yMat(i) = ymat(i)+cg_Bu(i,1,1,1) |
|
| 81 |
else |
else |
| 82 |
iMax = i-1 |
iMax = i-1 |
| 83 |
exit |
exit |