/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_c4_adv_y.F
ViewVC logotype

Contents of /MITgcm/pkg/generic_advdiff/gad_c4_adv_y.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Wed May 30 19:34:48 2001 UTC (23 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint40pre1
Added "gad" package. Needs generalizing to allow selection
of advection schemes at run-time and different schemes for
each tracer.

1 C $Header: $
2 C $Name: $
3
4 #include "GAD_OPTIONS.h"
5
6 SUBROUTINE GAD_C4_ADV_Y(
7 I bi,bj,k,
8 I vTrans,
9 I tracer,
10 O vT,
11 I myThid )
12 IMPLICIT NONE
13
14 C == GLobal variables ==
15 #include "SIZE.h"
16 #include "GRID.h"
17 #include "GAD.h"
18
19 C == Routine arguments ==
20 INTEGER bi,bj,k
21 _RL vTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
22 _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
23 _RL vT (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
24 INTEGER myThid
25
26 C == Local variables ==
27 INTEGER i,j
28 _RL Rjm,Rj,Rjp,Rjjm,Rjjp
29
30
31 DO i=1-Olx,sNx+Olx
32 vT(i,1-Oly)=0.
33 ENDDO
34 DO j=1-Oly+1,sNy+Oly
35 DO i=1-Olx,sNx+Olx
36 Rjp=(tracer(i,j+1)-tracer(i,j))*maskS(i,j+1,k,bi,bj)
37 Rj=(tracer(i,j)-tracer(i,j-1))*maskS(i,j,k,bi,bj)
38 Rjm=(tracer(i,j-1)-tracer(i,j-2))*maskS(i,j-1,k,bi,bj)
39 Rjjp=Rjp-Rj
40 Rjjm=Rj-Rjm
41 vT(i,j) =
42 & vTrans(i,j)*(
43 & Tracer(i,j)+Tracer(i,j-1)-oneSixth*( Rjjp+Rjjm )
44 & )*0.5 _d 0
45 ENDDO
46 ENDDO
47
48 RETURN
49 END

  ViewVC Help
Powered by ViewVC 1.1.22