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

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

  ViewVC Help
Powered by ViewVC 1.1.22