/[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.5 - (show annotations) (download)
Mon Nov 13 16:37:02 2000 UTC (23 years, 6 months ago) by heimbach
Branch: MAIN
CVS Tags: branch-atmos-merge-zonalfilt, branch-atmos-merge-shapiro, branch-atmos-merge-phase4, branch-atmos-merge-phase3, branch-atmos-merge-phase2, branch-atmos-merge-phase7, branch-atmos-merge-phase1, branch-atmos-merge-phase6, branch-atmos-merge-start, checkpoint33, checkpoint32, branch-atmos-merge-freeze, branch-atmos-merge-phase5
Branch point for: branch-atmos-merge
Changes since 1.4: +0 -0 lines
Modified and fixed version. Tested with verification/natl_box.

1 C $Header: /escher1/cvs/master/mitgcmuv/pkg/kpp/kpp_calc_diff.F,v 1.5 2000/06/23 03:39:50 dimitri 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)-diffKrS)
54 ENDDO
55 ENDDO
56
57 DO j=jMin,jMax
58 DO i=iMin,iMax
59 KappaRU(i,j,k) = max ( KappaRU(i,j,k),
60 & KappaRU(i,j,k) - viscAr + _maskW(i,j,k,bi,bj) *
61 & 0.5*(KPPviscAz(i,j,k,bi,bj)+KPPviscAz(i-1,j,k,bi,bj)) )
62 ENDDO
63 ENDDO
64
65 DO j=jMin,jMax
66 DO i=iMin,iMax
67 KappaRV(i,j,k) = max ( KappaRV(i,j,k),
68 & KappaRV(i,j,k) - viscAr + _maskS(i,j,k,bi,bj) *
69 & 0.5*(KPPviscAz(i,j,k,bi,bj)+KPPviscAz(i,j-1,k,bi,bj)) )
70 ENDDO
71 ENDDO
72
73 #endif /* ALLOW_KPP */
74
75 RETURN
76 END

  ViewVC Help
Powered by ViewVC 1.1.22