15 |
I myThid ) |
I myThid ) |
16 |
|
|
17 |
C !DESCRIPTION: |
C !DESCRIPTION: |
18 |
C Calculates the vertical flux due to down-gradient diffusion of a tracer: |
C Calculates the area integrated vertical flux due to down-gradient |
19 |
|
C diffusion of a tracer: |
20 |
C \begin{equation*} |
C \begin{equation*} |
21 |
C F^r_{diff} = - \kappa_r \partial_r \theta |
C F^r_{diff} = - A^r \kappa_r \frac{1}{\Delta r_c} \delta_k \theta |
22 |
C \end{equation*} |
C \end{equation*} |
23 |
|
|
24 |
C !USES: =============================================================== |
C !USES: =============================================================== |
35 |
C tracer :: tracer field |
C tracer :: tracer field |
36 |
C myThid :: thread number |
C myThid :: thread number |
37 |
INTEGER bi,bj,k |
INTEGER bi,bj,k |
38 |
_RL KappaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL KappaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
39 |
_RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
40 |
INTEGER myThid |
INTEGER myThid |
41 |
|
|
47 |
C i,j :: loop indices |
C i,j :: loop indices |
48 |
C km1 :: =k+1 for k<Nr, =Nr for k>-Nr |
C km1 :: =k+1 for k<Nr, =Nr for k>-Nr |
49 |
INTEGER i,j,km1 |
INTEGER i,j,km1 |
50 |
|
CEOP |
51 |
|
|
52 |
km1=max(1,k-1) |
km1=max(1,k-1) |
53 |
|
|
62 |
DO i=1-Olx,sNx+Olx |
DO i=1-Olx,sNx+Olx |
63 |
dfr(i,j) = |
dfr(i,j) = |
64 |
& -_rA(i,j,bi,bj) |
& -_rA(i,j,bi,bj) |
65 |
& *KappaR(i,j,k)*recip_drC(k) |
& *KappaR(i,j)*recip_drC(k) |
66 |
& *(Tracer(i,j,km1,bi,bj)-Tracer(i,j,k,bi,bj))*rkFac |
& *(Tracer(i,j,km1,bi,bj)-Tracer(i,j,k,bi,bj))*rkFac |
67 |
ENDDO |
ENDDO |
68 |
ENDDO |
ENDDO |