/[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.2 by heimbach, Mon Jan 8 20:11:04 2001 UTC revision 1.3 by heimbach, Mon Jan 29 20:07:39 2001 UTC
# Line 96  C       Mask Iso-neutral slopes Line 96  C       Mask Iso-neutral slopes
96          Ssq=SlopeX(i,j)*SlopeX(i,j)+SlopeY(i,j)*SlopeY(i,j)          Ssq=SlopeX(i,j)*SlopeX(i,j)+SlopeY(i,j)*SlopeY(i,j)
97    
98  C       Components of Redi/GM tensor  C       Components of Redi/GM tensor
99          Kwx(i,j,k,myThid)=2.*SlopeX(i,j)          Kwx(i,j,k,bi,bj)=2.*SlopeX(i,j)
100          Kwy(i,j,k,myThid)=2.*SlopeY(i,j)          Kwy(i,j,k,bi,bj)=2.*SlopeY(i,j)
101          Kwz(i,j,k,myThid)=Ssq          Kwz(i,j,k,bi,bj)=Ssq
102    
103  #ifdef GM_VISBECK_VARIABLE_K  #ifdef GM_VISBECK_VARIABLE_K
104  C--     Depth average of M^2/N^2 * N  C--     Depth average of M^2/N^2 * N
# Line 114  C       If negative then we are below th Line 114  C       If negative then we are below th
114  C       Now we convert deltaH to a non-dimensional fraction  C       Now we convert deltaH to a non-dimensional fraction
115          deltaH=deltaH/GM_Visbeck_depth          deltaH=deltaH/GM_Visbeck_depth
116    
117          if (K.eq.2) VisbeckK(i,j,myThid)=0.          if (K.eq.2) VisbeckK(i,j,bi,bj)=0.
118  Calt?   if (dSigmaDrReal(i,j).NE.0.) then  Calt?   if (dSigmaDrReal(i,j).NE.0.) then
119  Calt?    N2=(-Gravity*recip_Rhonil)*dSigmaDrReal(i,j)  Calt?    N2=(-Gravity*recip_Rhonil)*dSigmaDrReal(i,j)
120          if (dRdSigmaLtd(i,j).NE.0.) then          if (dRdSigmaLtd(i,j).NE.0.) then
121           N2=(-Gravity*recip_Rhonil)/dRdSigmaLtd(i,j)           N2=(-Gravity*recip_Rhonil)/dRdSigmaLtd(i,j)
122           SN=sqrt(Ssq*N2)           SN=sqrt(Ssq*N2)
123           VisbeckK(i,j,myThid)=VisbeckK(i,j,myThid)+deltaH           VisbeckK(i,j,bi,bj)=VisbeckK(i,j,bi,bj)+deltaH
124       &      *GM_Visbeck_alpha*GM_Visbeck_length*GM_Visbeck_length*SN       &      *GM_Visbeck_alpha*GM_Visbeck_length*GM_Visbeck_length*SN
125          endif          endif
126    
127  C       Limit range that KapGM can take  C       Limit range that KapGM can take
128          VisbeckK(i,j,myThid)=          VisbeckK(i,j,bi,bj)=
129       &     min(VisbeckK(i,j,myThid),GM_Visbeck_maxval_K)       &     min(VisbeckK(i,j,bi,bj),GM_Visbeck_maxval_K)
130    
131  #endif /* GM_VISBECK_VARIABLE_K */  #endif /* GM_VISBECK_VARIABLE_K */
132    
# Line 134  C       Limit range that KapGM can take Line 134  C       Limit range that KapGM can take
134  #ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE  #ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE
135  C--     Time-average  C--     Time-average
136          GM_Kwx_T(i,j,k,bi,bj)=GM_Kwx_T(i,j,k,bi,bj)          GM_Kwx_T(i,j,k,bi,bj)=GM_Kwx_T(i,j,k,bi,bj)
137       &                       +Kwx(i,j,k,myThid)*deltaTclock       &                       +Kwx(i,j,k,bi,bj)*deltaTclock
138          GM_Kwy_T(i,j,k,bi,bj)=GM_Kwy_T(i,j,k,bi,bj)          GM_Kwy_T(i,j,k,bi,bj)=GM_Kwy_T(i,j,k,bi,bj)
139       &                       +Kwy(i,j,k,myThid)*deltaTclock       &                       +Kwy(i,j,k,bi,bj)*deltaTclock
140          GM_Kwz_T(i,j,k,bi,bj)=GM_Kwz_T(i,j,k,bi,bj)          GM_Kwz_T(i,j,k,bi,bj)=GM_Kwz_T(i,j,k,bi,bj)
141       &                       +Kwz(i,j,k,myThid)*deltaTclock       &                       +Kwz(i,j,k,bi,bj)*deltaTclock
142  #ifdef GM_VISBECK_VARIABLE_K  #ifdef GM_VISBECK_VARIABLE_K
143          IF (K.EQ.Nr)          IF (K.EQ.Nr)
144       &  Visbeck_K_T(i,j,bi,bj)=Visbeck_K_T(i,j,bi,bj)       &  Visbeck_K_T(i,j,bi,bj)=Visbeck_K_T(i,j,bi,bj)
145       &                       +VisbeckK(i,j,myThid)*deltaTclock       &                       +VisbeckK(i,j,bi,bj)*deltaTclock
146  #endif  #endif
147         ENDDO         ENDDO
148        ENDDO        ENDDO
# Line 176  C     Calculate slopes for use in tensor Line 176  C     Calculate slopes for use in tensor
176    
177        DO j=1-Oly+1,sNy+Oly-1        DO j=1-Oly+1,sNy+Oly-1
178         DO i=1-Olx+1,sNx+Olx-1         DO i=1-Olx+1,sNx+Olx-1
179          Kux(i,j,k,myThid)=(dSigmaDrReal(i,j)*dRdSigmaLtd(i,j))**2          Kux(i,j,k,bi,bj)=(dSigmaDrReal(i,j)*dRdSigmaLtd(i,j))**2
180         ENDDO         ENDDO
181        ENDDO        ENDDO
182    
# Line 204  C     Calculate slopes for use in tensor Line 204  C     Calculate slopes for use in tensor
204    
205        DO j=1-Oly+1,sNy+Oly-1        DO j=1-Oly+1,sNy+Oly-1
206         DO i=1-Olx+1,sNx+Olx-1         DO i=1-Olx+1,sNx+Olx-1
207          Kvy(i,j,k,myThid)=(dSigmaDrReal(i,j)*dRdSigmaLtd(i,j))**2          Kvy(i,j,k,bi,bj)=(dSigmaDrReal(i,j)*dRdSigmaLtd(i,j))**2
208         ENDDO         ENDDO
209        ENDDO        ENDDO
210    
# Line 252  CEndOfInterface Line 252  CEndOfInterface
252    
253        DO j=1-Oly+1,sNy+Oly-1        DO j=1-Oly+1,sNy+Oly-1
254         DO i=1-Olx+1,sNx+Olx-1         DO i=1-Olx+1,sNx+Olx-1
255          Kwx(i,j,k,myThid) = 0.0          Kwx(i,j,k,bi,bj) = 0.0
256          Kwy(i,j,k,myThid) = 0.0          Kwy(i,j,k,bi,bj) = 0.0
257          Kwz(i,j,k,myThid) = 0.0          Kwz(i,j,k,bi,bj) = 0.0
258         ENDDO         ENDDO
259        ENDDO        ENDDO
260  #endif /* ALLOW_GMREDI */  #endif /* ALLOW_GMREDI */

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

  ViewVC Help
Powered by ViewVC 1.1.22