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

Annotation of /MITgcm/pkg/kpp/kpp_transport_s.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Tue Sep 12 18:14:32 2000 UTC (23 years, 8 months ago) by heimbach
Branch: MAIN
Changes since 1.1: +9 -12 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 heimbach 1.2 C $Header: /escher1/cvs/master/mitgcmuv/pkg/kpp/kpp_transport_s.F,v 1.5 2000/09/08 22:43:08 dimitri Exp $
2 adcroft 1.1
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 heimbach 1.2 #if defined(ALLOW_KPP) && defined(KPP_GHAT)
46 adcroft 1.1
47     C == Local variables ==
48     C I, J - Loop counters
49     INTEGER I, J
50    
51 heimbach 1.2 DO j=jMin,jMax
52     DO i=iMin,iMax
53     df(i,j) = df(i,j) - _rA(i,j,bi,bj) * maskC(i,j) *
54     & KappaRS(i,j,k) * KPPghat(i,j,km1,bi,bj) * delZ(1) *
55     & SurfaceTendencyS(i,j,bi,bj)
56 adcroft 1.1 ENDDO
57 heimbach 1.2 ENDDO
58 adcroft 1.1
59 heimbach 1.2 #endif /* ALLOW_KPP and KPP_GHAT */
60 adcroft 1.1
61     RETURN
62     END

  ViewVC Help
Powered by ViewVC 1.1.22