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

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

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


Revision 1.17 - (show annotations) (download)
Thu Oct 30 18:51:36 2008 UTC (15 years, 7 months ago) by dfer
Branch: MAIN
Changes since 1.16: +1 -10 lines
Removing KPPmld diagnostic

1 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_readparms.F,v 1.16 2007/10/19 19:11:17 jmc Exp $
2 C $Name: $
3 #include "KPP_OPTIONS.h"
4
5 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
6 CBOP 0
7 C !ROUTINE: KPP_READPARMS
8
9 C !INTERFACE:
10 SUBROUTINE KPP_READPARMS( myThid )
11
12 C !DESCRIPTION:
13 C Routine to read in file data.kpp
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 "KPP_PARAMS.h"
22
23 C !INPUT PARAMETERS:
24 INTEGER myThid
25 CEOP
26
27 C !LOCAL VARIABLES:
28 #ifdef ALLOW_KPP
29 C msgBuf - Informational/error meesage buffer
30 C errIO - IO error flag
31 C iUnit - Work variable for IO unit number
32
33 CHARACTER*(MAX_LEN_MBUF) msgBuf
34 INTEGER errIO, iUnit
35
36 C-- KPP vertical mixing parameters
37 NAMELIST /KPP_PARM01/
38 & kpp_freq, kpp_dumpFreq, kpp_taveFreq,
39 & KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus,
40 & minKPPhbl,
41 & epsln, phepsi, epsilon, vonk, dB_dz,
42 & conc1, conam, concm, conc2, zetam,
43 & conas, concs, conc3, zetas,
44 & Ricr, cekman, cmonob, concv, hbf,
45 & zmin, zmax, umin, umax,
46 & num_v_smooth_Ri, num_v_smooth_BV,
47 & num_z_smooth_sh, num_m_smooth_sh,
48 & Riinfty, BVSQcon, difm0, difs0, dift0,
49 & difmcon, difscon, diftcon,
50 & cstar
51
52 _BEGIN_MASTER(myThid)
53
54 WRITE(msgBuf,'(A)') ' KPP_INIT: opening data.kpp'
55 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
56 & SQUEEZE_RIGHT , 1)
57
58
59 CALL OPEN_COPY_DATA_FILE(
60 I 'data.kpp', 'KPP_INIT',
61 O iUnit,
62 I myThid )
63
64 C-- set default KPP vertical mixing parameters
65 kpp_freq = deltaTClock
66 kpp_dumpFreq = dumpFreq
67 kpp_taveFreq = taveFreq
68 KPPmixingMaps = .FALSE.
69 KPPwriteState = .FALSE.
70 KPP_ghatUseTotalDiffus = .FALSE.
71 IF ( setCenterDr ) THEN
72 minKPPhbl = delRc(1)
73 ELSE
74 minKPPhbl = delR(1)*0.5
75 ENDIF
76
77 C-----------------------------------------------------------------------
78 C define some non-dimensional constants and
79 C the vertical mixing coefficients in m-k-s units
80 C-----------------------------------------------------------------------
81
82 epsln = 1. _d -20
83 phepsi = 1. _d -10
84 epsilon = 1. _d -1
85 vonk = 0.4 _d 0
86 dB_dz = 5.2 _d -5
87 conc1 = 5. _d 0
88 conam = 1.257 _d 0
89 concm = 8.380 _d 0
90 conc2 = 16. _d 0
91 zetam = -0.2 _d 0
92 conas = -28.86 _d 0
93 concs = 98.96 _d 0
94 conc3 = 16. _d 0
95 zetas = -1. _d 0
96
97 C parameters for subroutine "bldepth"
98
99 Ricr = 0.3 _d 0
100 cekman = 0.7 _d 0
101 cmonob = 1. _d 0
102 concv = 1.8 _d 0
103 hbf = 1. _d 0
104
105 C parameters and common arrays for subroutines
106 C "kmixinit" and "wscale"
107
108 zmin = -4. _d -7
109 zmax = 0. _d 0
110 umin = 0. _d 0
111 umax = 4. _d -2
112
113 C parameters for subroutine "Ri_iwmix"
114
115 num_v_smooth_Ri = 0
116 num_v_smooth_BV = 0
117 num_z_smooth_sh = 0
118 num_m_smooth_sh = 0
119 Riinfty = 0.7 _d 0
120 BVSQcon = -0.2 _d -4
121
122 difm0 = 5. _d -3
123 difs0 = 5. _d -3
124 dift0 = 5. _d -3
125
126 difmcon = 0.1 _d 0
127 difscon = 0.1 _d 0
128 diftcon = 0.1 _d 0
129
130 C parameters for subroutine "blmix"
131
132 cstar = 10.
133
134 C-----------------------------------------------------------------------
135
136 C-- Read settings from model parameter file "data.kpp".
137 READ(UNIT=iUnit,NML=KPP_PARM01,IOSTAT=errIO)
138 IF ( errIO .LT. 0 ) THEN
139 WRITE(msgBuf,'(A)')
140 & 'S/R INI_PARMS'
141 CALL PRINT_ERROR( msgBuf , 1)
142 WRITE(msgBuf,'(A)')
143 & 'Error reading numerical model '
144 CALL PRINT_ERROR( msgBuf , 1)
145 WRITE(msgBuf,'(A)')
146 & 'parameter file "data.kpp"'
147 CALL PRINT_ERROR( msgBuf , 1)
148 WRITE(msgBuf,'(A)')
149 & 'Problem in namelist KPP_PARM01'
150 CALL PRINT_ERROR( msgBuf , 1)
151 C CALL MODELDATA_EXAMPLE( myThid )
152 STOP 'ABNORMAL END: S/R KPP_INIT'
153 ENDIF
154
155 CLOSE(iUnit)
156
157 WRITE(msgBuf,'(A)') ' KPP_INIT: finished reading data.kpp'
158 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
159 & SQUEEZE_RIGHT , 1)
160
161 _END_MASTER(myThid)
162
163 #ifdef ALLOW_MNC
164 IF (useMNC) THEN
165 C Define grid types for KPP variables
166 CALL MNC_CW_ADD_VNAME('KPPviscAz', 'Cen_xy_Hn__C__t',
167 & 4,5, myThid)
168 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','units','m^2/s',
169 & myThid)
170 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','long_name',
171 & 'KPP_vertical_eddy_viscosity_coefficient', myThid)
172 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz',
173 & 'coordinates','XC YC RC iter', myThid)
174
175 CALL MNC_CW_ADD_VNAME('KPPdiffKzS', 'Cen_xy_Hn__C__t',
176 & 4,5, myThid)
177 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','units','m^2/s',
178 & myThid)
179 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','long_name',
180 & 'KPP_salt-tracer_vertical_diffusion_coefficient',
181 & myThid)
182 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS',
183 & 'coordinates','XC YC RC iter', myThid)
184
185 CALL MNC_CW_ADD_VNAME('KPPdiffKzT', 'Cen_xy_Hn__C__t',
186 & 4,5, myThid)
187 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','units','m^2/s',
188 & myThid)
189 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','long_name',
190 & 'KPP_vertical_heat_diffusion_coefficient', myThid)
191 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT',
192 & 'coordinates','XC YC RC iter', myThid)
193
194 CALL MNC_CW_ADD_VNAME('KPPGHAT', 'Cen_xy_Hn__C__t',
195 & 4,5, myThid)
196 CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT','units','s/m^2',
197 & myThid)
198 CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT','long_name',
199 & 'KPP_nonlocal_transport_coefficient', myThid)
200 CALL MNC_CW_ADD_VATTR_TEXT('KPPGHAT',
201 & 'coordinates','XC YC RC iter', myThid)
202
203 CALL MNC_CW_ADD_VNAME('KPPHBL', 'Cen_xy_Hn__-__t',
204 & 3,4, myThid)
205 CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL','units','m',
206 & myThid)
207 CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL','long_name',
208 & 'KPP_boundary_layer_depth', myThid)
209 CALL MNC_CW_ADD_VATTR_TEXT('KPPHBL',
210 & 'coordinates','XC YC iter', myThid)
211
212 CALL MNC_CW_ADD_VNAME('KPPFRAC', 'Cen_xy_Hn__-__t',
213 & 3,4, myThid)
214 CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC','units','dimless',
215 & myThid)
216 CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC','long_name',
217 & 'KPP_short-wave_fraction_penetrating_mixing_layer',
218 & myThid)
219 CALL MNC_CW_ADD_VATTR_TEXT('KPPFRAC',
220 & 'coordinates','XC YC iter', myThid)
221 ENDIF
222 #endif /* ALLOW_MNC */
223
224 C-- Everyone else must wait for the parameters to be loaded
225 _BARRIER
226
227 #endif /* ALLOW_KPP */
228
229 RETURN
230 END

  ViewVC Help
Powered by ViewVC 1.1.22