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

Contents of /MITgcm/pkg/kpp/kpp_transport_s.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:55 2000 UTC (23 years, 11 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint29, checkpoint30
Packaged KPP mixing scheme.

1 C $Header: $
2
3 #include "KPP_OPTIONS.h"
4
5 subroutine KPP_TRANSPORT_S (
6 I iMin,iMax,jMin,jMax,bi,bj,k,km1,
7 I maskC,KappaRS,
8 U df )
9 C /==========================================================\
10 C | o SUBROUTINE KPP_TRANSPORT_S |
11 C | Add non local KPP transport term (ghat) to diffusive |
12 C | salinity flux. |
13 C |==========================================================|
14 C | The nonlocal transport term is nonzero only for scalars |
15 C | in unstable (convective) forcing conditions. |
16 C | Note: KappaRS(i,j,k) is defined at the top of grid cell |
17 C | k while KPPghat(i,j,k,bi,bj) is defined at the |
18 C | bottom of grid cell k. |
19 C | For K=1, KappaRS(i,j,k) = 0 which insures no flux |
20 C | through the surface. |
21 C \==========================================================/
22 IMPLICIT NONE
23
24 C == GLobal variables ==
25 #include "SIZE.h"
26 #include "DYNVARS.h"
27 #include "EEPARAMS.h"
28 #include "PARAMS.h"
29 #include "GRID.h"
30 #include "FFIELDS.h"
31 #include "KPP.h"
32 #include "KPP_PARAMS.h"
33
34 C == Routine arguments ==
35 C iMin,iMax,jMin, - Range of points for which calculation
36 C jMax,bi,bj,k,km1 results will be set.
37 C maskC - Land mask for salt cells.
38 C KappaRS - Total diffusion in vertical for S.
39 C df - Diffusive flux component work array.
40 INTEGER iMin,iMax,jMin,jMax,bi,bj,k,km1
41 _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42 _RL KappaRS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
43 _RL df (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44
45 #ifdef ALLOW_KPP
46
47 C == Local variables ==
48 C I, J - Loop counters
49 INTEGER I, J
50
51 IF (use_KPPmixing) THEN
52
53 DO j=jMin,jMax
54 DO i=iMin,iMax
55 df(i,j) = df(i,j) - _rA(i,j,bi,bj) * maskC(i,j) *
56 & KappaRS(i,j,k) * KPPghat(i,j,km1,bi,bj) * delZ(1) *
57 & EmPmR(i,j,bi,bj)
58 ENDDO
59 ENDDO
60 ENDIF
61
62 #endif /* ALLOW_KPP */
63
64 RETURN
65 END

  ViewVC Help
Powered by ViewVC 1.1.22