/[MITgcm]/MITgcm/pkg/kpp/kpp_calc_diff.F
ViewVC logotype

Contents of /MITgcm/pkg/kpp/kpp_calc_diff.F

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


Revision 1.1 - (show annotations) (download)
Wed Jun 21 19:45:50 2000 UTC (23 years, 11 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint29
Packaged KPP mixing scheme.

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/calc_diffusivity.F,v 1.9 1999/08/26 17:47:37 adcroft Exp $
2
3 #include "KPP_OPTIONS.h"
4
5 SUBROUTINE KPP_CALC_DIFF(
6 I bi,bj,iMin,iMax,jMin,jMax,K,
7 I maskUp,
8 O KappaRT,KappaRS,KappaRU,KappaRV,
9 I myThid)
10
11 C /==========================================================\
12 C | SUBROUTINE KPP_CALC_DIFF |
13 C | o Add contrubution to net diffusivity from KPP mixing |
14 C \==========================================================/
15 IMPLICIT NONE
16
17 C == GLobal variables ==
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "GRID.h"
22
23 C == Routine arguments ==
24 C bi, bj, iMin, iMax, jMin, jMax - Range of points for which calculation
25 C maskUp - land/water mask for Wvel points (above tracer level)
26 C myThid - Instance number for this innvocation of CALC_COMMON_FACTORS
27 C
28 INTEGER bi,bj,iMin,iMax,jMin,jMax,K
29 _RS maskUp(1-Olx:sNx+Olx,1-Oly:sNy+Oly)
30 _RL KappaRT(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
31 _RL KappaRS(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
32 _RL KappaRU(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
33 _RL KappaRV(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)
34 INTEGER myThid
35
36 #ifdef ALLOW_KPP
37 #include "KPP.h"
38
39 C == Local variables ==
40 C I, J, K - Loop counters
41 INTEGER i,j
42
43 DO j=jMin,jMax
44 DO i=iMin,iMax
45 KappaRT(i,j,k) = KappaRT(i,j,k)+maskUp(i,j)*
46 & (KPPdiffKzT(i,j,k,bi,bj)-diffKrT)
47 ENDDO
48 ENDDO
49
50 DO j=jMin,jMax
51 DO i=iMin,iMax
52 KappaRS(i,j,k) = KappaRS(i,j,k)+maskUp(i,j)*
53 & (KPPdiffKzS(i,j,k,bi,bj)-diffKrT)
54 ENDDO
55 ENDDO
56
57 DO j=jMin,jMax
58 DO i=iMin,iMax
59 KappaRU(i,j,k) = KappaRU(i,j,k)
60 & + 0.5*( KPPviscAz(i,j,k,bi,bj)+KPPviscAz(i-1,j,k,bi,bj) )
61 ENDDO
62 ENDDO
63
64 DO j=jMin,jMax
65 DO i=iMin,iMax
66 KappaRV(i,j,k) = KappaRV(i,j,k)
67 & + 0.5*( KPPviscAz(i,j,k,bi,bj)+KPPviscAz(i,j-1,k,bi,bj) )
68 ENDDO
69 ENDDO
70
71
72 #endif /* ALLOW_KPP */
73
74 RETURN
75 END

  ViewVC Help
Powered by ViewVC 1.1.22