/[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.1 by heimbach, Mon Aug 13 18:05:26 2001 UTC revision 1.9 by jmc, Thu Oct 8 20:03:18 2009 UTC
# Line 1  Line 1 
1    C $Header$
2    C $Name$
3    
4    #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
6    
7  CStartOfInterFace  CBOP
8        SUBROUTINE CALC_VISCOSITY(  C     !ROUTINE: CALC_VISCOSITY
9       I        bi,bj,iMin,iMax,jMin,jMax,K,  C     !INTERFACE:
10       I        maskUp,        SUBROUTINE CALC_VISCOSITY(
11       O        KappaRU,KappaRV,       I           bi,bj, iMin,iMax,jMin,jMax,
12       I        myThid)       O           KappaRU, KappaRV,
13         I           myThid )
14    
15    C     !DESCRIPTION: \bv
16    C     *==========================================================*
17    C     | SUBROUTINE CALC_VISCOSITY
18    C     | o Calculate net vertical viscosity
19    C     *==========================================================*
20    C     \ev
21    
22  C     /==========================================================\  C     !USES:
 C     | SUBROUTINE CALC_VISCOSITY                                |  
 C     | o Calculate net viscosity                                |  
 C     \==========================================================/  
23        IMPLICIT NONE        IMPLICIT NONE
   
24  C     == GLobal variables ==  C     == GLobal variables ==
25  #include "SIZE.h"  #include "SIZE.h"
26  #include "EEPARAMS.h"  #include "EEPARAMS.h"
# Line 21  C     == GLobal variables == Line 28  C     == GLobal variables ==
28  #include "DYNVARS.h"  #include "DYNVARS.h"
29  #include "GRID.h"  #include "GRID.h"
30    
31    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     maskUp  - land/water mask for Wvel points (above tracer level)  C     bi,bj   :: current tile indices
35  C     myThid - Instance number for this innvocation of CALC_COMMON_FACTORS  C     KappaRU :: Total vertical viscosity for zonal flow.
36  C  C     KappaRV :: Total vertical viscosity for meridional flow.
37        INTEGER bi,bj,iMin,iMax,jMin,jMax,K  C     myThid  :: my Thread Id number
38        _RS maskUp(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        INTEGER iMin,iMax,jMin,jMax
39          INTEGER bi,bj
40        _RL KappaRU(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        _RL KappaRU(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
41        _RL KappaRV(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        _RL KappaRV(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
42        INTEGER myThid        INTEGER myThid
 CEndOfInterface  
43    
44    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    CEOP
49        DO j=jMin,jMax  
50         DO i=iMin,iMax        DO k = 1,Nr
51          KappaRU(i,j,k) = viscAr  
52           DO j = 1-Oly, sNy+Oly
53            DO i = 1-Olx, sNx+Olx
54             KappaRU(i,j,k) = viscArNr(k)
55             KappaRV(i,j,k) = viscArNr(k)
56            ENDDO
57         ENDDO         ENDDO
       ENDDO  
   
       DO j=jMin,jMax  
        DO i=iMin,iMax  
         KappaRV(i,j,k) = viscAr  
        ENDDO  
       ENDDO  
58    
59  #ifdef ALLOW_KPP  #ifdef ALLOW_KPP
60        IF (useKPP) CALL KPP_CALC_VISC(         IF (useKPP) CALL KPP_CALC_VISC(
61       I        bi,bj,iMin+1,iMax,jMin+1,jMax,K,       I        bi,bj, iMin,iMax,jMin,jMax, k,
      I        maskUp,  
62       O        KappaRU,KappaRV,       O        KappaRU,KappaRV,
63       I        myThid)       I        myThid)
64  #endif  #endif
65    
66    #ifdef ALLOW_PP81
67           IF (usePP81) CALL PP81_CALC_VISC(
68         I        bi,bj, iMin,iMax,jMin,jMax, k,
69         O        KappaRU,KappaRV,
70         I        myThid)
71    #endif
72    
73    #ifdef ALLOW_MY82
74           IF (useMY82) CALL MY82_CALC_VISC(
75         I        bi,bj, iMin,iMax,jMin,jMax, k,
76         O        KappaRU,KappaRV,
77         I        myThid)
78    #endif
79    
80    #ifdef ALLOW_GGL90
81           IF (useGGL90) CALL GGL90_CALC_VISC(
82         I        bi,bj, iMin,iMax,jMin,jMax, k,
83         O        KappaRU,KappaRV,
84         I        myThid)
85    #endif
86    
87    C--   end of k loop
88          ENDDO
89    
90        RETURN        RETURN
91        END        END

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22