/[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.10 - (show annotations) (download)
Wed Sep 25 19:36:50 2002 UTC (21 years, 8 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint46l_post, checkpoint46l_pre, checkpoint46j_pre, checkpoint46j_post, checkpoint46k_post, checkpoint46m_post, checkpoint46i_post, checkpoint46h_post
Changes since 1.9: +2 -2 lines
o cleaned up the use of rhoNil and rhoConst.
  - rhoNil should only appear in the LINEAR equation of state, everywhere
    else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst
    and the dynamical equations are all divided by rhoConst
o introduced new parameter rhoConstFresh, a reference density of fresh
  water, to remove the fresh water flux's dependence on rhoNil. The default
  value is 999.8 kg/m^3
o cleanup up external_forcing.F and external_forcing_surf.F
  - can now be used by both OCEANIC and OCEANICP

1 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_transport_t.F,v 1.9 2002/07/13 03:12:30 heimbach 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 C == Routine arguments ==
40 C iMin,iMax,jMin, - Range of points for which calculation
41 C jMax,bi,bj,k,km1 results will be set.
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 _RL KappaRT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
46 _RL df (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
47
48 #if defined(ALLOW_KPP) && defined(KPP_GHAT)
49
50 C == Local variables ==
51 C I, J - Loop counters
52 INTEGER I, J
53
54 DO j=jMin,jMax
55 DO i=iMin,iMax
56 df(i,j) = df(i,j) - _rA(i,j,bi,bj) *
57 & KappaRT(i,j,k) * KPPghat(i,j,km1,bi,bj) * drF(1) *
58 & ( SurfaceTendencyT(i,j,bi,bj) -
59 & Qsw(i,j,bi,bj)
60 & *recip_Cp*recip_rhoConst*recip_dRf(1)
61 & * (1.-KPPfrac(i,j,bi,bj))
62 & )
63 ENDDO
64 ENDDO
65
66 #endif /* ALLOW_KPP and KPP_GHAT */
67
68 RETURN
69 END

  ViewVC Help
Powered by ViewVC 1.1.22