/[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.14 - (show annotations) (download)
Fri Oct 24 05:29:36 2003 UTC (20 years, 6 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint51o_pre, checkpoint52, checkpoint51t_post, checkpoint51s_post, checkpoint51q_post, checkpoint51r_post, checkpoint52a_pre, checkpoint51o_post, ecco_c52_e35, checkpoint51p_post, checkpoint51u_post
Branch point for: branch-nonh
Changes since 1.13: +28 -10 lines
 o undid all of the cp51 checkin pending some ongoing code cleanups
   and discussion

1 C $Header: /u/u3/gcmpack/MITgcm/pkg/kpp/kpp_transport_t.F,v 1.12 2003/02/18 05:33:55 dimitri Exp $
2 C $Name: $
3
4 #include "KPP_OPTIONS.h"
5
6 subroutine KPP_TRANSPORT_T (
7 I iMin,iMax,jMin,jMax,bi,bj,k,km1,
8 I KappaRT,
9 U df )
10 C /==========================================================\
11 C | o SUBROUTINE KPP_TRANSPORT_T |
12 C | Add non local KPP transport term (ghat) to diffusive |
13 C | temperature flux. |
14 C |==========================================================|
15 C | The nonlocal transport term is nonzero only for scalars |
16 C | in unstable (convective) forcing conditions. |
17 C | Note: [SurfaceTendencyT + Qsw * (1-KPPfrac)] |
18 C | is the total heat flux penetrating the mixed layer |
19 C | from the surface in deg C / s referenced to the |
20 C | top layer. |
21 C | Note: KappaRT(i,j,k) is defined at the top of grid cell |
22 C | k while KPPghat(i,j,k,bi,bj) is defined at the |
23 C | bottom of grid cell k. |
24 C | For K=1, KappaRT(i,j,k) = 0 which insures no flux |
25 C | through the surface. |
26 C \==========================================================/
27 IMPLICIT NONE
28
29 C == GLobal variables ==
30 #include "SIZE.h"
31 #include "DYNVARS.h"
32 #include "EEPARAMS.h"
33 #include "PARAMS.h"
34 #include "GRID.h"
35 #include "FFIELDS.h"
36 #include "KPP.h"
37 #include "KPP_PARAMS.h"
38
39 #ifdef ALLOW_SEAICE
40 #include "SEAICE_EXTERNAL.h"
41 #endif
42
43 C == Routine arguments ==
44 C iMin,iMax,jMin, - Range of points for which calculation
45 C jMax,bi,bj,k,km1 results will be set.
46 C KappaRT - Total diffusion in vertical for T.
47 C df - Diffusive flux component work array.
48 INTEGER iMin,iMax,jMin,jMax,bi,bj,k,km1
49 _RL KappaRT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
50 _RL df (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
51
52 #if defined(ALLOW_KPP) && defined(KPP_GHAT)
53
54 C == Local variables ==
55 C I, J - Loop counters
56 INTEGER I, J
57
58 DO j=jMin,jMax
59 DO i=iMin,iMax
60 if ( .NOT. useSEAICE )
61 & df(i,j) = df(i,j) - _rA(i,j,bi,bj) *
62 & KappaRT(i,j,k) * KPPghat(i,j,km1,bi,bj) * drF(1) *
63 & ( SurfaceTendencyT(i,j,bi,bj) -
64 & Qsw(i,j,bi,bj)
65 & *recip_Cp*recip_rhoConst*recip_dRf(1)
66 & * (1.-KPPfrac(i,j,bi,bj))
67 & )
68
69 #ifdef ALLOW_SEAICE
70
71 if ( useSEAICE )
72 & df(i,j) = df(i,j) - _rA(i,j,bi,bj) *
73 & KappaRT(i,j,k) * KPPghat(i,j,km1,bi,bj) * drF(1) *
74 & ( SurfaceTendencyT(i,j,bi,bj) +
75 & SurfaceTendencyTice(i,j,bi,bj) -
76 & Qsw(i,j,bi,bj)
77 & *recip_Cp*recip_rhoConst*recip_dRf(1)
78 & * (1.-KPPfrac(i,j,bi,bj))
79 & )
80 #endif
81
82 ENDDO
83 ENDDO
84
85 #endif /* ALLOW_KPP and KPP_GHAT */
86
87 RETURN
88 END

  ViewVC Help
Powered by ViewVC 1.1.22