/[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.2 - (show annotations) (download)
Tue Sep 12 18:14:32 2000 UTC (23 years, 9 months ago) by heimbach
Branch: MAIN
Changes since 1.1: +12 -15 lines
Updated version by D. Menemenlis.
Takes new unit and sign conventions for forcing fields into account.
Includes changes of Ralf in ecco_c30_05.09.
Yet to be fully tested.

1 C $Header: /escher1/cvs/master/mitgcmuv/pkg/kpp/kpp_transport_t.F,v 1.5 2000/09/08 22:43:08 dimitri Exp $
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: [SurfaceTendencyT + 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 #if defined(ALLOW_KPP) && defined(KPP_GHAT)
50
51 C == Local variables ==
52 C I, J - Loop counters
53 INTEGER I, J
54
55 DO j=jMin,jMax
56 DO i=iMin,iMax
57 df(i,j) = df(i,j) - _rA(i,j,bi,bj) * maskC(i,j) *
58 & KappaRT(i,j,k) * KPPghat(i,j,km1,bi,bj) * delZ(1) *
59 & ( SurfaceTendencyT(i,j,bi,bj) +
60 & Qsw(i,j,bi,bj) * (1.-KPPfrac(i,j,bi,bj))
61 & )
62 ENDDO
63 ENDDO
64
65 #endif /* ALLOW_KPP and KPP_GHAT */
66
67 RETURN
68 END

  ViewVC Help
Powered by ViewVC 1.1.22