8 |
|
|
9 |
C !INTERFACE: ========================================================== |
C !INTERFACE: ========================================================== |
10 |
SUBROUTINE GAD_FLUXLIMIT_ADV_Y( |
SUBROUTINE GAD_FLUXLIMIT_ADV_Y( |
11 |
I bi,bj,k,deltaT, |
I bi,bj,k,deltaTloc, |
12 |
I vTrans, vVel, |
I vTrans, vVel, |
13 |
I tracer, |
I maskLocS, tracer, |
14 |
O vT, |
O vT, |
15 |
I myThid ) |
I myThid ) |
16 |
|
|
40 |
C tracer :: tracer field |
C tracer :: tracer field |
41 |
C myThid :: thread number |
C myThid :: thread number |
42 |
INTEGER bi,bj,k |
INTEGER bi,bj,k |
43 |
_RL deltaT |
_RL deltaTloc |
44 |
_RL vTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL vTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
45 |
_RL vVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL vVel (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
46 |
|
_RS maskLocS(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
47 |
_RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
48 |
INTEGER myThid |
INTEGER myThid |
49 |
|
|
73 |
|
|
74 |
c vFld = vVel(i,j,k,bi,bj) |
c vFld = vVel(i,j,k,bi,bj) |
75 |
vFld = vTrans(i,j)*recip_dxG(i,j,bi,bj) |
vFld = vTrans(i,j)*recip_dxG(i,j,bi,bj) |
76 |
& *recip_drF(k)*recip_hFacS(i,j,k,bi,bj) |
& *recip_drF(k)*_recip_hFacS(i,j,k,bi,bj) |
77 |
Rjp=(tracer(i,j+1)-tracer(i,j))*maskS(i,j+1,k,bi,bj) |
Rjp=(tracer(i,j+1)-tracer(i, j ))*maskLocS(i,j+1) |
78 |
Rj=(tracer(i,j)-tracer(i,j-1))*maskS(i,j,k,bi,bj) |
Rj =(tracer(i, j )-tracer(i,j-1))*maskLocS(i, j ) |
79 |
Rjm=(tracer(i,j-1)-tracer(i,j-2))*maskS(i,j-1,k,bi,bj) |
Rjm=(tracer(i,j-1)-tracer(i,j-2))*maskLocS(i,j-1) |
80 |
|
|
81 |
IF (Rj.NE.0.) THEN |
IF (Rj.NE.0.) THEN |
82 |
IF (vTrans(i,j).GT.0) THEN |
IF (vTrans(i,j).GT.0) THEN |
96 |
& vTrans(i,j)*(Tracer(i,j)+Tracer(i,j-1))*0.5 _d 0 |
& vTrans(i,j)*(Tracer(i,j)+Tracer(i,j-1))*0.5 _d 0 |
97 |
& -0.5*( |
& -0.5*( |
98 |
& (1-Cr)*ABS(vTrans(i,j)) |
& (1-Cr)*ABS(vTrans(i,j)) |
99 |
& +vTrans(i,j)*vFld*deltaT |
& +vTrans(i,j)*vFld*deltaTloc |
100 |
& *recip_dyC(i,j,bi,bj)*Cr |
& *recip_dyC(i,j,bi,bj)*Cr |
101 |
& )*Rj |
& )*Rj |
102 |
ENDDO |
ENDDO |