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

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

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

revision 1.17 by jmc, Tue Sep 20 22:25:23 2011 UTC revision 1.18 by jmc, Wed Jul 30 03:31:35 2014 UTC
# Line 55  C     KappaRTr   :: Net diffusivity for Line 55  C     KappaRTr   :: Net diffusivity for
55        INTEGER bi,bj,iMin,iMax,jMin,jMax        INTEGER bi,bj,iMin,iMax,jMin,jMax
56        INTEGER trIdentity        INTEGER trIdentity
57        LOGICAL trUseGMRedi, trUseKPP        LOGICAL trUseGMRedi, trUseKPP
58        _RL KappaRTr(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        _RL KappaRTr(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
59        INTEGER myThid        INTEGER myThid
60    
61  #ifdef ALLOW_GENERIC_ADVDIFF  #ifdef ALLOW_GENERIC_ADVDIFF
# Line 83  CEOP Line 83  CEOP
83          KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)          KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)
84       &       *(atan(-(rF(k)-diffKrBLEQHo)/diffKrBLEQscl)/PI+0.5 _d 0)       &       *(atan(-(rF(k)-diffKrBLEQHo)/diffKrBLEQscl)/PI+0.5 _d 0)
85  #endif  #endif
86          DO j = 1-Oly,sNy+Oly          DO j = 1-OLy,sNy+OLy
87           DO i = 1-Olx,sNx+Olx           DO i = 1-OLx,sNx+OLx
88  #ifdef ALLOW_LONGSTEP  #ifdef ALLOW_LONGSTEP
89            IF ( trIdentity .GE. GAD_TR1) THEN            IF ( trIdentity .GE. GAD_TR1) THEN
90             KappaRTr(i,j,k) =             KappaRTr(i,j,k) =
# Line 109  CEOP Line 109  CEOP
109         ENDDO         ENDDO
110         IF ( trIdentity.EQ.GAD_TEMPERATURE ) THEN         IF ( trIdentity.EQ.GAD_TEMPERATURE ) THEN
111          DO k = 1,Nr          DO k = 1,Nr
112           DO j = 1-Oly,sNy+Oly           DO j = 1-OLy,sNy+OLy
113            DO i = 1-Olx,sNx+Olx            DO i = 1-OLx,sNx+OLx
114             KappaRTr(i,j,k) = KappaRTr(i,j,k)             KappaRTr(i,j,k) = KappaRTr(i,j,k)
115  #ifdef ALLOW_3D_DIFFKR  #ifdef ALLOW_3D_DIFFKR
116       &          + diffKr(i,j,k,bi,bj)       &          + diffKr(i,j,k,bi,bj)
# Line 122  CEOP Line 122  CEOP
122          ENDDO          ENDDO
123         ELSEIF ( trIdentity.EQ.GAD_SALINITY) THEN         ELSEIF ( trIdentity.EQ.GAD_SALINITY) THEN
124          DO k = 1,Nr          DO k = 1,Nr
125           DO j = 1-Oly, sNy+Oly           DO j = 1-OLy, sNy+OLy
126            DO i = 1-Olx, sNx+Olx            DO i = 1-OLx, sNx+OLx
127             KappaRTr(i,j,k) = KappaRTr(i,j,k)             KappaRTr(i,j,k) = KappaRTr(i,j,k)
128  #ifdef ALLOW_3D_DIFFKR  #ifdef ALLOW_3D_DIFFKR
129       &          + diffKr(i,j,k,bi,bj)       &          + diffKr(i,j,k,bi,bj)
# Line 138  CEOP Line 138  CEOP
138    
139          iTr = trIdentity - GAD_TR1 + 1          iTr = trIdentity - GAD_TR1 + 1
140          DO k = 1,Nr          DO k = 1,Nr
141           DO j = 1-Oly, sNy+Oly           DO j = 1-OLy, sNy+OLy
142            DO i = 1-Olx, sNx+Olx            DO i = 1-OLx, sNx+OLx
143             KappaRTr(i,j,k) = KappaRTr(i,j,k)             KappaRTr(i,j,k) = KappaRTr(i,j,k)
144  #ifdef ALLOW_3D_DIFFKR  #ifdef ALLOW_3D_DIFFKR
145       &          + diffKr(i,j,k,bi,bj)       &          + diffKr(i,j,k,bi,bj)
# Line 208  C--   Set vertical diffusivity contribut Line 208  C--   Set vertical diffusivity contribut
208        ENDIF        ENDIF
209  #endif  #endif
210    
211    #ifdef ALLOW_KL10
212          IF (useKL10) THEN
213             CALL KL10_CALC_DIFF(
214         I        bi,bj,iMin,iMax,jMin,jMax,0,Nr,
215         U        KappaRTr,
216         I        myThid)
217          ENDIF
218    #endif
219    
220  #ifdef ALLOW_MY82  #ifdef ALLOW_MY82
221        IF (useMY82) THEN        IF (useMY82) THEN
222           CALL MY82_CALC_DIFF(           CALL MY82_CALC_DIFF(
# Line 229  C--   Set vertical diffusivity contribut Line 238  C--   Set vertical diffusivity contribut
238  C-    Apply mask to vertical diffusivity  C-    Apply mask to vertical diffusivity
239  C jmc: do not have the impression that masking is needed  C jmc: do not have the impression that masking is needed
240  C      but could be removed later if it is the case.  C      but could be removed later if it is the case.
241  c     DO j = 1-Oly, sNy+Oly  c     DO j = 1-OLy, sNy+OLy
242  c      DO i = 1-Olx, sNx+Olx  c      DO i = 1-OLx, sNx+OLx
243  c       KappaRTr(i,j,k) = maskUp(i,j)*KappaRTr(i,j,k)  c       KappaRTr(i,j,k) = maskUp(i,j)*KappaRTr(i,j,k)
244  c      ENDDO  c      ENDDO
245  c     ENDDO  c     ENDDO

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22