/[MITgcm]/MITgcm/pkg/gmredi/gmredi_calc_tensor.F
ViewVC logotype

Diff of /MITgcm/pkg/gmredi/gmredi_calc_tensor.F

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

revision 1.14 by heimbach, Fri Jan 10 00:48:39 2003 UTC revision 1.15 by jmc, Sun Jan 12 21:35:27 2003 UTC
# Line 41  CEndOfInterface Line 41  CEndOfInterface
41  #ifdef ALLOW_GMREDI  #ifdef ALLOW_GMREDI
42    
43  C     == Local variables ==  C     == Local variables ==
44        INTEGER i,j,k,km1,kp1        INTEGER i,j,k,kp1
45        _RL SlopeX(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL SlopeX(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
46        _RL SlopeY(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL SlopeY(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
47        _RL dSigmaDx(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL dSigmaDx(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
# Line 49  C     == Local variables == Line 49  C     == Local variables ==
49        _RL dSigmaDrReal(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL dSigmaDrReal(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
50        _RL SlopeSqr(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL SlopeSqr(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
51        _RL taperFct(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL taperFct(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
52        _RL maskp1, maskm1, Kgm_tmp        _RL maskp1, Kgm_tmp
53    
54  #ifdef GM_VISBECK_VARIABLE_K  #ifdef GM_VISBECK_VARIABLE_K
55        _RL deltaH,zero_rs        _RL deltaH,zero_rs
# Line 81  C     == Local variables == Line 81  C     == Local variables ==
81    
82        DO k=2,Nr        DO k=2,Nr
83  C-- 1rst loop on k : compute Tensor Coeff. at W points.  C-- 1rst loop on k : compute Tensor Coeff. at W points.
        km1 = MAX(1,k-1)  
        maskm1 = 1. _d 0  
        IF (k.LE.1) maskm1 = 0. _d 0  
84    
85  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
86         kkey = (igmkey-1)*Nr + k         kkey = (igmkey-1)*Nr + k
# Line 118  C-- 1rst loop on k : compute Tensor Coef Line 115  C-- 1rst loop on k : compute Tensor Coef
115        DO j=1-Oly+1,sNy+Oly-1        DO j=1-Oly+1,sNy+Oly-1
116         DO i=1-Olx+1,sNx+Olx-1         DO i=1-Olx+1,sNx+Olx-1
117  C      Gradient of Sigma at rVel points  C      Gradient of Sigma at rVel points
118          dSigmaDx(i,j)=op25*( sigmaX(i+1, j ,km1) +sigmaX(i,j,km1)          dSigmaDx(i,j)=op25*( sigmaX(i+1, j ,k-1) +sigmaX(i,j,k-1)
119       &                    +sigmaX(i+1, j , k ) +sigmaX(i,j, k ) )       &                    +sigmaX(i+1, j , k ) +sigmaX(i,j, k ) )
120       &                  *maskC(i,j,k,bi,bj)*maskm1       &                  *maskC(i,j,k,bi,bj)
121          dSigmaDy(i,j)=op25*( sigmaY( i ,j+1,km1) +sigmaY(i,j,km1)          dSigmaDy(i,j)=op25*( sigmaY( i ,j+1,k-1) +sigmaY(i,j,k-1)
122       &                    +sigmaY( i ,j+1, k ) +sigmaY(i,j, k ) )       &                    +sigmaY( i ,j+1, k ) +sigmaY(i,j, k ) )
123       &                  *maskC(i,j,k,bi,bj)*maskm1       &                  *maskC(i,j,k,bi,bj)
124          dSigmaDrReal(i,j)=sigmaR(i,j,k)*maskm1          dSigmaDrReal(i,j)=sigmaR(i,j,k)
125         ENDDO         ENDDO
126        ENDDO        ENDDO
127    
# Line 147  C     Calculate slopes for use in tensor Line 144  C     Calculate slopes for use in tensor
144         DO i=1-Olx+1,sNx+Olx-1         DO i=1-Olx+1,sNx+Olx-1
145    
146  C       Mask Iso-neutral slopes  C       Mask Iso-neutral slopes
147          SlopeX(i,j)=SlopeX(i,j)*maskC(i,j,k,bi,bj)*maskm1          SlopeX(i,j)=SlopeX(i,j)*maskC(i,j,k,bi,bj)
148          SlopeY(i,j)=SlopeY(i,j)*maskC(i,j,k,bi,bj)*maskm1          SlopeY(i,j)=SlopeY(i,j)*maskC(i,j,k,bi,bj)
149          SlopeSqr(i,j)=SlopeSqr(i,j)*maskC(i,j,k,bi,bj)*maskm1          SlopeSqr(i,j)=SlopeSqr(i,j)*maskC(i,j,k,bi,bj)
150    
151         ENDDO         ENDDO
152        ENDDO        ENDDO
# Line 268  C     Gradient of Sigma at U points Line 265  C     Gradient of Sigma at U points
265       &          *_maskW(i,j,k,bi,bj)       &          *_maskW(i,j,k,bi,bj)
266          dSigmaDrReal(i,j)=op25*( sigmaR(i-1,j, k ) +sigmaR(i,j, k )          dSigmaDrReal(i,j)=op25*( sigmaR(i-1,j, k ) +sigmaR(i,j, k )
267       &                  +maskp1*(sigmaR(i-1,j,kp1) +sigmaR(i,j,kp1)) )       &                  +maskp1*(sigmaR(i-1,j,kp1) +sigmaR(i,j,kp1)) )
268       &          *_maskW(i,j,k,bi,bj)*maskp1       &          *_maskW(i,j,k,bi,bj)
269         ENDDO         ENDDO
270        ENDDO        ENDDO
271    
# Line 341  C     Gradient of Sigma at V points Line 338  C     Gradient of Sigma at V points
338       &          *_maskS(i,j,k,bi,bj)       &          *_maskS(i,j,k,bi,bj)
339          dSigmaDrReal(i,j)=op25*( sigmaR(i,j-1, k ) +sigmaR(i,j, k )          dSigmaDrReal(i,j)=op25*( sigmaR(i,j-1, k ) +sigmaR(i,j, k )
340       &                  +maskp1*(sigmaR(i,j-1,kp1) +sigmaR(i,j,kp1)) )       &                  +maskp1*(sigmaR(i,j-1,kp1) +sigmaR(i,j,kp1)) )
341       &          *_maskS(i,j,k,bi,bj)*maskp1       &          *_maskS(i,j,k,bi,bj)
342         ENDDO         ENDDO
343        ENDDO        ENDDO
344    

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.22