/[MITgcm]/MITgcm/pkg/ggl90/ggl90_calc_visc.F
ViewVC logotype

Diff of /MITgcm/pkg/ggl90/ggl90_calc_visc.F

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

revision 1.4 by dfer, Fri Jan 30 02:23:56 2009 UTC revision 1.5 by jmc, Thu Oct 8 20:07:18 2009 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "GGL90_OPTIONS.h"  #include "GGL90_OPTIONS.h"
5    
6        SUBROUTINE GGL90_CALC_VISC(        SUBROUTINE GGL90_CALC_VISC(
7       I        bi,bj,iMin,iMax,jMin,jMax,K,       I        bi,bj,iMin,iMax,jMin,jMax,K,
8       U        KappaRU,KappaRV,       U        KappaRU,KappaRV,
9       I        myThid)       I        myThid)
10    
11  CBOP  CBOP
12  C     /==========================================================\  C     *==========================================================*
13  C     | SUBROUTINE GGL90_CALC_VISC                               |  C     | SUBROUTINE GGL90_CALC_VISC                               |
14  C     | o Add contrubution to net viscosity from GGL90 mixing    |  C     | o Add contrubution to net viscosity from GGL90 mixing    |
15  C     \==========================================================/  C     *==========================================================*
16        IMPLICIT NONE        IMPLICIT NONE
17    
18  C     == GLobal variables ==  C     == GLobal variables ==
# Line 21  C     == GLobal variables == Line 21  C     == GLobal variables ==
21  #include "PARAMS.h"  #include "PARAMS.h"
22  #include "DYNVARS.h"  #include "DYNVARS.h"
23  #include "GRID.h"  #include "GRID.h"
24    #include "GGL90.h"
25    
26  C     == Routine arguments ==  C     == Routine arguments ==
27  C     bi, bj, iMin, iMax, jMin, jMax - Range of points for which calculation  C     bi, bj, iMin, iMax, jMin, jMax - Range of points for which calculation
# Line 30  C Line 31  C
31        _RL KappaRU(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        _RL KappaRU(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
32        _RL KappaRV(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        _RL KappaRV(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
33        INTEGER myThid        INTEGER myThid
34    CEOP
35    
36  #ifdef ALLOW_GGL90  #ifdef ALLOW_GGL90
 #include "GGL90.h"  
37    
38  C     == Local variables ==  C     == Local variables ==
39  C     I, J, K - Loop counters  C     I, J, K - Loop counters
# Line 42  C     I, J, K - Loop counters Line 43  C     I, J, K - Loop counters
43        p4=0.25 _d 0        p4=0.25 _d 0
44        p8=0.125 _d 0        p8=0.125 _d 0
45        p16=0.0625 _d 0        p16=0.0625 _d 0
 CEOP  
46    
47        DO j=jMin,jMax        DO j=jMin,jMax
48         DO i=iMin,iMax         DO i=iMin,iMax
# Line 61  CEOP Line 61  CEOP
61       &       +      maskC(i-1,j+1,k,bi,bj) * mskCor(i-1,j+1,bi,bj)       &       +      maskC(i-1,j+1,k,bi,bj) * mskCor(i-1,j+1,bi,bj)
62       &       +      maskC(i  ,j-1,k,bi,bj) * mskCor(i  ,j-1,bi,bj)       &       +      maskC(i  ,j-1,k,bi,bj) * mskCor(i  ,j-1,bi,bj)
63       &       +      maskC(i  ,j+1,k,bi,bj) * mskCor(i  ,j+1,bi,bj))       &       +      maskC(i  ,j+1,k,bi,bj) * mskCor(i  ,j+1,bi,bj))
64       &  ) - viscAr )       &  ) - viscArNr(k) )
65       &  *maskC(i  ,j,k,bi,bj)*mskCor(i  ,j,bi,bj)       &  *maskC(i  ,j,k,bi,bj)*mskCor(i  ,j,bi,bj)
66       &  *maskC(i-1,j,k,bi,bj)*mskCor(i-1,j,bi,bj)       &  *maskC(i-1,j,k,bi,bj)*mskCor(i-1,j,bi,bj)
67  #else  #else
68          KappaRU(i,j,k) = KappaRU(i,j,k) + _maskW(i,j,k,bi,bj) *          KappaRU(i,j,k) = KappaRU(i,j,k) + _maskW(i,j,k,bi,bj) *
69       &                   (.5 _d 0*(GGL90viscAr(i,j,k,bi,bj)       &                   (.5 _d 0*(GGL90viscAr(i,j,k,bi,bj)
70       &                            +GGL90viscAr(i-1,j,k,bi,bj))       &                            +GGL90viscAr(i-1,j,k,bi,bj))
71       &                    -viscAr)       &                    - viscArNr(k) )
72  #endif  #endif
73         ENDDO         ENDDO
74        ENDDO        ENDDO
# Line 90  CEOP Line 90  CEOP
90       &       +      maskC(i-1,j-1,k,bi,bj) * mskCor(i-1,j-1,bi,bj)       &       +      maskC(i-1,j-1,k,bi,bj) * mskCor(i-1,j-1,bi,bj)
91       &       +      maskC(i+1,j  ,k,bi,bj) * mskCor(i+1,j  ,bi,bj)       &       +      maskC(i+1,j  ,k,bi,bj) * mskCor(i+1,j  ,bi,bj)
92       &       +      maskC(i+1,j-1,k,bi,bj) * mskCor(i+1,j-1,bi,bj))       &       +      maskC(i+1,j-1,k,bi,bj) * mskCor(i+1,j-1,bi,bj))
93       &  ) - viscAr )       &  ) - viscArNr(k) )
94       &   *maskC(i,j  ,k,bi,bj)*mskCor(i,j  ,bi,bj)       &   *maskC(i,j  ,k,bi,bj)*mskCor(i,j  ,bi,bj)
95       &   *maskC(i,j-1,k,bi,bj)*mskCor(i,j-1,bi,bj)       &   *maskC(i,j-1,k,bi,bj)*mskCor(i,j-1,bi,bj)
96  #else  #else
97          KappaRV(i,j,k) = KappaRV(i,j,k) + _maskS(i,j,k,bi,bj) *          KappaRV(i,j,k) = KappaRV(i,j,k) + _maskS(i,j,k,bi,bj) *
98       &                   (.5 _d 0*(GGL90viscAr(i,j,k,bi,bj)       &                   (.5 _d 0*(GGL90viscAr(i,j,k,bi,bj)
99       &                            +GGL90viscAr(i,j-1,k,bi,bj))       &                            +GGL90viscAr(i,j-1,k,bi,bj))
100       &                    -viscAr)       &                    - viscArNr(k) )
101  #endif  #endif
102         ENDDO         ENDDO
103        ENDDO        ENDDO

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22