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

Contents of /MITgcm/pkg/kpp/kpp_init_varia.F

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


Revision 1.1 - (show annotations) (download)
Wed Jun 17 14:32:01 2009 UTC (14 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint61v, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61q
rename kpp_init.F --> kpp_init_varia.F and inline kpp_open_diags.F (removed)

1 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_init.F,v 1.19 2008/11/14 21:34:48 dfer Exp $
2 C $Name: $
3
4 #include "KPP_OPTIONS.h"
5 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
6 CBOP 0
7 C !ROUTINE: KPP_INIT_VARIA
8
9 C !INTERFACE:
10 SUBROUTINE KPP_INIT_VARIA( myThid )
11
12 C !DESCRIPTION:
13 C Routine to initialize KPP parameters and variables.
14
15 C !USES:
16 IMPLICIT NONE
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20 #include "GRID.h"
21 #include "GAD.h"
22 #include "KPP.h"
23 #include "KPP_PARAMS.h"
24 #include "KPP_TAVE.h"
25
26 C !INPUT PARAMETERS:
27 INTEGER myThid
28 CEOP
29
30 #ifdef ALLOW_KPP
31 C !LOCAL VARIABLES:
32 C i,j,k,bi,bj - Loop counters
33 INTEGER i, j, k, bi, bj
34
35 C-----------------------------------------------------------------------
36 C calculate mask pMask for pressure/tracer cells
37 C (0 => land, 1 => water)
38 C compute maximum number of wet levels in each column
39 C-----------------------------------------------------------------------
40
41 DO bj = myByLo(myThid), myByHi(myThid)
42 DO bi = myBxLo(myThid), myBxHi(myThid)
43
44 DO j = 1-OLy, sNy+OLy
45 DO i = 1-OLx, sNx+OLx
46 nzmax(i,j,bi,bj) = kLowC(I,J,bi,bj)
47 CML DO k = 1, Nr
48 CMLc IF (_hFacC(i,j,k,bi,bj).EQ.0.) THEN
49 CMLc pMask (i,j,k,bi,bj) = 0.
50 CMLc ELSE
51 CMLc pMask (i,j,k,bi,bj) = 1.
52 CMLc ENDIF
53 CML nzmax(i,j,bi,bj) = nzmax(i,j,bi,bj)
54 CML & + INT(maskC(i,j,k,bi,bj))
55 CMLc & + INT(pMask(i,j,k,bi,bj))
56 CML ENDDO
57 ENDDO
58 ENDDO
59
60 C-----------------------------------------------------------------------
61 C Initialize KPP variables KPPhbl, KPPghat, KPPviscAz,
62 C KPPdiffKzT, and KPPdiffKzS
63 C-----------------------------------------------------------------------
64
65 DO j = 1-OLy, sNy+OLy
66 DO i = 1-OLx, sNx+OLx
67 KPPhbl(i,j,bi,bj) = 0.
68 ENDDO
69 ENDDO
70 DO k = 1, Nr
71 DO j = 1-OLy, sNy+OLy
72 DO i = 1-OLx, sNx+OLx
73 KPPghat (i,j,k,bi,bj) = 0.
74 KPPviscAz (i,j,k,bi,bj) = viscAr
75 KPPdiffKzS (i,j,k,bi,bj) = 0.
76 KPPdiffKzT (i,j,k,bi,bj) = 0.
77 ENDDO
78 ENDDO
79 ENDDO
80
81 cph Not needed here. Do this in kpp_calc.
82 cph CALL CALC_3D_DIFFUSIVITY(
83 cph I bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy,
84 cph I GAD_SALINITY, .FALSE., .FALSE.,
85 cph O KPPdiffKzS(1-Olx,1-Oly,1,bi,bj),
86 cph I myThid)
87 cph CALL CALC_3D_DIFFUSIVITY(
88 cph I bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy,
89 cph I GAD_TEMPERATURE, .FALSE., .FALSE.,
90 cph O KPPdiffKzT(1-Olx,1-Oly,1,bi,bj),
91 cph I myThid)
92
93 ENDDO
94 ENDDO
95
96 C Initialize record numbers in KPP_TAVE
97 _BEGIN_MASTER( myThid )
98 kpp_drctrec=1
99 #ifdef ALLOW_TIMEAVE
100 kpp_drctrecTave=1
101 #endif
102 _END_MASTER( myThid )
103 _BARRIER
104
105 #endif /* ALLOW_KPP */
106
107 RETURN
108 END

  ViewVC Help
Powered by ViewVC 1.1.22