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

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

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


Revision 1.1 - (show annotations) (download)
Thu Jul 12 00:31:59 2001 UTC (22 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint40pre3, checkpoint40pre7, checkpoint40pre6, checkpoint40pre2, checkpoint40pre4, checkpoint40pre5
add a 3rd order advection scheme option

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

  ViewVC Help
Powered by ViewVC 1.1.22