7 |
C !ROUTINE: CONVECTIVELY_MIXTRACER |
C !ROUTINE: CONVECTIVELY_MIXTRACER |
8 |
C !INTERFACE: |
C !INTERFACE: |
9 |
SUBROUTINE CONVECTIVELY_MIXTRACER( |
SUBROUTINE CONVECTIVELY_MIXTRACER( |
10 |
I bi,bj,k,weightA,weightB, |
I bi, bj, k, weightA, weightB, |
11 |
U Tracer, |
U Tracer, |
12 |
I myThid) |
I myThid ) |
13 |
C !DESCRIPTION: |
C !DESCRIPTION: |
14 |
C Mixes a tracer over two layers according to the weights pre-calculated |
C Mixes a tracer over two layers according to the weights pre-calculated |
15 |
C as a function of stability. |
C as a function of stability. |
16 |
C |
C |
17 |
C Mixing is represented by: |
C Mixing is represented by: |
18 |
C T(k-1) = T(k-1) + B * ( T(k) - T(k-1) ) |
C T(k-1) = T(k-1) + A * ( T(k) - T(k-1) ) |
19 |
C T(k) = T(k) + A * ( T(k-1) - T(k) ) |
C T(k) = T(k) + B * ( T(k-1) - T(k) ) |
20 |
|
|
21 |
C !USES: |
C !USES: |
22 |
IMPLICIT NONE |
IMPLICIT NONE |
24 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
25 |
|
|
26 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
27 |
C bi,bj,k - indices |
C bi,bj,k :: indices |
28 |
C weightA - weight for level K |
C weightA :: weight for level k-1 |
29 |
C weightB - weight for level K+1 |
C weightB :: weight for level k |
30 |
C myThid - thread number |
C myThid :: my Thread Id number |
31 |
INTEGER bi,bj,k |
INTEGER bi,bj,k |
32 |
_RL weightA(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL weightA(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
33 |
_RL weightB(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL weightB(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
34 |
_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) |
35 |
INTEGER myThid |
INTEGER myThid |
36 |
|
|
37 |
#ifdef INCLUDE_CONVECT_CALL |
#ifdef INCLUDE_CONVECT_CALL |
43 |
_RL delTrac |
_RL delTrac |
44 |
CEOP |
CEOP |
45 |
|
|
46 |
DO j=1-Oly,sNy+Oly |
DO j=1-OLy,sNy+OLy |
47 |
DO i=1-Olx,sNx+Olx |
DO i=1-OLx,sNx+OLx |
48 |
|
|
49 |
delTrac=Tracer(i,j,k,bi,bj)-Tracer(i,j,k-1,bi,bj) |
delTrac=Tracer(i,j,k,bi,bj)-Tracer(i,j,k-1,bi,bj) |
50 |
Tracer(i,j,k-1,bi,bj)=Tracer(i,j,k-1,bi,bj) |
Tracer(i,j,k-1,bi,bj)=Tracer(i,j,k-1,bi,bj) |