/[MITgcm]/MITgcm/pkg/ctrl/ctrl_readparms.F
ViewVC logotype

Contents of /MITgcm/pkg/ctrl/ctrl_readparms.F

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


Revision 1.25 - (show annotations) (download)
Fri Oct 27 05:16:54 2006 UTC (17 years, 6 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint58u_post, checkpoint58w_post, checkpoint58r_post, checkpoint58x_post, checkpoint58t_post, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59, checkpoint58y_post, checkpoint58v_post, checkpoint58s_post
Changes since 1.24: +76 -41 lines
Adding new control variables:
lwflux, lwdown, evap, snowprecip, apressure, runoff.

1 C
2 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_readparms.F,v 1.24 2006/06/07 01:55:14 heimbach Exp $
3 C $Name: $
4
5 #include "AD_CONFIG.h"
6 #include "CTRL_CPPOPTIONS.h"
7
8
9 subroutine ctrl_readparms( mythid )
10
11 c ==================================================================
12 c SUBROUTINE ctrl_readparms
13 c ==================================================================
14 c
15 c o read ctrl parameters
16 c split from ctrl_init
17 c
18 c started: heimbach@mit.edu 12-Jun-2003
19 c
20 c ==================================================================
21 c SUBROUTINE ctrl_readparms
22 c ==================================================================
23
24 implicit none
25
26 c == global variables ==
27
28 #include "EEPARAMS.h"
29 #include "SIZE.h"
30 #include "PARAMS.h"
31 #include "GRID.h"
32 #include "ctrl.h"
33
34 #ifdef ALLOW_OBCS_CONTROL
35 # include "OBCS.h"
36 #endif
37
38 c == routine arguments ==
39
40 integer mythid
41
42 c == local variables ==
43
44 integer bi,bj
45 integer i,j,k
46 integer ntmp
47 integer ivarindex
48 integer iUnit
49 integer iobcs
50 integer il
51 integer errio
52 integer startrec
53 integer endrec
54 integer difftime(4)
55 _RL diffsecs
56 _RL dummy
57
58 character*(80) ymaskobcs
59 character*(max_len_prec) record
60 character*(max_len_mbuf) msgbuf
61
62 integer nwetc3d
63
64 c == external ==
65
66 integer ilnblnk
67 external ilnblnk
68
69 c == end of interface ==
70
71 c-- Read the namelist input.
72 namelist /ctrl_nml/
73 & xx_theta_file, xx_salt_file,
74 & xx_hflux_file, xx_hflux_remo_intercept, xx_hflux_remo_slope,
75 & xx_hfluxstartdate1, xx_hfluxstartdate2, xx_hfluxperiod,
76 & xx_sflux_file, xx_sflux_remo_intercept, xx_sflux_remo_slope,
77 & xx_sfluxstartdate1, xx_sfluxstartdate2, xx_sfluxperiod,
78 & xx_tauu_file, xx_tauu_remo_intercept, xx_tauu_remo_slope,
79 & xx_tauustartdate1, xx_tauustartdate2, xx_tauuperiod,
80 & xx_tauv_file, xx_tauv_remo_intercept, xx_tauv_remo_slope,
81 & xx_tauvstartdate1, xx_tauvstartdate2, xx_tauvperiod,
82 & xx_atemp_file, xx_atemp_remo_intercept, xx_atemp_remo_slope,
83 & xx_atempstartdate1, xx_atempstartdate2, xx_atempperiod,
84 & xx_aqh_file, xx_aqh_remo_intercept, xx_aqh_remo_slope,
85 & xx_aqhstartdate1, xx_aqhstartdate2, xx_aqhperiod,
86 & xx_precip_file, xx_precip_remo_intercept, xx_precip_remo_slope,
87 & xx_precipstartdate1, xx_precipstartdate2, xx_precipperiod,
88 & xx_swflux_file, xx_swflux_remo_intercept, xx_swflux_remo_slope,
89 & xx_swfluxstartdate1, xx_swfluxstartdate2, xx_swfluxperiod,
90 & xx_swdown_file, xx_swdown_remo_intercept, xx_swdown_remo_slope,
91 & xx_swdownstartdate1, xx_swdownstartdate2, xx_swdownperiod,
92 & xx_lwflux_file, xx_lwflux_remo_intercept, xx_lwflux_remo_slope,
93 & xx_lwfluxstartdate1, xx_lwfluxstartdate2, xx_lwfluxperiod,
94 & xx_lwdown_file, xx_lwdown_remo_intercept, xx_lwdown_remo_slope,
95 & xx_lwdownstartdate1, xx_lwdownstartdate2, xx_lwdownperiod,
96 & xx_evap_file, xx_evap_remo_intercept, xx_evap_remo_slope,
97 & xx_evapstartdate1, xx_evapstartdate2, xx_evapperiod,
98 & xx_snowprecip_file, xx_snowprecip_remo_intercept,
99 & xx_snowprecip_remo_slope, xx_snowprecipperiod,
100 & xx_snowprecipstartdate1, xx_snowprecipstartdate2,
101 & xx_apressure_file, xx_apressure_remo_intercept,
102 & xx_apressure_remo_slope, xx_apressureperiod,
103 & xx_apressurestartdate1, xx_apressurestartdate2,
104 & xx_runoff_file, xx_runoff_remo_intercept, xx_runoff_remo_slope,
105 & xx_runoffstartdate1, xx_runoffstartdate2, xx_runoffperiod,
106 & xx_uwind_file, xx_uwind_remo_intercept, xx_uwind_remo_slope,
107 & xx_uwindstartdate1, xx_uwindstartdate2, xx_uwindperiod,
108 & xx_vwind_file, xx_vwind_remo_intercept, xx_vwind_remo_slope,
109 & xx_vwindstartdate1, xx_vwindstartdate2, xx_vwindperiod,
110 & xx_obcsn_file,
111 & xx_obcsnstartdate1, xx_obcsnstartdate2, xx_obcsnperiod,
112 & xx_obcss_file,
113 & xx_obcssstartdate1, xx_obcssstartdate2, xx_obcssperiod,
114 & xx_obcsw_file,
115 & xx_obcswstartdate1, xx_obcswstartdate2, xx_obcswperiod,
116 & xx_obcse_file,
117 & xx_obcsestartdate1, xx_obcsestartdate2, xx_obcseperiod,
118 & xx_diffkr_file, xx_kapgm_file, xx_tr1_file,
119 & xx_sst_file, xx_sss_file,
120 & xx_sststartdate1, xx_sststartdate2, xx_sstperiod,
121 & xx_sssstartdate1, xx_sssstartdate2, xx_sssperiod,
122 & xx_depth_file,
123 & xx_efluxy_file, xx_efluxp_file,
124 & xx_bottomdrag_file,
125 & xx_edtaux_file, xx_edtauy_file,
126 & xx_uvel_file, xx_vvel_file, xx_etan_file,
127 & doInitXX,
128 & doPackDiag,
129 & doZscaleUnpack, doZscalePack,
130 & doMainUnpack, doMainPack,
131 & doAdmtlmBypassAD,
132 & delZexp
133
134 namelist /ctrl_packnames/
135 & yadmark, yctrlid, yctrlposunpack, yctrlpospack,
136 & ctrlname, costname, scalname, maskname, metaname
137
138 _BEGIN_MASTER( myThid )
139
140 c-- Set default values.
141 doInitXX = .TRUE.
142 #ifdef ALLOW_ADMTLM
143 doAdmTlm = .TRUE.
144 #else
145 doAdmTlm = .FALSE.
146 #endif
147 doPackDiag = .FALSE.
148 doZscaleUnpack = .FALSE.
149 doZscalePack = .FALSE.
150 doMainUnpack = .TRUE.
151 doMainPack = .TRUE.
152 doAdmtlmBypassAD = .FALSE.
153
154 delZexp = 0.
155
156 xx_theta_file = 'xx_theta'
157 xx_salt_file = 'xx_salt'
158 c
159 xx_hfluxstartdate1 = 0
160 xx_hfluxstartdate2 = 0
161 xx_hfluxperiod = 0. _d 0
162 xx_hflux_file = 'xx_hfl'
163 xx_hflux_remo_intercept = 0. _d 0
164 xx_hflux_remo_slope = 0. _d 0
165 c
166 xx_sfluxstartdate1 = 0
167 xx_sfluxstartdate2 = 0
168 xx_sfluxperiod = 0. _d 0
169 xx_sflux_file = 'xx_sfl'
170 xx_sflux_remo_intercept = 0. _d 0
171 xx_sflux_remo_slope = 0. _d 0
172 c
173 xx_tauustartdate1 = 0
174 xx_tauustartdate2 = 0
175 xx_tauuperiod = 0. _d 0
176 xx_tauu_file = 'xx_tauu'
177 xx_tauu_remo_intercept = 0. _d 0
178 xx_tauu_remo_slope = 0. _d 0
179 c
180 xx_tauvstartdate1 = 0
181 xx_tauvstartdate2 = 0
182 xx_tauvperiod = 0. _d 0
183 xx_tauv_file = 'xx_tauv'
184 xx_tauv_remo_intercept = 0. _d 0
185 xx_tauv_remo_slope = 0. _d 0
186 c
187 xx_atempstartdate1 = 0
188 xx_atempstartdate2 = 0
189 xx_atempperiod = 0. _d 0
190 xx_atemp_file = 'xx_atemp'
191 xx_atemp_remo_intercept = 0. _d 0
192 xx_atemp_remo_slope = 0. _d 0
193 c
194 xx_aqhstartdate1 = 0
195 xx_aqhstartdate2 = 0
196 xx_aqhperiod = 0. _d 0
197 xx_aqh_file = 'xx_aqh'
198 xx_aqh_remo_intercept = 0. _d 0
199 xx_aqh_remo_slope = 0. _d 0
200 c
201 xx_precipstartdate1 = 0
202 xx_precipstartdate2 = 0
203 xx_precipperiod = 0. _d 0
204 xx_precip_file = 'xx_precip'
205 xx_precip_remo_intercept = 0. _d 0
206 xx_precip_remo_slope = 0. _d 0
207 c
208 xx_swfluxstartdate1 = 0
209 xx_swfluxstartdate2 = 0
210 xx_swfluxperiod = 0. _d 0
211 xx_swflux_file = 'xx_swflux'
212 xx_swflux_remo_intercept = 0. _d 0
213 xx_swflux_remo_slope = 0. _d 0
214 c
215 xx_swdownstartdate1 = 0
216 xx_swdownstartdate2 = 0
217 xx_swdownperiod = 0. _d 0
218 xx_swdown_file = 'xx_swdown'
219 xx_swdown_remo_intercept = 0. _d 0
220 xx_swdown_remo_slope = 0. _d 0
221 c
222 xx_lwfluxstartdate1 = 0
223 xx_lwfluxstartdate2 = 0
224 xx_lwfluxperiod = 0. _d 0
225 xx_lwflux_file = 'xx_lwflux'
226 xx_lwflux_remo_intercept = 0. _d 0
227 xx_lwflux_remo_slope = 0. _d 0
228 c
229 xx_lwdownstartdate1 = 0
230 xx_lwdownstartdate2 = 0
231 xx_lwdownperiod = 0. _d 0
232 xx_lwdown_file = 'xx_lwdown'
233 xx_lwdown_remo_intercept = 0. _d 0
234 xx_lwdown_remo_slope = 0. _d 0
235 c
236 xx_evapstartdate1 = 0
237 xx_evapstartdate2 = 0
238 xx_evapperiod = 0. _d 0
239 xx_evap_file = 'xx_evap'
240 xx_evap_remo_intercept = 0. _d 0
241 xx_evap_remo_slope = 0. _d 0
242 c
243 xx_snowprecipstartdate1 = 0
244 xx_snowprecipstartdate2 = 0
245 xx_snowprecipperiod = 0. _d 0
246 xx_snowprecip_file = 'xx_snowprecip'
247 xx_snowprecip_remo_intercept = 0. _d 0
248 xx_snowprecip_remo_slope = 0. _d 0
249 c
250 xx_apressurestartdate1 = 0
251 xx_apressurestartdate2 = 0
252 xx_apressureperiod = 0. _d 0
253 xx_apressure_file = 'xx_apressure'
254 xx_apressure_remo_intercept = 0. _d 0
255 xx_apressure_remo_slope = 0. _d 0
256 c
257 xx_runoffstartdate1 = 0
258 xx_runoffstartdate2 = 0
259 xx_runoffperiod = 0. _d 0
260 xx_runoff_file = 'xx_runoff'
261 xx_runoff_remo_intercept = 0. _d 0
262 xx_runoff_remo_slope = 0. _d 0
263 c
264 xx_uwindstartdate1 = 0
265 xx_uwindstartdate2 = 0
266 xx_uwindperiod = 0. _d 0
267 xx_uwind_file = 'xx_uwind'
268 xx_uwind_remo_intercept = 0. _d 0
269 xx_uwind_remo_slope = 0. _d 0
270 c
271 xx_vwindstartdate1 = 0
272 xx_vwindstartdate2 = 0
273 xx_vwindperiod = 0. _d 0
274 xx_vwind_file = 'xx_vwind'
275 xx_vwind_remo_intercept = 0. _d 0
276 xx_vwind_remo_slope = 0. _d 0
277 c
278 xx_obcsnstartdate1 = 0
279 xx_obcsnstartdate2 = 0
280 xx_obcsnperiod = 0. _d 0
281 xx_obcsn_file = 'xx_obcsn'
282 c
283 xx_obcssstartdate1 = 0
284 xx_obcssstartdate2 = 0
285 xx_obcssperiod = 0. _d 0
286 xx_obcss_file = 'xx_obcss'
287 c
288 xx_obcswstartdate1 = 0
289 xx_obcswstartdate2 = 0
290 xx_obcswperiod = 0. _d 0
291 xx_obcsw_file = 'xx_obcsw'
292 c
293 xx_obcsestartdate1 = 0
294 xx_obcsestartdate2 = 0
295 xx_obcseperiod = 0. _d 0
296 xx_obcse_file = 'xx_obcse'
297 c
298 xx_sststartdate1 = 0
299 xx_sststartdate2 = 0
300 xx_sstperiod = 0. _d 0
301 xx_sst_file = 'xx_sst'
302 c
303 xx_sssstartdate1 = 0
304 xx_sssstartdate2 = 0
305 xx_sssperiod = 0. _d 0
306 xx_sss_file = 'xx_sss'
307 c
308 xx_diffkr_file = 'xx_diffkr'
309 xx_kapgm_file = 'xx_kapgm'
310 xx_tr1_file = 'xx_ptr'
311 xx_depth_file = 'xx_depth'
312 xx_efluxy_file = 'xx_efluxy'
313 xx_efluxp_file = 'xx_efluxp'
314 xx_bottomdrag_file = 'xx_bottomdrag'
315 xx_edtaux_file = 'xx_edtaux'
316 xx_edtauy_file = 'xx_edtauy'
317 xx_uvel_file = 'xx_uvel'
318 xx_vvel_file = 'xx_vvel'
319 xx_etan_file = 'xx_etan'
320
321 #ifdef ALLOW_TANGENTLINEAR_RUN
322 yadprefix = 'g_'
323 yadmark = 'g_'
324 #else
325 yadprefix = 'ad'
326 yadmark = 'ad'
327 #endif
328 yctrlid = 'MIT_CE_000'
329 yctrlposunpack = '.opt'
330 yctrlpospack = '.opt'
331 ctrlname = ' '
332 costname = ' '
333 scalname = ' '
334 maskname = ' '
335 metaname = ' '
336
337 c-- Next, read the cost data file.
338 WRITE(msgBuf,'(A)') 'CTRL_READPARMS: opening data.ctrl'
339 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
340 & SQUEEZE_RIGHT , 1)
341
342 CALL OPEN_COPY_DATA_FILE(
343 I 'data.ctrl', 'CTRL_READPARMS',
344 O iUnit,
345 I myThid )
346
347 READ(unit = iUnit, nml = ctrl_nml)
348 READ(unit = iUnit, nml = ctrl_packnames)
349
350 WRITE(msgBuf,'(A)')
351 & 'CTRL_READPARMS: finished reading data.ctrl'
352 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
353 & SQUEEZE_RIGHT , 1)
354
355 CLOSE( iUnit )
356
357 _END_MASTER( myThid )
358
359 _BARRIER
360
361 return
362 end
363

  ViewVC Help
Powered by ViewVC 1.1.22