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

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

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


Revision 1.8 - (show annotations) (download)
Fri Sep 19 20:38:39 2014 UTC (9 years, 9 months ago) by gforget
Branch: MAIN
Changes since 1.7: +20 -1 lines
o pkg/ctrl :
  - introduce run time switch ctrlUseGen (in ctrl.h, ctrl_check.F,
    ctrl_init_variables.F, ctrl_readparms.F, ctrl_summary.F)
  - re-activate ctrl_summary (call in ctrl_init.F)

1 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_summary.F,v 1.7 2014/04/30 00:11:33 atn Exp $
2 C $Name: $
3
4 #include "CTRL_OPTIONS.h"
5
6 subroutine ctrl_Summary( mythid )
7
8 c ==================================================================
9 c SUBROUTINE ctrl_Summary
10 c ==================================================================
11 c
12 c o Summarize the control vector part of the ECCO release.
13 c
14 c started: Christian Eckert eckert@mit.edu 06-Mar-2000
15 c
16 c changed: Christian Eckert eckert@mit.edu
17 c
18 c ==================================================================
19 c SUBROUTINE ctrl_Summary
20 c ==================================================================
21
22 implicit none
23
24 c == global variables ==
25
26 #include "EEPARAMS.h"
27 #include "SIZE.h"
28
29 #ifdef ALLOW_CAL
30 # include "cal.h"
31 #endif
32 #include "ctrl.h"
33 #ifdef ALLOW_AUTODIFF
34 # include "AUTODIFF_PARAMS.h"
35 #endif
36
37 c == routine arguments ==
38
39 integer mythid
40
41 c == local variables ==
42
43 integer bi,bj
44 integer i,k
45 integer il
46 integer timeint(4)
47 integer nwetcenter
48 integer nwetsouth
49 integer nwetwest
50
51 character*(max_len_mbuf) msgbuf
52
53 c == external ==
54
55 integer ilnblnk
56 external ilnblnk
57
58 c == end of interface ==
59
60 write(msgbuf,'(a)')
61 &' '
62 call print_message( msgbuf, standardmessageunit,
63 & SQUEEZE_RIGHT , mythid)
64 write(msgbuf,'(a)')
65 &'// ======================================================='
66 call print_message( msgbuf, standardmessageunit,
67 & SQUEEZE_RIGHT , mythid)
68 write(msgbuf,'(a)')
69 &'// ECCO control vector configuration >>> START <<<'
70 call print_message( msgbuf, standardmessageunit,
71 & SQUEEZE_RIGHT , mythid)
72 write(msgbuf,'(a)')
73 &'// ======================================================='
74 call print_message( msgbuf, standardmessageunit,
75 & SQUEEZE_RIGHT , mythid)
76 write(msgbuf,'(a)')
77 &' '
78 call print_message( msgbuf, standardmessageunit,
79 & SQUEEZE_RIGHT , mythid)
80
81 write(msgbuf,'(a)')
82 &' Total number of ocean points per tile:'
83 call print_message( msgbuf, standardmessageunit,
84 & SQUEEZE_RIGHT , mythid)
85 write(msgbuf,'(a)')
86 &' --------------------------------------'
87 call print_message( msgbuf, standardmessageunit,
88 & SQUEEZE_RIGHT , mythid)
89 write(msgbuf,'(a)')
90 &' '
91 call print_message( msgbuf, standardmessageunit,
92 & SQUEEZE_RIGHT , mythid)
93 write(msgbuf,'(a,i8)') ' snx*sny*nr = ',snx*sny*nr
94 call print_message( msgbuf, standardmessageunit,
95 & SQUEEZE_RIGHT , mythid)
96 write(msgbuf,'(a)')
97 &' '
98 call print_message( msgbuf, standardmessageunit,
99 & SQUEEZE_RIGHT , mythid)
100 write(msgbuf,'(a)')
101 &' Number of ocean points per tile:'
102 call print_message( msgbuf, standardmessageunit,
103 & SQUEEZE_RIGHT , mythid)
104 write(msgbuf,'(a)')
105 &' --------------------------------'
106 call print_message( msgbuf, standardmessageunit,
107 & SQUEEZE_RIGHT , mythid)
108 do bj = 1,nsy
109 do bi = 1,nsx
110 nwetcenter = 0
111 nwetsouth = 0
112 nwetwest = 0
113 do k = 1,nr
114 nwetcenter = nwetcenter + nwetctile(bi,bj,k)
115 nwetsouth = nwetsouth + nwetstile(bi,bj,k)
116 nwetwest = nwetwest + nwetwtile(bi,bj,k)
117 enddo
118 write(msgbuf,'(a,i5.4,i5.4,i7.6,i7.6,i7.6)')
119 & ' bi,bj,#(c/s/w):',bi,bj,nwetcenter,
120 & nwetsouth,
121 & nwetwest
122 call print_message( msgbuf, standardmessageunit,
123 & SQUEEZE_RIGHT , mythid)
124 enddo
125 enddo
126
127 #ifdef ALLOW_THETA0_CONTROL
128 write(msgbuf,'(a)')
129 &' '
130 call print_message( msgbuf, standardmessageunit,
131 & SQUEEZE_RIGHT , mythid)
132 write(msgbuf,'(a)')
133 &' Initial state temperature contribution:'
134 call print_message( msgbuf, standardmessageunit,
135 & SQUEEZE_RIGHT , mythid)
136 write(msgbuf,'(a,i5.4)')
137 &' Control variable index: ',ncvarindex(1)
138 call print_message( msgbuf, standardmessageunit,
139 & SQUEEZE_RIGHT , mythid)
140 #endif
141 #ifdef ALLOW_SALT0_CONTROL
142 write(msgbuf,'(a)')
143 &' '
144 call print_message( msgbuf, standardmessageunit,
145 & SQUEEZE_RIGHT , mythid)
146 write(msgbuf,'(a)')
147 &' Initial state salinity contribution:'
148 call print_message( msgbuf, standardmessageunit,
149 & SQUEEZE_RIGHT , mythid)
150 write(msgbuf,'(a,i5.4)')
151 &' Control variable index: ',ncvarindex(2)
152 call print_message( msgbuf, standardmessageunit,
153 & SQUEEZE_RIGHT , mythid)
154 #endif
155 #ifdef ALLOW_HFLUX_CONTROL
156 write(msgbuf,'(a)')
157 &' '
158 call print_message( msgbuf, standardmessageunit,
159 & SQUEEZE_RIGHT , mythid)
160 write(msgbuf,'(a)')
161 &' Heat flux contribution:'
162 call print_message( msgbuf, standardmessageunit,
163 & SQUEEZE_RIGHT , mythid)
164 write(msgbuf,'(a,i5.4)')
165 &' Control variable index: ',ncvarindex(3)
166 call print_message( msgbuf, standardmessageunit,
167 & SQUEEZE_RIGHT , mythid)
168
169 il = ilnblnk(xx_hflux_file)
170 call cal_TimeInterval( xx_hfluxperiod, 'secs', timeint, mythid )
171
172 write(msgbuf,'(a)')
173 &' '
174 call print_message( msgbuf, standardmessageunit,
175 & SQUEEZE_RIGHT , mythid)
176 write(msgbuf,'(a,i9.8,i7.6,1x,a,a)')
177 &' Heat flux contribution starts at: ',
178 & (xx_hfluxstartdate(i), i=1,2),
179 & dayofweek(xx_hfluxstartdate(4)),'.'
180 call print_message( msgbuf, standardmessageunit,
181 & SQUEEZE_RIGHT , mythid)
182 write(msgbuf,'(a,i9.8,i7.6)')
183 &' Heat flux contribution period is: ',
184 & (timeint(i), i=1,2)
185 call print_message( msgbuf, standardmessageunit,
186 & SQUEEZE_RIGHT , mythid)
187 write(msgbuf,'(a)')
188 &' Heat flux contribution is read from file: '
189 call print_message( msgbuf, standardmessageunit,
190 & SQUEEZE_RIGHT , mythid)
191 write(msgbuf,'(a,a,a)')
192 &' >> ',xx_hflux_file(1:il),' <<'
193 call print_message( msgbuf, standardmessageunit,
194 & SQUEEZE_RIGHT , mythid)
195 #endif
196 #ifdef ALLOW_SFLUX_CONTROL
197 write(msgbuf,'(a)')
198 &' '
199 call print_message( msgbuf, standardmessageunit,
200 & SQUEEZE_RIGHT , mythid)
201 write(msgbuf,'(a)')
202 &' Salt flux contribution:'
203 call print_message( msgbuf, standardmessageunit,
204 & SQUEEZE_RIGHT , mythid)
205 write(msgbuf,'(a,i5.4)')
206 &' Control varibale index: ',ncvarindex(4)
207 call print_message( msgbuf, standardmessageunit,
208 & SQUEEZE_RIGHT , mythid)
209
210 il = ilnblnk(xx_sflux_file)
211 call cal_TimeInterval( xx_sfluxperiod, 'secs', timeint, mythid )
212
213 write(msgbuf,'(a)')
214 &' '
215 call print_message( msgbuf, standardmessageunit,
216 & SQUEEZE_RIGHT , mythid)
217 write(msgbuf,'(a,i9.8,i7.6,1x,a,a)')
218 &' Salt flux contribution starts at: ',
219 & (xx_sfluxstartdate(i), i=1,2),
220 & dayofweek(xx_sfluxstartdate(4)),'.'
221 call print_message( msgbuf, standardmessageunit,
222 & SQUEEZE_RIGHT , mythid)
223 write(msgbuf,'(a,i9.8,i7.6)')
224 &' Salt flux contribution period is: ',
225 & (timeint(i), i=1,2)
226 call print_message( msgbuf, standardmessageunit,
227 & SQUEEZE_RIGHT , mythid)
228 write(msgbuf,'(a)')
229 &' Salt flux contribution is read from file: '
230 call print_message( msgbuf, standardmessageunit,
231 & SQUEEZE_RIGHT , mythid)
232 write(msgbuf,'(a,a,a)')
233 &' >> ',xx_sflux_file(1:il),' <<'
234 call print_message( msgbuf, standardmessageunit,
235 & SQUEEZE_RIGHT , mythid)
236 #endif
237 #ifdef ALLOW_USTRESS_CONTROL
238 write(msgbuf,'(a)')
239 &' '
240 call print_message( msgbuf, standardmessageunit,
241 & SQUEEZE_RIGHT , mythid)
242 write(msgbuf,'(a)')
243 &' Zonal wind stress contribution:'
244 call print_message( msgbuf, standardmessageunit,
245 & SQUEEZE_RIGHT , mythid)
246 write(msgbuf,'(a,i5.4)')
247 &' Control variable index: ',ncvarindex(5)
248 call print_message( msgbuf, standardmessageunit,
249 & SQUEEZE_RIGHT , mythid)
250
251 il = ilnblnk(xx_tauu_file)
252 call cal_TimeInterval( xx_tauuperiod, 'secs', timeint, mythid )
253
254 write(msgbuf,'(a)')
255 &' '
256 call print_message( msgbuf, standardmessageunit,
257 & SQUEEZE_RIGHT , mythid)
258 write(msgbuf,'(a,i9.8,i7.6,1x,a,a)')
259 &' Zonal wind stress contribution starts at: ',
260 & (xx_tauustartdate(i), i=1,2),
261 & dayofweek(xx_tauustartdate(4)),'.'
262 call print_message( msgbuf, standardmessageunit,
263 & SQUEEZE_RIGHT , mythid)
264 write(msgbuf,'(a,i9.8,i7.6)')
265 &' Zonal wind stress contribution period is: ',
266 & (timeint(i), i=1,2)
267 call print_message( msgbuf, standardmessageunit,
268 & SQUEEZE_RIGHT , mythid)
269 write(msgbuf,'(a)')
270 &' Zonal wind stress contribution is read from file: '
271 call print_message( msgbuf, standardmessageunit,
272 & SQUEEZE_RIGHT , mythid)
273 write(msgbuf,'(a,a,a)')
274 &' >> ',xx_tauu_file(1:il),' <<'
275 call print_message( msgbuf, standardmessageunit,
276 & SQUEEZE_RIGHT , mythid)
277 #endif
278 #ifdef ALLOW_VSTRESS_CONTROL
279 write(msgbuf,'(a)')
280 &' '
281 call print_message( msgbuf, standardmessageunit,
282 & SQUEEZE_RIGHT , mythid)
283 write(msgbuf,'(a)')
284 &' Meridional wind stress contribution:'
285 call print_message( msgbuf, standardmessageunit,
286 & SQUEEZE_RIGHT , mythid)
287 write(msgbuf,'(a,i5.4)')
288 &' Control variable index: ',ncvarindex(6)
289 call print_message( msgbuf, standardmessageunit,
290 & SQUEEZE_RIGHT , mythid)
291
292 il = ilnblnk(xx_tauv_file)
293 call cal_TimeInterval( xx_tauvperiod, 'secs', timeint, mythid )
294
295 write(msgbuf,'(a)')
296 &' '
297 call print_message( msgbuf, standardmessageunit,
298 & SQUEEZE_RIGHT , mythid)
299 write(msgbuf,'(a,i9.8,i7.6,1x,a,a)')
300 &' Merid. wind stress contribution starts at: ',
301 & (xx_hfluxstartdate(i), i=1,2),
302 & dayofweek(xx_hfluxstartdate(4)),'.'
303 call print_message( msgbuf, standardmessageunit,
304 & SQUEEZE_RIGHT , mythid)
305 write(msgbuf,'(a,i9.8,i7.6)')
306 &' Merid. wind stress contribution period is: ',
307 & (timeint(i), i=1,2)
308 call print_message( msgbuf, standardmessageunit,
309 & SQUEEZE_RIGHT , mythid)
310 write(msgbuf,'(a)')
311 &' Merid. wind stress contribution is read from file: '
312 call print_message( msgbuf, standardmessageunit,
313 & SQUEEZE_RIGHT , mythid)
314 write(msgbuf,'(a,a,a)')
315 &' >> ',xx_tauv_file(1:il),' <<'
316 call print_message( msgbuf, standardmessageunit,
317 & SQUEEZE_RIGHT , mythid)
318 #endif
319
320 #ifdef ALLOW_SMOOTH_CORREL3D
321 write(msgbuf,'(a,L5)')
322 &'ctrlSmoothCorrel3D: ',ctrlSmoothCorrel3D
323 call print_message( msgbuf, standardmessageunit,
324 & SQUEEZE_RIGHT , mythid)
325 #endif /* ALLOW_SMOOTH_CORREL3D */
326
327 #ifdef ALLOW_SMOOTH_CORREL2D
328 write(msgbuf,'(a,L5)')
329 &'ctrlSmoothCorrel2D: ',ctrlSmoothCorrel2D
330 call print_message( msgbuf, standardmessageunit,
331 & SQUEEZE_RIGHT , mythid)
332 #endif /* ALLOW_SMOOTH_CORREL2D */
333
334 #ifdef ALLOW_AUTODIFF
335 c allow for switching off correl2d in adjoint
336 CALL WRITE_0D_L( useSmoothCorrel2DinAdMode, INDEX_NONE,
337 & 'useSmoothCorrel2DinAdMode =',
338 & ' /* use ctrlSmoothCorrel2D in adjoint mode */')
339 #endif
340
341 #if (defined (ALLOW_GENARR2D_CONTROL) || defined (ALLOW_GENARR3D_CONTROL) || defined (ALLOW_GENTIM2D_CONTROL))
342 write(msgbuf,'(a,L5)')
343 &'ctrlUseGen : ',ctrlUseGen
344 call print_message( msgbuf, standardmessageunit,
345 & SQUEEZE_RIGHT , mythid)
346 #endif /* ALLOW_SMOOTH_CORREL3D */
347
348 write(msgbuf,'(a)')
349 &' '
350 call print_message( msgbuf, standardmessageunit,
351 & SQUEEZE_RIGHT , mythid)
352 write(msgbuf,'(a)')
353 &'// ======================================================='
354 call print_message( msgbuf, standardmessageunit,
355 & SQUEEZE_RIGHT , mythid)
356 write(msgbuf,'(a)')
357 &'// ECCO control vector configuration >>> END <<<'
358 call print_message( msgbuf, standardmessageunit,
359 & SQUEEZE_RIGHT , mythid)
360 write(msgbuf,'(a)')
361 &'// ======================================================='
362 call print_message( msgbuf, standardmessageunit,
363 & SQUEEZE_RIGHT , mythid)
364 write(msgbuf,'(a)')
365 &' '
366 call print_message( msgbuf, standardmessageunit,
367 & SQUEEZE_RIGHT , mythid)
368
369 return
370 end
371

  ViewVC Help
Powered by ViewVC 1.1.22