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

Annotation of /MITgcm/pkg/generic_advdiff/gad_u3_adv_x.F

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


Revision 1.1 - (hide 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 jmc 1.1 C $Header: $
2     C $Name: $
3    
4     #include "GAD_OPTIONS.h"
5    
6     SUBROUTINE GAD_U3_ADV_X(
7     I bi,bj,k,
8     I uTrans,
9     I tracer,
10     O uT,
11     I myThid )
12     C /==========================================================\
13     C | SUBROUTINE GAD_U3_ADV_X |
14     C | o Compute Zonal 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 uTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
27     _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
28     _RL uT (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     DO j=1-Oly,sNy+Oly
36     uT(1-Olx,j)=0.
37     uT(2-Olx,j)=0.
38     uT(sNx+Olx,j)=0.
39     DO i=1-Olx+2,sNx+Olx-1
40     Rjp=(tracer(i+1,j)-tracer(i,j))*maskW(i+1,j,k,bi,bj)
41     Rj =(tracer(i,j)-tracer(i-1,j))*maskW(i,j,k,bi,bj)
42     Rjm=(tracer(i-1,j)-tracer(i-2,j))*maskW(i-1,j,k,bi,bj)
43     Rjjp=Rjp-Rj
44     Rjjm=Rj-Rjm
45     uT(i,j) =
46     & uTrans(i,j)*(
47     & Tracer(i,j)+Tracer(i-1,j)-oneSixth*( Rjjp+Rjjm )
48     & )*0.5 _d 0
49     & +ABS( uTrans(i,j) )*0.5 _d 0*oneSixth*( Rjjp-Rjjm )
50     ENDDO
51     ENDDO
52    
53     RETURN
54     END

  ViewVC Help
Powered by ViewVC 1.1.22