/[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.5 by dimitri, Thu Apr 5 00:02:49 2007 UTC revision 1.9 by dimitri, Sat Apr 14 18:32:32 2007 UTC
# Line 62  C     i, j, k    :: Loop counters Line 62  C     i, j, k    :: Loop counters
62  C     iTr        :: passive tracer index  C     iTr        :: passive tracer index
63  C     msgBuf     :: message buffer  C     msgBuf     :: message buffer
64        INTEGER i,j,k        INTEGER i,j,k
65        _RL KbryanLewis79        _RL KbryanLewis79, KbryanLewisEQ
66        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
67  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
68        INTEGER iTr        INTEGER iTr
# Line 73  CEOP Line 73  CEOP
73    
74         DO k = 1,Nr         DO k = 1,Nr
75          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)
76       &  *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)       &   *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)
77    #ifdef ALLOW_BL79_LAT_VARY
78            KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)
79         &   *( atan( -( rF(k)-diffKrBLEQHo )/diffKrBLEQscl )/PI+0.5 _d 0)
80    #endif
81          DO j = 1-Oly,sNy+Oly          DO j = 1-Oly,sNy+Oly
82           DO i = 1-Olx,sNx+Olx           DO i = 1-Olx,sNx+Olx
83            KappaRTr(i,j,k) =            KappaRTr(i,j,k) =
84       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa
85  #if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))  #if (defined ALLOW_3D_DIFFKR || \
86         (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL)))
87       &       + diffKr(i,j,k,bi,bj)       &       + diffKr(i,j,k,bi,bj)
88  #else  #else
89       &       + diffKr3dT(i,j,k,bi,bj)       &       + diffKrNrT(k)
90  #endif  #endif
91       &       + KbryanLewis79       &       + KbryanLewis79
92    #ifdef ALLOW_BL79_LAT_VARY
93         &       + (KbryanLewisEQ-KbryanLewis79)*BL79LatArray(i,j,bi,bj)
94    #endif
95           ENDDO           ENDDO
96          ENDDO          ENDDO
97         ENDDO         ENDDO
# Line 92  CEOP Line 100  CEOP
100    
101         DO k = 1,Nr         DO k = 1,Nr
102          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)
103       &  *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)       &   *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)
104    #ifdef ALLOW_BL79_LAT_VARY
105            KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)
106         &   *( atan( -( rF(k)-diffKrBLEQHo )/diffKrBLEQscl )/PI+0.5 _d 0)
107    #endif
108          DO j = 1-Oly, sNy+Oly          DO j = 1-Oly, sNy+Oly
109           DO i = 1-Olx, sNx+Olx           DO i = 1-Olx, sNx+Olx
110            KappaRTr(i,j,k) =            KappaRTr(i,j,k) =
111       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa
112  #if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))  #if (defined ALLOW_3D_DIFFKR || \
113         (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL)))
114       &       + diffKr(i,j,k,bi,bj)       &       + diffKr(i,j,k,bi,bj)
115  #else  #else
116       &       + diffKr3dS(i,j,k,bi,bj)       &       + diffKrNrS(k)
117  #endif  #endif
118       &       + KbryanLewis79       &       + KbryanLewis79
119    #ifdef ALLOW_BL79_LAT_VARY
120         &       + (KbryanLewisEQ-KbryanLewis79)*BL79LatArray(i,j,bi,bj)
121    #endif
122           ENDDO           ENDDO
123          ENDDO          ENDDO
124         ENDDO         ENDDO
# Line 114  CEOP Line 130  CEOP
130         iTr = trIdentity - GAD_TR1 + 1         iTr = trIdentity - GAD_TR1 + 1
131         DO k = 1,Nr         DO k = 1,Nr
132          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)
133       &  *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)       &   *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)
134    #ifdef ALLOW_BL79_LAT_VARY
135            KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)
136         &   *( atan( -( rF(k)-diffKrBLEQHo )/diffKrBLEQscl )/PI+0.5 _d 0)
137    #endif
138          DO j = 1-Oly, sNy+Oly          DO j = 1-Oly, sNy+Oly
139           DO i = 1-Olx, sNx+Olx           DO i = 1-Olx, sNx+Olx
140            KappaRTr(i,j,k) =            KappaRTr(i,j,k) =
141       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa
142  #if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))  #if (defined ALLOW_3D_DIFFKR || \
143         (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL)))
144       &       + diffKr(i,j,k,bi,bj)       &       + diffKr(i,j,k,bi,bj)
145  #else  #else
146       &       + PTRACERS_diffKrNr(k,iTr)       &       + PTRACERS_diffKrNr(k,iTr)
147  #endif  #endif
148       &       + KbryanLewis79       &       + KbryanLewis79
149    #ifdef ALLOW_BL79_LAT_VARY
150         &       + (KbryanLewisEQ-KbryanLewis79)*BL79LatArray(i,j,bi,bj)
151    #endif
152           ENDDO           ENDDO
153          ENDDO          ENDDO
154         ENDDO         ENDDO

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22