/[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.19 - (show annotations) (download)
Wed Aug 31 00:03:30 2005 UTC (18 years, 9 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57v_post, checkpoint57s_post, checkpoint57y_post, checkpoint57y_pre, checkpoint57r_post, checkpoint57x_post, checkpoint57w_post, checkpint57u_post
Changes since 1.18: +9 -1 lines
Adding time-dependent SST, SSS control.

1 C
2 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_readparms.F,v 1.18 2005/08/06 11:02:01 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,
74 & xx_salt_file,
75 & xx_hflux_file,
76 & xx_hfluxstartdate1, xx_hfluxstartdate2, xx_hfluxperiod,
77 & xx_sflux_file,
78 & xx_sfluxstartdate1, xx_sfluxstartdate2, xx_sfluxperiod,
79 & xx_tauu_file,
80 & xx_tauustartdate1, xx_tauustartdate2, xx_tauuperiod,
81 & xx_tauv_file,
82 & xx_tauvstartdate1, xx_tauvstartdate2, xx_tauvperiod,
83 & xx_atemp_file,
84 & xx_atempstartdate1, xx_atempstartdate2, xx_atempperiod,
85 & xx_aqh_file,
86 & xx_aqhstartdate1, xx_aqhstartdate2, xx_aqhperiod,
87 & xx_precip_file,
88 & xx_precipstartdate1, xx_precipstartdate2, xx_precipperiod,
89 & xx_swflux_file,
90 & xx_swfluxstartdate1, xx_swfluxstartdate2, xx_swfluxperiod,
91 & xx_swdown_file,
92 & xx_swdownstartdate1, xx_swdownstartdate2, xx_swdownperiod,
93 & xx_uwind_file,
94 & xx_uwindstartdate1, xx_uwindstartdate2, xx_uwindperiod,
95 & xx_vwind_file,
96 & xx_vwindstartdate1, xx_vwindstartdate2, xx_vwindperiod,
97 & xx_obcsn_file,
98 & xx_obcsnstartdate1, xx_obcsnstartdate2, xx_obcsnperiod,
99 & xx_obcss_file,
100 & xx_obcssstartdate1, xx_obcssstartdate2, xx_obcssperiod,
101 & xx_obcsw_file,
102 & xx_obcswstartdate1, xx_obcswstartdate2, xx_obcswperiod,
103 & xx_obcse_file,
104 & xx_obcsestartdate1, xx_obcsestartdate2, xx_obcseperiod,
105 & xx_diffkr_file,
106 & xx_kapgm_file,
107 & xx_tr1_file,
108 & xx_sst_file,
109 & xx_sststartdate1, xx_sststartdate2, xx_sstperiod,
110 & xx_sss_file,
111 & xx_sssstartdate1, xx_sssstartdate2, xx_sssperiod,
112 & xx_hfacc_file,
113 & xx_efluxy_file,
114 & xx_efluxp_file,
115 & xx_bottomdrag_file,
116 & xx_edtaux_file,
117 & xx_edtauy_file,
118 & xx_uvel_file,
119 & xx_vvel_file,
120 & xx_etan_file,
121 & doInitXX,
122 & doPackDiag,
123 & doZscaleUnpack,
124 & doZscalePack
125
126
127 namelist /ctrl_packnames/
128 & yadmark, yctrlid, yctrlposunpack, yctrlpospack,
129 & ctrlname, costname, scalname, maskname, metaname
130
131 _BEGIN_MASTER( myThid )
132
133 c-- Set default values.
134 doInitXX = .TRUE.
135 #ifdef ALLOW_ADMTLM
136 doAdmTlm = .TRUE.
137 #else
138 doAdmTlm = .FALSE.
139 #endif
140 doPackDiag = .FALSE.
141 doZscaleUnpack = .FALSE.
142 doZscalePack = .FALSE.
143
144 xx_theta_file = 'xx_theta'
145 xx_salt_file = 'xx_salt'
146 xx_hfluxstartdate1 = 0
147 xx_hfluxstartdate2 = 0
148 xx_hfluxperiod = 0. _d 0
149 xx_hflux_file = 'xx_hfl'
150 xx_sfluxstartdate1 = 0
151 xx_sfluxstartdate2 = 0
152 xx_sfluxperiod = 0. _d 0
153 xx_sflux_file = 'xx_sfl'
154 xx_tauustartdate1 = 0
155 xx_tauustartdate2 = 0
156 xx_tauuperiod = 0. _d 0
157 xx_tauu_file = 'xx_tauu'
158 xx_tauvstartdate1 = 0
159 xx_tauvstartdate2 = 0
160 xx_tauvperiod = 0. _d 0
161 xx_tauv_file = 'xx_tauv'
162 xx_atempstartdate1 = 0
163 xx_atempstartdate2 = 0
164 xx_atempperiod = 0. _d 0
165 xx_atemp_file = 'xx_atemp'
166 xx_aqhstartdate1 = 0
167 xx_aqhstartdate2 = 0
168 xx_aqhperiod = 0. _d 0
169 xx_aqh_file = 'xx_aqh'
170 xx_precipstartdate1 = 0
171 xx_precipstartdate2 = 0
172 xx_precipperiod = 0. _d 0
173 xx_precip_file = 'xx_precip'
174 xx_swfluxstartdate1 = 0
175 xx_swfluxstartdate2 = 0
176 xx_swfluxperiod = 0. _d 0
177 xx_swflux_file = 'xx_swflux'
178 xx_swdownstartdate1 = 0
179 xx_swdownstartdate2 = 0
180 xx_swdownperiod = 0. _d 0
181 xx_swdown_file = 'xx_swdown'
182 xx_uwindstartdate1 = 0
183 xx_uwindstartdate2 = 0
184 xx_uwindperiod = 0. _d 0
185 xx_uwind_file = 'xx_uwind'
186 xx_vwindstartdate1 = 0
187 xx_vwindstartdate2 = 0
188 xx_vwindperiod = 0. _d 0
189 xx_vwind_file = 'xx_vwind'
190 xx_obcsnstartdate1 = 0
191 xx_obcsnstartdate2 = 0
192 xx_obcsnperiod = 0. _d 0
193 xx_obcsn_file = 'xx_obcsn'
194 xx_obcssstartdate1 = 0
195 xx_obcssstartdate2 = 0
196 xx_obcssperiod = 0. _d 0
197 xx_obcss_file = 'xx_obcss'
198 xx_obcswstartdate1 = 0
199 xx_obcswstartdate2 = 0
200 xx_obcswperiod = 0. _d 0
201 xx_obcsw_file = 'xx_obcsw'
202 xx_obcsestartdate1 = 0
203 xx_obcsestartdate2 = 0
204 xx_obcseperiod = 0. _d 0
205 xx_obcse_file = 'xx_obcse'
206 xx_diffkr_file = 'xx_diffkr'
207 xx_kapgm_file = 'xx_kapgm'
208 xx_tr1_file = 'xx_ptr'
209 xx_sststartdate1 = 0
210 xx_sststartdate2 = 0
211 xx_sstperiod = 0. _d 0
212 xx_sst_file = 'xx_sst'
213 xx_sssstartdate1 = 0
214 xx_sssstartdate2 = 0
215 xx_sssperiod = 0. _d 0
216 xx_sss_file = 'xx_sss'
217 xx_hfacc_file = 'xx_hfacc'
218 xx_efluxy_file = 'xx_efluxy'
219 xx_efluxp_file = 'xx_efluxp'
220 xx_bottomdrag_file = 'xx_bottomdrag'
221 xx_edtaux_file = 'xx_edtaux'
222 xx_edtauy_file = 'xx_edtauy'
223 xx_uvel_file = 'xx_uvel'
224 xx_vvel_file = 'xx_vvel'
225 xx_etan_file = 'xx_etan'
226
227 #ifdef ALLOW_TANGENTLINEAR_RUN
228 yadprefix = 'g_'
229 yadmark = 'g_'
230 #else
231 yadprefix = 'ad'
232 yadmark = 'ad'
233 #endif
234 yctrlid = 'MIT_CE_000'
235 yctrlposunpack = '.opt'
236 yctrlpospack = '.opt'
237 ctrlname = ' '
238 costname = ' '
239 scalname = ' '
240 maskname = ' '
241 metaname = ' '
242
243 c-- Next, read the cost data file.
244 WRITE(msgBuf,'(A)') 'CTRL_READPARMS: opening data.ctrl'
245 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
246 & SQUEEZE_RIGHT , 1)
247
248 CALL OPEN_COPY_DATA_FILE(
249 I 'data.ctrl', 'CTRL_READPARMS',
250 O iUnit,
251 I myThid )
252
253 READ(unit = iUnit, nml = ctrl_nml)
254 READ(unit = iUnit, nml = ctrl_packnames)
255
256 WRITE(msgBuf,'(A)')
257 & 'CTRL_READPARMS: finished reading data.ctrl'
258 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
259 & SQUEEZE_RIGHT , 1)
260
261 CLOSE( iUnit )
262
263 _END_MASTER( myThid )
264
265 _BARRIER
266
267 return
268 end
269

  ViewVC Help
Powered by ViewVC 1.1.22