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

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

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


Revision 1.1 - (hide annotations) (download)
Wed Jun 17 14:32:01 2009 UTC (14 years, 11 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 jmc 1.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