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

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

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


Revision 1.10 - (hide annotations) (download)
Wed Jul 30 03:31:35 2014 UTC (9 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65h, checkpoint65b, checkpoint65c, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e
Changes since 1.9: +12 -5 lines
-  add new pkg "kl10" for mixing due to internal wave breaking
  ( http://www.sciencedirect.com/science/article/pii/S1463500310000144 )

1 jmc 1.10 C $Header: /u/gcmpack/MITgcm/model/src/calc_viscosity.F,v 1.9 2009/10/08 20:03:18 jmc Exp $
2 heimbach 1.4 C $Name: $
3 heimbach 1.1
4 edhill 1.5 #include "PACKAGES_CONFIG.h"
5 heimbach 1.1 #include "CPP_OPTIONS.h"
6    
7 cnh 1.3 CBOP
8     C !ROUTINE: CALC_VISCOSITY
9     C !INTERFACE:
10 jmc 1.8 SUBROUTINE CALC_VISCOSITY(
11     I bi,bj, iMin,iMax,jMin,jMax,
12     O KappaRU, KappaRV,
13     I myThid )
14 heimbach 1.1
15 cnh 1.3 C !DESCRIPTION: \bv
16     C *==========================================================*
17 jmc 1.8 C | SUBROUTINE CALC_VISCOSITY
18     C | o Calculate net vertical viscosity
19 cnh 1.3 C *==========================================================*
20     C \ev
21    
22     C !USES:
23 heimbach 1.1 IMPLICIT NONE
24     C == GLobal variables ==
25     #include "SIZE.h"
26     #include "EEPARAMS.h"
27     #include "PARAMS.h"
28     #include "DYNVARS.h"
29     #include "GRID.h"
30    
31 cnh 1.3 C !INPUT/OUTPUT PARAMETERS:
32 heimbach 1.1 C == Routine arguments ==
33 jmc 1.8 C iMin,iMax,jMin,jMax :: Range of points for which calculation
34     C bi,bj :: current tile indices
35 cnh 1.3 C KappaRU :: Total vertical viscosity for zonal flow.
36     C KappaRV :: Total vertical viscosity for meridional flow.
37 jmc 1.8 C myThid :: my Thread Id number
38     INTEGER iMin,iMax,jMin,jMax
39     INTEGER bi,bj
40 jmc 1.10 _RL KappaRU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
41     _RL KappaRV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
42 heimbach 1.1 INTEGER myThid
43    
44 cnh 1.3 C !LOCAL VARIABLES:
45 heimbach 1.1 C == Local variables ==
46 jmc 1.8 C i, j, k :: Loop counters
47     INTEGER i,j,k
48 cnh 1.3 CEOP
49 heimbach 1.1
50 jmc 1.8 DO k = 1,Nr
51 heimbach 1.1
52 jmc 1.10 DO j = 1-OLy, sNy+OLy
53     DO i = 1-OLx, sNx+OLx
54 jmc 1.9 KappaRU(i,j,k) = viscArNr(k)
55     KappaRV(i,j,k) = viscArNr(k)
56 jmc 1.8 ENDDO
57 heimbach 1.1 ENDDO
58    
59     #ifdef ALLOW_KPP
60 jmc 1.8 IF (useKPP) CALL KPP_CALC_VISC(
61     I bi,bj, iMin,iMax,jMin,jMax, k,
62 heimbach 1.1 O KappaRU,KappaRV,
63     I myThid)
64     #endif
65    
66 mlosch 1.6 #ifdef ALLOW_PP81
67 jmc 1.8 IF (usePP81) CALL PP81_CALC_VISC(
68     I bi,bj, iMin,iMax,jMin,jMax, k,
69 mlosch 1.6 O KappaRU,KappaRV,
70     I myThid)
71     #endif
72    
73 jmc 1.10 #ifdef ALLOW_KL10
74     IF (useKL10) CALL KL10_CALC_VISC(
75     I bi,bj, iMin,iMax,jMin,jMax, k,
76     O KappaRU,KappaRV,
77     I myThid)
78     #endif
79    
80 mlosch 1.6 #ifdef ALLOW_MY82
81 jmc 1.8 IF (useMY82) CALL MY82_CALC_VISC(
82     I bi,bj, iMin,iMax,jMin,jMax, k,
83 mlosch 1.6 O KappaRU,KappaRV,
84     I myThid)
85     #endif
86    
87 mlosch 1.7 #ifdef ALLOW_GGL90
88 jmc 1.8 IF (useGGL90) CALL GGL90_CALC_VISC(
89     I bi,bj, iMin,iMax,jMin,jMax, k,
90 mlosch 1.7 O KappaRU,KappaRV,
91     I myThid)
92     #endif
93    
94 jmc 1.8 C-- end of k loop
95     ENDDO
96 heimbach 1.1
97     RETURN
98     END

  ViewVC Help
Powered by ViewVC 1.1.22