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

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

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

revision 1.24 by jmc, Sun Oct 17 23:03:38 2004 UTC revision 1.25 by jmc, Fri Oct 22 01:42:34 2004 UTC
# Line 8  CBOP Line 8  CBOP
8  C     !ROUTINE: CALC_DIFFUSIVITY  C     !ROUTINE: CALC_DIFFUSIVITY
9  C     !INTERFACE:  C     !INTERFACE:
10        SUBROUTINE CALC_DIFFUSIVITY(        SUBROUTINE CALC_DIFFUSIVITY(
11       I        bi,bj,iMin,iMax,jMin,jMax,K,       I        bi,bj,iMin,iMax,jMin,jMax,k,
12       I        maskUp,       I        maskUp,
13       O        KappaRT,KappaRS,       O        KappaRT,KappaRS,
14       I        myThid)       I        myThid)
# Line 34  C     == GLobal variables == Line 34  C     == GLobal variables ==
34    
35  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
36  C     == Routine arguments ==  C     == Routine arguments ==
37  C     bi, bj, :: Range of points for which calculation  C     bi, bj, :: tile indices
38  C     iMin,      is performed.  C     iMin,   :: Range of points for which calculation is performed.
39  C     iMax,  C     iMax,
40  C     jMin,  C     jMin,
41  C     jMax  C     jMax
# Line 61  CEOP Line 61  CEOP
61    
62        DO j = 1-Oly, sNy+Oly        DO j = 1-Oly, sNy+Oly
63         DO i = 1-Olx, sNx+Olx         DO i = 1-Olx, sNx+Olx
64          KappaRT(i,j,k) = maskUp(i,j)*          KappaRT(i,j,k) =
      &      (  
65       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa
66  #if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))  #if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))
67       &       + diffKr(i,j,k,bi,bj)       &       + diffKr(i,j,k,bi,bj)
# Line 70  CEOP Line 69  CEOP
69       &       + diffKrNrT(k)       &       + diffKrNrT(k)
70  #endif  #endif
71       &       + KbryanLewis79       &       + KbryanLewis79
      &      )  
72         ENDDO         ENDDO
73        ENDDO        ENDDO
74    
75        DO j = 1-Oly, sNy+Oly        DO j = 1-Oly, sNy+Oly
76         DO i = 1-Olx, sNx+Olx         DO i = 1-Olx, sNx+Olx
77          KappaRS(i,j,k) = maskUp(i,j)*          KappaRS(i,j,k) =
      &      (  
78       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa
79  #if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))  #if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))
80       &       + diffKr(i,j,k,bi,bj)       &       + diffKr(i,j,k,bi,bj)
# Line 85  CEOP Line 82  CEOP
82       &       + diffKrNrS(k)       &       + diffKrNrS(k)
83  #endif  #endif
84       &       + KbryanLewis79       &       + KbryanLewis79
      &      )  
85         ENDDO         ENDDO
86        ENDDO        ENDDO
87    
88  #ifdef ALLOW_GMREDI  #ifdef ALLOW_GMREDI
89        IF (useGMRedi) CALL GMREDI_CALC_DIFF(        IF (useGMRedi) THEN
90       I        bi,bj,iMin,iMax,jMin,jMax,K,           CALL GMREDI_CALC_DIFF(
91       I        maskUp,       I        bi,bj,iMin,iMax,jMin,jMax,k,Nr,
92       O        KappaRT,KappaRS,       U        KappaRT,
93         I        myThid)
94             CALL GMREDI_CALC_DIFF(
95         I        bi,bj,iMin,iMax,jMin,jMax,k,Nr,
96         U        KappaRS,
97       I        myThid)       I        myThid)
98          ENDIF
99  #endif  #endif
100    
101  #ifdef ALLOW_KPP  #ifdef ALLOW_KPP
102        IF (useKPP) CALL KPP_CALC_DIFF(        IF (useKPP) THEN
103       I        bi,bj,iMin+1,iMax,jMin+1,jMax,K,           CALL KPP_CALC_DIFF_T(
104       I        maskUp,       I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
105       O        KappaRT,KappaRS,       U        KappaRT,
106         I        myThid)
107             CALL KPP_CALC_DIFF_S(
108         I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
109         U        KappaRS,
110       I        myThid)       I        myThid)
111          ENDIF
112  #endif  #endif
113    
114  #ifdef ALLOW_PP81  #ifdef ALLOW_PP81
115        IF (usePP81) CALL PP81_CALC_DIFF(        IF (usePP81) THEN
116       I        bi,bj,iMin+1,iMax,jMin+1,jMax,K,           CALL PP81_CALC_DIFF(
117       I        maskUp,       I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
118       O        KappaRT,KappaRS,       U        KappaRT,
119         I        myThid)
120             CALL PP81_CALC_DIFF(
121         I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
122         U        KappaRS,
123       I        myThid)       I        myThid)
124          ENDIF
125  #endif  #endif
126    
127  #ifdef ALLOW_MY82  #ifdef ALLOW_MY82
128        IF (useMY82) CALL MY82_CALC_DIFF(        IF (useMY82) THEN
129       I        bi,bj,iMin+1,iMax,jMin+1,jMax,K,           CALL MY82_CALC_DIFF(
130       I        maskUp,       I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
131       O        KappaRT,KappaRS,       U        KappaRT,
132         I        myThid)
133             CALL MY82_CALC_DIFF(
134         I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
135         U        KappaRS,
136       I        myThid)       I        myThid)
137          ENDIF
138  #endif  #endif
139                
140  #ifdef ALLOW_GGL90  #ifdef ALLOW_GGL90
141        IF (useGGL90) CALL GGL90_CALC_DIFF(        IF (useGGL90) THEN
142       I        bi,bj,iMin+1,iMax,jMin+1,jMax,K,           CALL GGL90_CALC_DIFF(
143       I        maskUp,       I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
144       O        KappaRT,KappaRS,       O        KappaRT,
145         I        myThid)
146             CALL GGL90_CALC_DIFF(
147         I        bi,bj,iMin+1,iMax,jMin+1,jMax,k,Nr,
148         O        KappaRS,
149       I        myThid)       I        myThid)
150          ENDIF
151  #endif  #endif
152                
153    C-    Apply mask to vertical diffusivity
154    C jmc: don't have the impression that masking is needed
155    C      but could be removed later if it's the case.
156          DO j = 1-Oly, sNy+Oly
157           DO i = 1-Olx, sNx+Olx
158            KappaRT(i,j,k) = maskUp(i,j)*KappaRT(i,j,k)
159            KappaRS(i,j,k) = maskUp(i,j)*KappaRS(i,j,k)
160           ENDDO
161          ENDDO
162    
163        RETURN        RETURN
164        END        END

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.22