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

Contents of /MITgcm/pkg/generic_advdiff/gad_c2_adv_r.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_C2_ADV_R(
7 I bi,bj,k,
8 I rTrans,
9 I tracer,
10 O wT,
11 I myThid )
12 IMPLICIT NONE
13
14 C == GLobal variables ==
15 #include "SIZE.h"
16 #include "GRID.h"
17 #include "EEPARAMS.h"
18 #include "PARAMS.h"
19
20 C == Routine arguments ==
21 INTEGER bi,bj,k
22 _RL rTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
23 _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
24 _RL wT (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
25 INTEGER myThid
26
27 C == Local variables ==
28 INTEGER i,j,km1
29
30 km1=max(1,k-1)
31
32 IF ( (rigidLid .AND. k.EQ.1) .OR. k.GT.Nr) THEN
33 DO j=1-Oly,sNy+Oly
34 DO i=1-Olx,sNx+Olx
35 wT(i,j) = 0.
36 ENDDO
37 ENDDO
38 c? ELSEIF ( rigidLid ) THEN
39 c? DO j=1-Oly,sNy+Oly
40 c? DO i=1-Olx,sNx+Olx
41 c? wT(i,j) = rTrans(i,j)*
42 c? & (Tracer(i,j,k,bi,bj)+Tracer(i,j,kM1,bi,bj))*0.5 _d 0
43 c? ENDDO
44 c? ENDDO
45 ELSE
46 DO j=1-Oly,sNy+Oly
47 DO i=1-Olx,sNx+Olx
48 wT(i,j) =
49 & rTrans(i,j)
50 & *(maskC(i,j,kM1,bi,bj)*
51 & (Tracer(i,j,k,bi,bj)+Tracer(i,j,kM1,bi,bj))*0.5 _d 0
52 & +(maskC(i,j,k,bi,bj)-maskC(i,j,kM1,bi,bj))*
53 & Tracer(i,j,k,bi,bj)
54 & )
55 ENDDO
56 ENDDO
57 ENDIF
58
59 RETURN
60 END

  ViewVC Help
Powered by ViewVC 1.1.22