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 |