/[MITgcm]/MITgcm/model/src/calc_viscosity.F
ViewVC logotype

Diff of /MITgcm/model/src/calc_viscosity.F

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

revision 1.5 by edhill, Thu Oct 9 04:19:18 2003 UTC revision 1.11 by jmc, Wed Dec 24 19:09:33 2014 UTC
# Line 7  C $Name$ Line 7  C $Name$
7  CBOP  CBOP
8  C     !ROUTINE: CALC_VISCOSITY  C     !ROUTINE: CALC_VISCOSITY
9  C     !INTERFACE:  C     !INTERFACE:
10        SUBROUTINE CALC_VISCOSITY(        SUBROUTINE CALC_VISCOSITY(
11       I        bi,bj,iMin,iMax,jMin,jMax,K,       I           bi,bj, iMin,iMax,jMin,jMax,
12       O        KappaRU,KappaRV,       O           kappaRU, kappaRV,
13       I        myThid)       I           myThid )
14    
15  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
16  C     *==========================================================*  C     *==========================================================*
17  C     | SUBROUTINE CALC_VISCOSITY                                  C     | SUBROUTINE CALC_VISCOSITY
18  C     | o Calculate net vertical viscosity                          C     | o Calculate net vertical viscosity
19  C     *==========================================================*  C     *==========================================================*
20  C     \ev  C     \ev
21    
# Line 30  C     == GLobal variables == Line 30  C     == GLobal variables ==
30    
31  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
32  C     == Routine arguments ==  C     == Routine arguments ==
33  C     bi, bj, iMin, iMax, jMin, jMax - Range of points for which calculation  C     iMin,iMax,jMin,jMax :: Range of points for which calculation
34  C     myThid - Instance number for this innvocation of CALC_COMMON_FACTORS  C     bi,bj   :: current tile indices
35  C     KappaRU :: Total vertical viscosity for zonal flow.  C     kappaRU :: Total vertical viscosity for zonal flow.
36  C     KappaRV :: Total vertical viscosity for meridional flow.  C     kappaRV :: Total vertical viscosity for meridional flow.
37        INTEGER bi,bj,iMin,iMax,jMin,jMax,K  C     myThid  :: my Thread Id number
38        _RL KappaRU(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        INTEGER iMin,iMax,jMin,jMax
39        _RL KappaRV(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        INTEGER bi,bj
40          _RL kappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
41          _RL kappaRV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1)
42        INTEGER myThid        INTEGER myThid
43    
44  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
45  C     == Local variables ==  C     == Local variables ==
46  C     I, J, K - Loop counters  C     i, j, k :: Loop counters
47        INTEGER i,j        INTEGER i,j,k
48          INTEGER ki
49  CEOP  CEOP
50    
51        DO j = 1-Oly, sNy+Oly        DO k = 1,Nr+1
52         DO i = 1-Olx, sNx+Olx         ki = MIN(k,Nr)
         KappaRU(i,j,k) = viscAr  
        ENDDO  
       ENDDO  
53    
54        DO j = 1-Oly, sNy+Oly         DO j = 1-OLy, sNy+OLy
55         DO i = 1-Olx, sNx+Olx          DO i = 1-OLx, sNx+OLx
56          KappaRV(i,j,k) = viscAr           kappaRU(i,j,k) = viscArNr(ki)
57             kappaRV(i,j,k) = viscArNr(ki)
58            ENDDO
59         ENDDO         ENDDO
       ENDDO  
60    
61  #ifdef ALLOW_KPP  #ifdef ALLOW_KPP
62        IF (useKPP) CALL KPP_CALC_VISC(         IF ( useKPP .AND. k.LE.Nr ) THEN
63       I        bi,bj,iMin+1,iMax,jMin+1,jMax,K,           CALL KPP_CALC_VISC(
64       O        KappaRU,KappaRV,       I        bi,bj, iMin,iMax,jMin,jMax, k,
65         O        kappaRU, kappaRV,
66         I        myThid)
67           ENDIF
68    #endif
69    
70    #ifdef ALLOW_PP81
71           IF ( usePP81 .AND. k.LE.Nr ) THEN
72             CALL PP81_CALC_VISC(
73         I        bi,bj, iMin,iMax,jMin,jMax, k,
74         O        kappaRU, kappaRV,
75         I        myThid)
76           ENDIF
77    #endif
78    
79    #ifdef ALLOW_KL10
80           IF ( useKL10 .AND. k.LE.Nr ) THEN
81             CALL KL10_CALC_VISC(
82         I        bi,bj, iMin,iMax,jMin,jMax, k,
83         O        kappaRU, kappaRV,
84       I        myThid)       I        myThid)
85           ENDIF
86  #endif  #endif
87    
88    #ifdef ALLOW_MY82
89           IF ( useMY82 .AND. k.LE.Nr ) THEN
90             CALL MY82_CALC_VISC(
91         I        bi,bj, iMin,iMax,jMin,jMax, k,
92         O        kappaRU, kappaRV,
93         I        myThid)
94           ENDIF
95    #endif
96    
97    #ifdef ALLOW_GGL90
98           IF ( useGGL90 .AND. k.LE.Nr ) THEN
99             CALL GGL90_CALC_VISC(
100         I        bi,bj, iMin,iMax,jMin,jMax, k,
101         O        kappaRU, kappaRV,
102         I        myThid)
103           ENDIF
104    #endif
105    
106           IF ( k.EQ.Nr+1 .AND.
107         &     ( usePP81 .OR. useKL10 .OR. useMY82 .OR. useGGL90 )
108         &    ) THEN
109            DO j = 1-OLy, sNy+OLy
110             DO i = 1-OLx, sNx+OLx
111              kappaRU(i,j,k) = kappaRU(i,j,ki)
112              kappaRV(i,j,k) = kappaRV(i,j,ki)
113             ENDDO
114            ENDDO
115           ENDIF
116    
117    C--   end of k loop
118          ENDDO
119    
120        RETURN        RETURN
121        END        END

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

  ViewVC Help
Powered by ViewVC 1.1.22