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

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

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


Revision 1.3 - (show annotations) (download)
Wed Jul 8 21:57:51 2009 UTC (14 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62d, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.2: +66 -3 lines
move MNC calls from _readparms.F to _init_fixed.F (called after ini_model_io)

1 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_init_fixed.F,v 1.2 2008/11/14 21:34:48 dfer Exp $
2 C $Name: $
3
4 #include "KPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: KPP_INIT_FIXED
8 C !INTERFACE:
9 SUBROUTINE KPP_INIT_FIXED( myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE KPP_INIT_FIXED
14 C | o Routine to initialize GM/Redi variables
15 C | that are kept fixed during the run.
16 C *==========================================================*
17 C \ev
18 C !USES:
19 IMPLICIT NONE
20
21 C === Global variables ===
22 #include "EEPARAMS.h"
23 #include "SIZE.h"
24 #include "PARAMS.h"
25 #include "GRID.h"
26 #include "KPP_PARAMS.h"
27
28 C !INPUT/OUTPUT PARAMETERS:
29 C === Routine arguments ===
30 C myThid :: my Thread Id number
31 INTEGER myThid
32 CEOP
33
34 C !LOCAL VARIABLES:
35 C === Local variables ===
36 C i,j,k,bi,bj - Loop counters
37 C zehat - zeta * ustar**3
38 C zeta - Stability parameter d/l
39 INTEGER i, j, k
40 _RL zehat
41 _RL zeta
42 _RL usta
43 _RL p25, p33
44
45 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
46 C-- Note: this should go in a separated S/R: KPP_MNC_INIT
47 #ifdef ALLOW_MNC
48 IF (useMNC) THEN
49 C Define grid types for KPP variables
50 CALL MNC_CW_ADD_VNAME('KPPviscAz', 'Cen_xy_Hn__C__t',
51 & 4,5, myThid)
52 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','units','m^2/s',
53 & myThid)
54 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','long_name',
55 & 'KPP_vertical_eddy_viscosity_coefficient', myThid)
56 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz',
57 & 'coordinates','XC YC RC iter', myThid)
58
59 CALL MNC_CW_ADD_VNAME('KPPdiffKzS', 'Cen_xy_Hn__C__t',
60 & 4,5, myThid)
61 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','units','m^2/s',
62 & myThid)
63 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','long_name',
64 & 'KPP_salt-tracer_vertical_diffusion_coefficient',
65 & myThid)
66 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS',
67 & 'coordinates','XC YC RC iter', myThid)
68
69 CALL MNC_CW_ADD_VNAME('KPPdiffKzT', 'Cen_xy_Hn__C__t',
70 & 4,5, myThid)
71 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','units','m^2/s',
72 & myThid)
73 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','long_name',
74 & 'KPP_vertical_heat_diffusion_coefficient', myThid)
75 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT',
76 & 'coordinates','XC YC RC iter', myThid)
77
78 CALL MNC_CW_ADD_VNAME('KPPGHAT', 'Cen_xy_Hn__C__t',
79 & 4,5, myThid)
80 CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT','units','s/m^2',
81 & myThid)
82 CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT','long_name',
83 & 'KPP_nonlocal_transport_coefficient', myThid)
84 CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT',
85 & 'coordinates','XC YC RC iter', myThid)
86
87 CALL MNC_CW_ADD_VNAME('KPPHBL', 'Cen_xy_Hn__-__t',
88 & 3,4, myThid)
89 CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL','units','m',
90 & myThid)
91 CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL','long_name',
92 & 'KPP_boundary_layer_depth', myThid)
93 CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL',
94 & 'coordinates','XC YC iter', myThid)
95
96 CALL MNC_CW_ADD_VNAME('KPPFRAC', 'Cen_xy_Hn__-__t',
97 & 3,4, myThid)
98 CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC','units','dimless',
99 & myThid)
100 CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC','long_name',
101 & 'KPP_short-wave_fraction_penetrating_mixing_layer',
102 & myThid)
103 CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC',
104 & 'coordinates','XC YC iter', myThid)
105 ENDIF
106 #endif /* ALLOW_MNC */
107 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
108
109 _BEGIN_MASTER(myThid)
110
111 p25 = 0.25 _d 0
112 p33 = 1. _d 0 / 3. _d 0
113
114 C-----------------------------------------------------------------------
115 C Initialize constants that depend on parameters in data.kpp
116 C-----------------------------------------------------------------------
117
118 Vtc = concv * SQRT(0.2 _d 0 /concs/epsilon) / vonk**2 / Ricr
119 cg = cstar * vonk * (concs * vonk * epsilon)**p33
120
121 c-----------------------------------------------------------------------
122 c construct the wm and ws lookup tables
123 c-----------------------------------------------------------------------
124
125 deltaz = (zmax - zmin)/(nni + 1)
126 deltau = (umax - umin)/(nnj + 1)
127
128 DO i = 0, nni + 1
129 zehat = deltaz*i + zmin
130 DO j = 0, nnj + 1
131 usta = deltau*j + umin
132 zeta = zehat / max(phepsi,usta**3)
133 IF (zehat .GE. 0.) THEN
134 wmt(i,j) = vonk*usta/(1. + conc1*zeta)
135 wst(i,j) = wmt(i,j)
136 ELSE
137 IF (zeta .GT. zetam) THEN
138 wmt(i,j) = vonk*usta*(1. - conc2*zeta)**p25
139 ELSE
140 wmt(i,j) = vonk*(conam*usta**3 - concm*zehat)**p33
141 ENDIF
142 IF (zeta .GT. zetas) THEN
143 wst(i,j) = vonk*usta*SQRT(1. _d 0 - conc3*zeta)
144 ELSE
145 wst(i,j) = vonk*(conas*usta**3 - concs*zehat)**p33
146 ENDIF
147 ENDIF
148 ENDDO
149 ENDDO
150
151 C-----------------------------------------------------------------------
152 C vertical grid
153 C-----------------------------------------------------------------------
154
155 IF (minKPPhbl .EQ. UNSET_RL) THEN
156 minKPPhbl = -rC(1)
157 ENDIF
158 zgrid(0) = phepsi
159 hwide(0) = phepsi
160 c zgrid(1) = -drF(1)*0.5
161 c hwide(1) = drF(1)
162 c DO k = 2, Nr
163 c zgrid(k) = zgrid(k-1) - (drF(k-1)+drF(k))*0.5
164 c hwide(k) = drF(k)
165 c ENDDO
166 C- jmc : use the model vertical grid :
167 DO k = 1, Nr
168 zgrid(k) = rC(k)
169 hwide(k) = drF(k)
170 ENDDO
171
172 zgrid(Nrp1) = zgrid(Nr) * 100.
173
174 hwide(Nrp1) = phepsi
175
176 _END_MASTER(myThid)
177 _BARRIER
178
179 #ifdef ALLOW_DIAGNOSTICS
180 IF ( useDiagnostics ) THEN
181 CALL KPP_DIAGNOSTICS_INIT( myThid )
182 ENDIF
183 #endif
184
185 RETURN
186 END

  ViewVC Help
Powered by ViewVC 1.1.22