/[MITgcm]/MITgcm/model/src/impldiff.F
ViewVC logotype

Diff of /MITgcm/model/src/impldiff.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3 by adcroft, Wed Jun 10 16:05:39 1998 UTC revision 1.4 by adcroft, Tue Jun 16 15:20:08 1998 UTC
# Line 57  C Beginning of forward sweep (top level) Line 57  C Beginning of forward sweep (top level)
57           b(i,j)=1.-c(i,j)           b(i,j)=1.-c(i,j)
58           bet(i,j)=0.           bet(i,j)=0.
59           IF (b(i,j).NE.0.) bet(i,j)=1. / b(i,j)           IF (b(i,j).NE.0.) bet(i,j)=1. / b(i,j)
60           theta(i,j,1,bi,bj)=theta(i,j,1,bi,bj)*bet(i,j)           gTnm1(i,j,1,bi,bj)=gTnm1(i,j,1,bi,bj)*bet(i,j)
61           salt(i,j,1,bi,bj)=salt(i,j,1,bi,bj)*bet(i,j)           gSnm1(i,j,1,bi,bj)=gSnm1(i,j,1,bi,bj)*bet(i,j)
62          ENDDO          ENDDO
63         ENDDO         ENDDO
64        ENDIF        ENDIF
# Line 80  C Middle of forward sweep Line 80  C Middle of forward sweep
80            gam(i,j,k)=ckm1(i,j)*bet(i,j)            gam(i,j,k)=ckm1(i,j)*bet(i,j)
81            bet(i,j)=b(i,j)-a(i,j)*gam(i,j,k)            bet(i,j)=b(i,j)-a(i,j)*gam(i,j,k)
82            IF (bet(i,j).NE.0.) bet(i,j)=1. / bet(i,j)            IF (bet(i,j).NE.0.) bet(i,j)=1. / bet(i,j)
83            theta(i,j,k,bi,bj)=(theta(i,j,k,bi,bj)            gTnm1(i,j,k,bi,bj)=(gTnm1(i,j,k,bi,bj)
84       &       -a(i,j)*theta(i,j,k-1,bi,bj))*bet(i,j)       &       -a(i,j)*gTnm1(i,j,k-1,bi,bj))*bet(i,j)
85            salt(i,j,k,bi,bj)=(salt(i,j,k,bi,bj)            gSnm1(i,j,k,bi,bj)=(gSnm1(i,j,k,bi,bj)
86       &       -a(i,j)*salt(i,j,k-1,bi,bj))*bet(i,j)       &       -a(i,j)*gSnm1(i,j,k-1,bi,bj))*bet(i,j)
87           ENDDO           ENDDO
88          ENDDO          ENDDO
89         ENDDO         ENDDO
# Line 103  C End of forward sweep (bottom level) Line 103  C End of forward sweep (bottom level)
103           gam(i,j,Nz)=ckm1(i,j)*bet(i,j)           gam(i,j,Nz)=ckm1(i,j)*bet(i,j)
104           bet(i,j)=b(i,j)-a(i,j)*gam(i,j,Nz)           bet(i,j)=b(i,j)-a(i,j)*gam(i,j,Nz)
105           IF (bet(i,j).NE.0.) bet(i,j)=1. / bet(i,j)           IF (bet(i,j).NE.0.) bet(i,j)=1. / bet(i,j)
106           theta(i,j,Nz,bi,bj)=(theta(i,j,Nz,bi,bj)           gTnm1(i,j,Nz,bi,bj)=(gTnm1(i,j,Nz,bi,bj)
107       &      -a(i,j)*theta(i,j,Nz-1,bi,bj))*bet(i,j)       &      -a(i,j)*gTnm1(i,j,Nz-1,bi,bj))*bet(i,j)
108           salt(i,j,Nz,bi,bj)=(salt(i,j,Nz,bi,bj)           gSnm1(i,j,Nz,bi,bj)=(gSnm1(i,j,Nz,bi,bj)
109       &      -a(i,j)*salt(i,j,Nz-1,bi,bj))*bet(i,j)       &      -a(i,j)*gSnm1(i,j,Nz-1,bi,bj))*bet(i,j)
110          ENDDO          ENDDO
111         ENDDO         ENDDO
112  C Backward sweep  C Backward sweep
113         DO k=Nz-1,1,-1         DO k=Nz-1,1,-1
114          DO j=jMin,jMax          DO j=jMin,jMax
115           DO i=iMin,iMax           DO i=iMin,iMax
116            theta(i,j,k,bi,bj)=theta(i,j,k,bi,bj)            gTnm1(i,j,k,bi,bj)=gTnm1(i,j,k,bi,bj)
117       &              -gam(i,j,k+1)*theta(i,j,k+1,bi,bj)       &              -gam(i,j,k+1)*gTnm1(i,j,k+1,bi,bj)
118            salt(i,j,k,bi,bj)=salt(i,j,k,bi,bj)            gSnm1(i,j,k,bi,bj)=gSnm1(i,j,k,bi,bj)
119       &              -gam(i,j,k+1)*salt(i,j,k+1,bi,bj)       &              -gam(i,j,k+1)*gSnm1(i,j,k+1,bi,bj)
120           ENDDO           ENDDO
121          ENDDO          ENDDO
122         ENDDO         ENDDO

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22