/[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.11 - (show annotations) (download)
Thu Oct 14 20:29:21 2004 UTC (19 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint55h_post
Changes since 1.10: +6 -2 lines
don't use drF as a default for minKPPhbl since drF is not yet set
 at this point (set in ini_grid, called later)

1 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_readparms.F,v 1.10 2004/10/10 06:08:49 edhill 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,
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 IF ( setCenterDr ) THEN
71 minKPPhbl = delRc(1)
72 ELSE
73 minKPPhbl = delR(1)*0.5
74 ENDIF
75
76 C-----------------------------------------------------------------------
77 C define some non-dimensional constants and
78 C the vertical mixing coefficients in m-k-s units
79 C-----------------------------------------------------------------------
80
81 epsln = 1.e-20
82 phepsi = 1.e-10
83 epsilon = 0.1
84 vonk = 0.40
85 dB_dz = 5.2e-5
86 conc1 = 5.0
87 conam = 1.257
88 concm = 8.380
89 conc2 = 16.0
90 zetam = -0.2
91 conas = -28.86
92 concs = 98.96
93 conc3 = 16.0
94 zetas = -1.0
95
96 c parameters for subroutine "bldepth"
97
98 Ricr = 0.30
99 cekman = 0.7
100 cmonob = 1.0
101 concv = 1.8
102 hbf = 1.0
103
104 c parameters and common arrays for subroutines
105 c "kmixinit" and "wscale"
106
107 zmin = -4.e-7
108 zmax = 0.0
109 umin = 0.0
110 umax = .04
111
112 c parameters for subroutine "Ri_iwmix"
113
114 num_v_smooth_Ri = 0
115 num_v_smooth_BV = 0
116 num_z_smooth_sh = 0
117 num_m_smooth_sh = 0
118 Riinfty = 0.7
119 BVSQcon = -0.2e-4
120
121 difm0 = 0.005
122 difs0 = 0.005
123 dift0 = 0.005
124
125 difmcon = 0.1
126 difscon = 0.1
127 diftcon = 0.1
128
129 C parameters for subroutine "blmix"
130
131 cstar = 10.
132
133 C-----------------------------------------------------------------------
134
135 C-- Read settings from model parameter file "data.kpp".
136 READ(UNIT=iUnit,NML=KPP_PARM01,IOSTAT=errIO)
137 IF ( errIO .LT. 0 ) THEN
138 WRITE(msgBuf,'(A)')
139 & 'S/R INI_PARMS'
140 CALL PRINT_ERROR( msgBuf , 1)
141 WRITE(msgBuf,'(A)')
142 & 'Error reading numerical model '
143 CALL PRINT_ERROR( msgBuf , 1)
144 WRITE(msgBuf,'(A)')
145 & 'parameter file "data.kpp"'
146 CALL PRINT_ERROR( msgBuf , 1)
147 WRITE(msgBuf,'(A)')
148 & 'Problem in namelist KPP_PARM01'
149 CALL PRINT_ERROR( msgBuf , 1)
150 C CALL MODELDATA_EXAMPLE( myThid )
151 STOP 'ABNORMAL END: S/R KPP_INIT'
152 ENDIF
153
154 CLOSE(iUnit)
155
156 WRITE(msgBuf,'(A)') ' KPP_INIT: finished reading data.kpp'
157 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
158 & SQUEEZE_RIGHT , 1)
159
160 _END_MASTER(myThid)
161
162 #ifdef ALLOW_MNC
163 IF (useMNC) THEN
164 C Define grid types for KPP variables
165 CALL MNC_CW_ADD_VNAME('KPPviscAz', 'Cen_xy_Hn__C__t',
166 & 4,5, myThid)
167 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','units','m^2/s',
168 & myThid)
169 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz','long_name',
170 & 'KPP_vertical_eddy_viscosity_coefficient', myThid)
171 CALL MNC_CW_ADD_VATTR_TEXT('KPPviscAz',
172 & 'coordinates','XC YC RC iter', myThid)
173
174 CALL MNC_CW_ADD_VNAME('KPPdiffKzS', 'Cen_xy_Hn__C__t',
175 & 4,5, myThid)
176 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','units','m^2/s',
177 & myThid)
178 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS','long_name',
179 & 'KPP_salt-tracer_vertical_diffusion_coefficient',
180 & myThid)
181 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzS',
182 & 'coordinates','XC YC RC iter', myThid)
183
184 CALL MNC_CW_ADD_VNAME('KPPdiffKzT', 'Cen_xy_Hn__C__t',
185 & 4,5, myThid)
186 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','units','m^2/s',
187 & myThid)
188 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT','long_name',
189 & 'KPP_vertical_heat_diffusion_coefficient', myThid)
190 CALL MNC_CW_ADD_VATTR_TEXT('KPPdiffKzT',
191 & 'coordinates','XC YC RC iter', myThid)
192
193 CALL MNC_CW_ADD_VNAME('KPPghat', 'Cen_xy_Hn__C__t',
194 & 4,5, myThid)
195 CALL MNC_CW_ADD_VATTR_TEXT('KPPghat','units','s/m^2',
196 & myThid)
197 CALL MNC_CW_ADD_VATTR_TEXT('KPPghat','long_name',
198 & 'KPP_nonlocal_transport_coefficient', myThid)
199 CALL MNC_CW_ADD_VATTR_TEXT('KPPghat',
200 & 'coordinates','XC YC RC iter', myThid)
201
202 CALL MNC_CW_ADD_VNAME('KPPhbl', 'Cen_xy_Hn__-__t',
203 & 3,4, myThid)
204 CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl','units','m',
205 & myThid)
206 CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl','long_name',
207 & 'KPP_mixing_layer_depth', myThid)
208 CALL MNC_CW_ADD_VATTR_TEXT('KPPhbl',
209 & 'coordinates','XC YC iter', myThid)
210
211 CALL MNC_CW_ADD_VNAME('KPPfrac', 'Cen_xy_Hn__-__t',
212 & 3,4, myThid)
213 CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac','units','dimless',
214 & myThid)
215 CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac','long_name',
216 & 'KPP_short-wave_fraction_penetrating_mixing_layer',
217 & myThid)
218 CALL MNC_CW_ADD_VATTR_TEXT('KPPfrac',
219 & 'coordinates','XC YC iter', myThid)
220 ENDIF
221 #endif /* ALLOW_MNC */
222
223 C-- Everyone else must wait for the parameters to be loaded
224 _BARRIER
225
226 #endif /* ALLOW_KPP */
227
228 return
229 end

  ViewVC Help
Powered by ViewVC 1.1.22