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

Diff of /MITgcm/pkg/generic_advdiff/gad_fluxlimit_adv_r.F

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

revision 1.2 by jmc, Thu Jul 12 00:30:27 2001 UTC revision 1.3 by adcroft, Mon Sep 10 01:22:48 2001 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "GAD_OPTIONS.h"  #include "GAD_OPTIONS.h"
5    
6        SUBROUTINE GAD_FLUXLIMIT_ADV_R(        SUBROUTINE GAD_FLUXLIMIT_ADV_R(
7       I           bi,bj,k,deltaT,       I           bi_arg,bj_arg,k,dTarg,
8       I           rTrans, wVel,       I           rTrans, wVel,
9       I           tracer,       I           tracer,
10       O           wT,       O           wT,
# Line 19  C     |================================= Line 19  C     |=================================
19  C     == GLobal variables ==  C     == GLobal variables ==
20  #include "SIZE.h"  #include "SIZE.h"
21  #include "GRID.h"  #include "GRID.h"
22    #include "EEPARAMS.h"
23    #include "PARAMS.h"
24    
25  C     == Routine arguments ==  C     == Routine arguments ==
26        INTEGER bi,bj,k        INTEGER bi_arg,bj_arg,k
27        _RL deltaT        _RL dTarg
28        _RL rTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL rTrans(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
29        _RL wVel  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL wVel  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
30        _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
# Line 30  C     == Routine arguments == Line 32  C     == Routine arguments ==
32        INTEGER myThid        INTEGER myThid
33    
34  C     == Local variables ==  C     == Local variables ==
35        INTEGER i,j,kp1,km1,km2        INTEGER i,j,kp1,km1,km2,bi,bj
36        _RL Cr,Rjm,Rj,Rjp        _RL Cr,Rjm,Rj,Rjp
37  #include "GAD_FLUX_LIMITER.h"  #include "GAD_FLUX_LIMITER.h"
38    
39          IF (.NOT. multiDimAdvection) THEN
40    C      If using the standard time-stepping/advection schemes (ie. AB-II)
41    C      then the data-structures are all global arrays
42           bi=bi_arg
43           bj=bj_arg
44          ELSE
45    C      otherwise if using the multi-dimensional advection schemes
46    C      then the data-structures are all local arrays except
47    C      for maskC(...) and wVel(...)
48           bi=1
49           bj=1
50          ENDIF
51    
52        km2=MAX(1,k-2)        km2=MAX(1,k-2)
53        km1=MAX(1,k-1)        km1=MAX(1,k-1)
54        kp1=MIN(Nr,k+1)        kp1=MIN(Nr,k+1)
# Line 66  C     == Local variables == Line 81  C     == Local variables ==
81            ENDIF            ENDIF
82           ENDIF           ENDIF
83           Cr=Limiter(Cr)           Cr=Limiter(Cr)
84           wT(i,j) = maskC(i,j,kM1,bi,bj)*(           wT(i,j) = maskC(i,j,kM1,bi_arg,bj_arg)*(
85       &     rTrans(i,j)*       &     rTrans(i,j)*
86       &        (Tracer(i,j,k,bi,bj)+Tracer(i,j,kM1,bi,bj))*0.5 _d 0       &        (Tracer(i,j,k,bi,bj)+Tracer(i,j,kM1,bi,bj))*0.5 _d 0
87       &    +(ABS(rTrans(i,j))*(1-Cr)       &    +(ABS(rTrans(i,j))*(1-Cr)
88       &      +rTrans(i,j)*wVel(i,j,k,bi,bj)*deltaT*recip_drC(k)       &      +rTrans(i,j)*wVel(i,j,k,bi_arg,bj_arg)*dTarg*recip_drC(k)
89       &                  *Cr       &                  *Cr
90       &     )*Rj*0.5 _d 0                )       &     )*Rj*0.5 _d 0                )
91          ENDDO          ENDDO

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22