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

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

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


Revision 1.1 - (hide 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 adcroft 1.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