95 |
_RL afFacS, dfFacS |
_RL afFacS, dfFacS |
96 |
_RL dSdx(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL dSdx(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
97 |
_RL dSdy(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL dSdy(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
98 |
|
_RL df4 (1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
99 |
|
|
100 |
afFacS = 1. _d 0 |
afFacS = 1. _d 0 |
101 |
dfFacS = 1. _d 0 |
dfFacS = 1. _d 0 |
103 |
|
|
104 |
C--- Calculate advective and diffusive fluxes between cells. |
C--- Calculate advective and diffusive fluxes between cells. |
105 |
|
|
106 |
|
#ifdef INCLUDE_T_DIFFUSION_CODE |
107 |
|
C o Zonal tracer gradient |
108 |
|
DO j=1-Oly,sNy+Oly |
109 |
|
DO i=1-Olx+1,sNx+Olx |
110 |
|
dSdx(i,j) = _recip_dxC(i,j,bi,bj)* |
111 |
|
& (salt(i,j,k,bi,bj)-salt(i-1,j,k,bi,bj)) |
112 |
|
ENDDO |
113 |
|
ENDDO |
114 |
|
C o Meridional tracer gradient |
115 |
|
DO j=1-Oly+1,sNy+Oly |
116 |
|
DO i=1-Olx,sNx+Olx |
117 |
|
dSdy(i,j) = _recip_dyC(i,j,bi,bj)* |
118 |
|
& (salt(i,j,k,bi,bj)-salt(i,j-1,k,bi,bj)) |
119 |
|
ENDDO |
120 |
|
ENDDO |
121 |
|
|
122 |
|
C-- del^2 of S, needed for bi-harmonic (del^4) term |
123 |
|
IF (diffK4S .NE. 0.) THEN |
124 |
|
DO j=1-Oly+1,sNy+Oly-1 |
125 |
|
DO i=1-Olx+1,sNx+Olx-1 |
126 |
|
df4(i,j)= _recip_hFacC(i,j,k,bi,bj) |
127 |
|
& *recip_drF(k)/_rA(i,j,bi,bj) |
128 |
|
& *( |
129 |
|
& +( xA(i+1,j)*dSdx(i+1,j)-xA(i,j)*dSdx(i,j) ) |
130 |
|
& +( yA(i,j+1)*dSdy(i,j+1)-yA(i,j)*dSdy(i,j) ) |
131 |
|
& ) |
132 |
|
ENDDO |
133 |
|
ENDDO |
134 |
|
ENDIF |
135 |
|
#endif |
136 |
|
|
137 |
C-- Zonal flux (fZon is at west face of "salt" cell) |
C-- Zonal flux (fZon is at west face of "salt" cell) |
138 |
C Advective component of zonal flux |
C Advective component of zonal flux |
139 |
DO j=jMin,jMax |
DO j=jMin,jMax |
142 |
& uTrans(i,j)*(salt(i,j,k,bi,bj)+salt(i-1,j,k,bi,bj))*0.5 _d 0 |
& uTrans(i,j)*(salt(i,j,k,bi,bj)+salt(i-1,j,k,bi,bj))*0.5 _d 0 |
143 |
ENDDO |
ENDDO |
144 |
ENDDO |
ENDDO |
145 |
C Zonal tracer gradient |
C o Diffusive component of zonal flux |
|
DO j=jMin,jMax |
|
|
DO i=iMin,iMax |
|
|
dSdx(i,j) = _recip_dxC(i,j,bi,bj)* |
|
|
& (salt(i,j,k,bi,bj)-salt(i-1,j,k,bi,bj)) |
|
|
ENDDO |
|
|
ENDDO |
|
|
C Diffusive component of zonal flux |
|
146 |
DO j=jMin,jMax |
DO j=jMin,jMax |
147 |
DO i=iMin,iMax |
DO i=iMin,iMax |
148 |
df(i,j) = -(diffKhS+0.5*(KapGM(i,j)+KapGM(i-1,j)))* |
df(i,j) = -(diffKhS+0.5*(KapGM(i,j)+KapGM(i-1,j)))* |
149 |
& xA(i,j)*dSdx(i,j) |
& xA(i,j)*dSdx(i,j) |
150 |
ENDDO |
ENDDO |
151 |
ENDDO |
ENDDO |
152 |
|
C o Add the bi-harmonic contribution |
153 |
|
IF (diffK4S .NE. 0.) THEN |
154 |
|
DO j=jMin,jMax |
155 |
|
DO i=iMin,iMax |
156 |
|
df(i,j) = df(i,j) + xA(i,j)* |
157 |
|
& diffK4S*(df4(i,j)-df4(i-1,j))*_recip_dxC(i,j,bi,bj) |
158 |
|
ENDDO |
159 |
|
ENDDO |
160 |
|
ENDIF |
161 |
C Net zonal flux |
C Net zonal flux |
162 |
DO j=jMin,jMax |
DO j=jMin,jMax |
163 |
DO i=iMin,iMax |
DO i=iMin,iMax |
174 |
& vTrans(i,j)*(salt(i,j,k,bi,bj)+salt(i,j-1,k,bi,bj))*0.5 _d 0 |
& vTrans(i,j)*(salt(i,j,k,bi,bj)+salt(i,j-1,k,bi,bj))*0.5 _d 0 |
175 |
ENDDO |
ENDDO |
176 |
ENDDO |
ENDDO |
|
C Zonal tracer gradient |
|
|
DO j=jMin,jMax |
|
|
DO i=iMin,iMax |
|
|
dSdy(i,j) = _recip_dyC(i,j,bi,bj)* |
|
|
& (salt(i,j,k,bi,bj)-salt(i,j-1,k,bi,bj)) |
|
|
ENDDO |
|
|
ENDDO |
|
177 |
C Diffusive component of meridional flux |
C Diffusive component of meridional flux |
178 |
DO j=jMin,jMax |
DO j=jMin,jMax |
179 |
DO i=iMin,iMax |
DO i=iMin,iMax |
181 |
& yA(i,j)*dSdy(i,j) |
& yA(i,j)*dSdy(i,j) |
182 |
ENDDO |
ENDDO |
183 |
ENDDO |
ENDDO |
184 |
|
C o Add the bi-harmonic contribution |
185 |
|
IF (diffK4S .NE. 0.) THEN |
186 |
|
DO j=jMin,jMax |
187 |
|
DO i=iMin,iMax |
188 |
|
df(i,j) = df(i,j) + yA(i,j)* |
189 |
|
& diffK4S*(df4(i,j)-df4(i,j-1))*_recip_dyC(i,j,bi,bj) |
190 |
|
ENDDO |
191 |
|
ENDDO |
192 |
|
ENDIF |
193 |
|
|
194 |
C Net meridional flux |
C Net meridional flux |
195 |
DO j=jMin,jMax |
DO j=jMin,jMax |
196 |
DO i=iMin,iMax |
DO i=iMin,iMax |