/[MITgcm]/MITgcm/pkg/ecco/ecco_summary.F
ViewVC logotype

Contents of /MITgcm/pkg/ecco/ecco_summary.F

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


Revision 1.16 - (show annotations) (download)
Fri Oct 3 15:01:07 2014 UTC (9 years, 8 months ago) by gforget
Branch: MAIN
Changes since 1.15: +4 -3 lines
o pkg/ecco/cost_averagesfields.F : depend on gencost_barskip
  rather gencost_barfile for deciding whether to write barfile
o pkg/ecco/cost_generic.F : add outname argument (output file name),
  compute and store misfit maks*(model-data) in localdif that is
  then used in cost and for output, output misfit if outlev.GT.0
o pkg/ecco/cost_hyd.F, cost_gencost_all.F : add cost_generic arg
o pkg/ecco/ecco.h : add gencost_barskip
o pkg/ecco/ecco_cost_init_fixed.F : determine gencost_barskip
  (set to false if same barfile is already taken care of
  by other gencost, or if gencost_barfile is empty)
o pkg/ecco/ecco_summary.F : add gencost_barskip to summary
o pkg/ecco/cost_gencost_all.F, cost_hyd.F : rm AD recomputation

1 C $Header: /u/gcmpack/MITgcm/pkg/ecco/ecco_summary.F,v 1.15 2014/10/02 22:26:17 gforget Exp $
2 C $Name: $
3
4 #include "ECCO_OPTIONS.h"
5
6 subroutine ecco_summary(
7 I mythid
8 & )
9
10 c ==================================================================
11 c SUBROUTINE ecco_summary
12 c ==================================================================
13 c
14 c o Summarize the setup of the ECCO release.
15 c
16 #ifdef ALLOW_OLD_ESTIM_CODES
17 c started: Christian Eckert eckert@mit.edu 29-Feb-1999
18 c
19 c - Introduced to create a package for the MITgcmUV.
20 c
21 c changed: Christian Eckert eckert@mit.edu
22 #endif
23 c
24 c ==================================================================
25 c SUBROUTINE ecco_summary
26 c ==================================================================
27
28 implicit none
29
30 c == global variables ==
31
32 #include "EEPARAMS.h"
33 #include "SIZE.h"
34 #include "ecco.h"
35
36 #ifdef ALLOW_CTRL
37 # include "optim.h"
38 #endif
39
40 c == routine arguments ==
41
42 c integer mythid - thread number for this instance of the routine.
43 integer mythid
44
45 c == local variables ==
46
47 character*(max_len_mbuf) msgbuf
48 #ifdef ALLOW_GENCOST_CONTRIBUTION
49 integer k, il, msgunit
50 #endif
51
52 c == external ==
53
54 integer ilnblnk
55 external ilnblnk
56
57 c == end of interface ==
58
59 write(msgbuf,'(a)')
60 &' '
61 call print_message( msgbuf, standardmessageunit,
62 & SQUEEZE_RIGHT , mythid)
63 write(msgbuf,'(a)')
64 &'// ======================================================='
65 call print_message( msgbuf, standardmessageunit,
66 & SQUEEZE_RIGHT , mythid)
67 write(msgbuf,'(a)')
68 &'// ECCO configuration >>> START <<<'
69 call print_message( msgbuf, standardmessageunit,
70 & SQUEEZE_RIGHT , mythid)
71 write(msgbuf,'(a)')
72 &'// ======================================================='
73 call print_message( msgbuf, standardmessageunit,
74 & SQUEEZE_RIGHT , mythid)
75
76 #ifdef ALLOW_OLD_ESTIM_CODES
77 write(msgbuf,'(a)')
78 &' '
79 call print_message( msgbuf, standardmessageunit,
80 & SQUEEZE_RIGHT , mythid)
81 write(msgbuf,'(a,a)')
82 &'ECCO version: ',eccoversion
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 &'Packages used: '
91 call print_message( msgbuf, standardmessageunit,
92 & SQUEEZE_RIGHT , mythid)
93 write(msgbuf,'(a,a)')
94 &'Calendar version: ',eccoUsesCalVersion
95 call print_message( msgbuf, standardmessageunit,
96 & SQUEEZE_RIGHT , mythid)
97 write(msgbuf,'(a,a)')
98 &'External Forcing version: ',eccoUsesExfVersion
99 call print_message( msgbuf, standardmessageunit,
100 & SQUEEZE_RIGHT , mythid)
101 write(msgbuf,'(a,a)')
102 &'Adjoint support version: ',eccoUsesAdsuppVersion
103 call print_message( msgbuf, standardmessageunit,
104 & SQUEEZE_RIGHT , mythid)
105 write(msgbuf,'(a,a)')
106 &'Optimization version: ',eccoUsesOptimVersion
107 call print_message( msgbuf, standardmessageunit,
108 & SQUEEZE_RIGHT , mythid)
109 write(msgbuf,'(a)')
110 &' '
111 call print_message( msgbuf, standardmessageunit,
112 & SQUEEZE_RIGHT , mythid)
113
114 c-- For each CPP option state if it is enabled or disabled.
115 c-- =======================================================
116
117 #ifdef ALLOW_ECCO_FORWARD_RUN
118 write(msgbuf,'(a)')
119 &'// ALLOW_ECCO_FORWARD_RUN: defined'
120 call print_message( msgbuf, standardmessageunit,
121 & SQUEEZE_RIGHT , mythid)
122 #else
123 write(msgbuf,'(a)')
124 &'// ALLOW_ECCO_FORWARD_RUN: NOT defined'
125 call print_message( msgbuf, standardmessageunit,
126 & SQUEEZE_RIGHT , mythid)
127 #endif
128
129 #ifdef ALLOW_ECCO_DIAGNOSTIC_RUN
130 write(msgbuf,'(a)')
131 &'// ALLOW_ECCO_DIAGNOSTIC_RUN: defined'
132 call print_message( msgbuf, standardmessageunit,
133 & SQUEEZE_RIGHT , mythid)
134 #else
135 write(msgbuf,'(a)')
136 &'// ALLOW_ECCO_DIAGNOSTIC_RUN: NOT defined'
137 call print_message( msgbuf, standardmessageunit,
138 & SQUEEZE_RIGHT , mythid)
139 #endif
140
141 #ifdef ALLOW_ADJOINT_RUN
142 write(msgbuf,'(a)')
143 &'// ALLOW_ADJOINT_RUN: defined'
144 call print_message( msgbuf, standardmessageunit,
145 & SQUEEZE_RIGHT , mythid)
146 #else
147 write(msgbuf,'(a)')
148 &'// ALLOW_ADJOINT_RUN: NOT defined'
149 call print_message( msgbuf, standardmessageunit,
150 & SQUEEZE_RIGHT , mythid)
151 #endif
152
153 #ifdef ALLOW_GRADIENT_CHECK
154 write(msgbuf,'(a)')
155 &'// ALLOW_GRADIENT_CHECK: defined'
156 call print_message( msgbuf, standardmessageunit,
157 & SQUEEZE_RIGHT , mythid)
158 #else
159 write(msgbuf,'(a)')
160 &'// ALLOW_GRADIENT_CHECK: NOT defined'
161 call print_message( msgbuf, standardmessageunit,
162 & SQUEEZE_RIGHT , mythid)
163 #endif
164
165 #ifdef ALLOW_ECCO_OPTIMIZATION
166 write(msgbuf,'(a)')
167 &'// ALLOW_ECCO_OPTIMIZATION: defined'
168 call print_message( msgbuf, standardmessageunit,
169 & SQUEEZE_RIGHT , mythid)
170 #else
171 write(msgbuf,'(a)')
172 &'// ALLOW_ECCO_OPTIMIZATION: NOT defined'
173 call print_message( msgbuf, standardmessageunit,
174 & SQUEEZE_RIGHT , mythid)
175 #endif
176
177 #ifdef ALLOW_NO_DYNAMICS
178 c-- Just do a "dry" run ( useful for testing ).
179 write(msgbuf,'(a)')
180 &'// ALLOW_NO_DYNAMICS: defined'
181 call print_message( msgbuf, standardmessageunit,
182 & SQUEEZE_RIGHT , mythid)
183 #else
184 write(msgbuf,'(a)')
185 &'// ALLOW_NO_DYNAMICS: NOT defined'
186 call print_message( msgbuf, standardmessageunit,
187 & SQUEEZE_RIGHT , mythid)
188 #endif
189
190
191 #ifdef ALLOW_YMDS_TREE
192 c-- Use the Yearly-Monthly-Daily-Stepping call tree.
193 write(msgbuf,'(a)')
194 &'// ALLOW_YMDS_TREE: defined'
195 call print_message( msgbuf, standardmessageunit,
196 & SQUEEZE_RIGHT , mythid)
197 #else
198 write(msgbuf,'(a)')
199 &'// ALLOW_YMDS_TREE: NOT defined'
200 call print_message( msgbuf, standardmessageunit,
201 & SQUEEZE_RIGHT , mythid)
202 #endif
203
204 #ifdef ALLOW_STEPPING_CALL
205 c-- Do not call stepping.
206 write(msgbuf,'(a)')
207 &'// ALLOW_STEPPING_CALL: defined'
208 call print_message( msgbuf, standardmessageunit,
209 & SQUEEZE_RIGHT , mythid)
210 #else
211 write(msgbuf,'(a)')
212 &'// ALLOW_STEPPING_CALL: NOT defined'
213 call print_message( msgbuf, standardmessageunit,
214 & SQUEEZE_RIGHT , mythid)
215 #endif
216
217 #ifdef ALLOW_NONDIMENSIONAL_CONTROL_IO
218 c-- Use non-dimensional vector of controls as input.
219 write(msgbuf,'(a)')
220 &'// ALLOW_NONDIMENSIONAL_CONTROL_IO: defined'
221 call print_message( msgbuf, standardmessageunit,
222 & SQUEEZE_RIGHT , mythid)
223 #else
224 write(msgbuf,'(a)')
225 &'// ALLOW_NONDIMENSIONAL_CONTROL_IO: NOT defined'
226 call print_message( msgbuf, standardmessageunit,
227 & SQUEEZE_RIGHT , mythid)
228 #endif
229
230 #ifdef ALLOW_EGM96_ERROR_COV
231 c-- Read the EGM error covariance from file.
232 write(msgbuf,'(a)')
233 &'// ALLOW_EGM96_ERROR_COV: defined'
234 call print_message( msgbuf, standardmessageunit,
235 & SQUEEZE_RIGHT , mythid)
236 #else
237 write(msgbuf,'(a)')
238 &'// ALLOW_EGM96_ERROR_COV: NOT defined'
239 call print_message( msgbuf, standardmessageunit,
240 & SQUEEZE_RIGHT , mythid)
241 #endif
242
243 #ifdef ALLOW_READ_EGM_DATA
244 c-- Read the EGM data from file.
245 write(msgbuf,'(a)')
246 &'// ALLOW_READ_EGM_DATA: defined'
247 call print_message( msgbuf, standardmessageunit,
248 & SQUEEZE_RIGHT , mythid)
249 #else
250 write(msgbuf,'(a)')
251 &'// ALLOW_READ_EGM_DATA: NOT defined'
252 call print_message( msgbuf, standardmessageunit,
253 & SQUEEZE_RIGHT , mythid)
254 #endif
255
256 #if (defined (ALLOW_SCAT_COST_CONTRIBUTION) || \
257 defined (ALLOW_DAILYSCAT_COST_CONTRIBUTION) )
258 c-- Use NSCAT data for getting the weights.
259 write(msgbuf,'(a)')
260 &'// ALLOW_SCAT_COST_CONTRIBUTION: defined'
261 call print_message( msgbuf, standardmessageunit,
262 & SQUEEZE_RIGHT , mythid)
263 #else
264 write(msgbuf,'(a)')
265 &'// ALLOW_SCAT_COST_CONTRIBUTION: NOT defined'
266 call print_message( msgbuf, standardmessageunit,
267 & SQUEEZE_RIGHT , mythid)
268 #endif
269
270 #ifdef ALLOW_HFLUX_COST_CONTRIBUTION
271 c-- Include code to use the heat flux contribution.
272 write(msgbuf,'(a)')
273 &'// ALLOW_HFLUX_COST_CONTRIBUTION: defined'
274 call print_message( msgbuf, standardmessageunit,
275 & SQUEEZE_RIGHT , mythid)
276 #else
277 write(msgbuf,'(a)')
278 &'// ALLOW_HFLUX_COST_CONTRIBUTION: NOT defined'
279 call print_message( msgbuf, standardmessageunit,
280 & SQUEEZE_RIGHT , mythid)
281 #endif
282
283 #ifdef ALLOW_SFLUX_COST_CONTRIBUTION
284 c-- Include code to use the salt flux contribution.
285 write(msgbuf,'(a)')
286 &'// ALLOW_SFLUX_COST_CONTRIBUTION: defined'
287 call print_message( msgbuf, standardmessageunit,
288 & SQUEEZE_RIGHT , mythid)
289 #else
290 write(msgbuf,'(a)')
291 &'// ALLOW_SFLUX_COST_CONTRIBUTION: NOT defined'
292 call print_message( msgbuf, standardmessageunit,
293 & SQUEEZE_RIGHT , mythid)
294 #endif
295
296 #ifdef ALLOW_USTRESS_COST_CONTRIBUTION
297 c-- Include code to use the zonal wind stress contribution.
298 write(msgbuf,'(a)')
299 &'// ALLOW_USTRESS_COST_CONTRIBUTION: defined'
300 call print_message( msgbuf, standardmessageunit,
301 & SQUEEZE_RIGHT , mythid)
302 #else
303 write(msgbuf,'(a)')
304 &'// ALLOW_USTRESS_COST_CONTRIBUTION: NOT defined'
305 call print_message( msgbuf, standardmessageunit,
306 & SQUEEZE_RIGHT , mythid)
307 #endif
308
309 #ifdef ALLOW_VSTRESS_COST_CONTRIBUTION
310 c-- Include code to use the meridional wind stress contribution.
311 write(msgbuf,'(a)')
312 &'// ALLOW_VSTRESS_COST_CONTRIBUTION: defined'
313 call print_message( msgbuf, standardmessageunit,
314 & SQUEEZE_RIGHT , mythid)
315 #else
316 write(msgbuf,'(a)')
317 &'// ALLOW_VSTRESS_COST_CONTRIBUTION: NOT defined'
318 call print_message( msgbuf, standardmessageunit,
319 & SQUEEZE_RIGHT , mythid)
320 #endif
321
322 #ifdef ALLOW_SIGMAR_COST_CONTRIBUTION
323 c-- Enable testing of the 3d sigmaR field contribution
324 c-- to the cost function.
325 write(msgbuf,'(a)')
326 &'// ALLOW_SIGMAR_COST_CONTRIBUTION: defined'
327 call print_message( msgbuf, standardmessageunit,
328 & SQUEEZE_RIGHT , mythid)
329 #else
330 write(msgbuf,'(a)')
331 &'// ALLOW_SIGMAR_COST_CONTRIBUTION: NOT defined'
332 call print_message( msgbuf, standardmessageunit,
333 & SQUEEZE_RIGHT , mythid)
334 #endif
335
336 #ifdef ALLOW_THETA_COST_CONTRIBUTION
337 c-- Enable testing of the 3d temperature field contribution
338 c-- to the cost function.
339 write(msgbuf,'(a)')
340 &'// ALLOW_THETA_COST_CONTRIBUTION: defined'
341 call print_message( msgbuf, standardmessageunit,
342 & SQUEEZE_RIGHT , mythid)
343 #else
344 write(msgbuf,'(a)')
345 &'// ALLOW_THETA_COST_CONTRIBUTION: NOT defined'
346 call print_message( msgbuf, standardmessageunit,
347 & SQUEEZE_RIGHT , mythid)
348 #endif
349
350 #ifdef ALLOW_SST_COST_CONTRIBUTION
351 c-- Enable testing of the sea surface temperature contribution
352 c-- to the cost function.
353 write(msgbuf,'(a)')
354 &'// ALLOW_SST_COST_CONTRIBUTION: defined'
355 call print_message( msgbuf, standardmessageunit,
356 & SQUEEZE_RIGHT , mythid)
357 #else
358 write(msgbuf,'(a)')
359 &'// ALLOW_SST_COST_CONTRIBUTION: NOT defined'
360 call print_message( msgbuf, standardmessageunit,
361 & SQUEEZE_RIGHT , mythid)
362 #endif
363
364 #ifdef ALLOW_SALT_COST_CONTRIBUTION
365 c-- Enable testing of the 3d salinity field contribution
366 c-- to the cost function.
367 write(msgbuf,'(a)')
368 &'// ALLOW_SALT_COST_CONTRIBUTION: defined'
369 call print_message( msgbuf, standardmessageunit,
370 & SQUEEZE_RIGHT , mythid)
371 #else
372 write(msgbuf,'(a)')
373 &'// ALLOW_SALT_COST_CONTRIBUTION: NOT defined'
374 call print_message( msgbuf, standardmessageunit,
375 & SQUEEZE_RIGHT , mythid)
376 #endif
377
378 #ifdef ALLOW_SSH_COST_CONTRIBUTION
379 c-- Enable testing of the sea surface height contribution
380 c-- to the cost function.
381 write(msgbuf,'(a)')
382 &'// ALLOW_SSH_COST_CONTRIBUTION: defined'
383 call print_message( msgbuf, standardmessageunit,
384 & SQUEEZE_RIGHT , mythid)
385 #else
386 write(msgbuf,'(a)')
387 &'// ALLOW_SSH_COST_CONTRIBUTION: NOT defined'
388 call print_message( msgbuf, standardmessageunit,
389 & SQUEEZE_RIGHT , mythid)
390 #endif
391
392 #ifdef APPLY_HFLUX_COST_CONTRIBUTION
393 c-- Enable testing of the heat flux contribution to the
394 c-- cost function.
395 write(msgbuf,'(a)')
396 &'// APPLY_HFLUX_COST_CONTRIBUTION: defined'
397 call print_message( msgbuf, standardmessageunit,
398 & SQUEEZE_RIGHT , mythid)
399 #else
400 write(msgbuf,'(a)')
401 &'// APPLY_HFLUX_COST_CONTRIBUTION: NOT defined'
402 call print_message( msgbuf, standardmessageunit,
403 & SQUEEZE_RIGHT , mythid)
404 #endif
405
406 #ifdef APPLY_SFLUX_COST_CONTRIBUTION
407 c-- Enable testing of the salt flux contribution to the
408 c-- cost function.
409 write(msgbuf,'(a)')
410 &'// APPLY_SFLUX_COST_CONTRIBUTION: defined'
411 call print_message( msgbuf, standardmessageunit,
412 & SQUEEZE_RIGHT , mythid)
413 #else
414 write(msgbuf,'(a)')
415 &'// APPLY_SFLUX_COST_CONTRIBUTION: NOT defined'
416 call print_message( msgbuf, standardmessageunit,
417 & SQUEEZE_RIGHT , mythid)
418 #endif
419
420 #ifdef APPLY_USTRESS_COST_CONTRIBUTION
421 c-- Enable testing of the zonal wind stress contribution
422 c-- to the cost function.
423 write(msgbuf,'(a)')
424 &'// APPLY_USTRESS_COST_CONTRIBUTION: defined'
425 call print_message( msgbuf, standardmessageunit,
426 & SQUEEZE_RIGHT , mythid)
427 #else
428 write(msgbuf,'(a)')
429 &'// APPLY_USTRESS_COST_CONTRIBUTION: NOT defined'
430 call print_message( msgbuf, standardmessageunit,
431 & SQUEEZE_RIGHT , mythid)
432 #endif
433
434 #ifdef APPLY_VSTRESS_COST_CONTRIBUTION
435 c-- Enable testing of the meridional wind stress contribution
436 c-- to the cost function.
437 write(msgbuf,'(a)')
438 &'// APPLY_VSTRESS_COST_CONTRIBUTION: defined'
439 call print_message( msgbuf, standardmessageunit,
440 & SQUEEZE_RIGHT , mythid)
441 #else
442 write(msgbuf,'(a)')
443 &'// APPLY_VSTRESS_COST_CONTRIBUTION: NOT defined'
444 call print_message( msgbuf, standardmessageunit,
445 & SQUEEZE_RIGHT , mythid)
446 #endif
447
448 #ifdef APPLY_THETA_COST_CONTRIBUTION
449 c-- Enable testing of the initial state temperature contribution
450 c-- to the cost function.
451 write(msgbuf,'(a)')
452 &'// APPLY_THETA_COST_CONTRIBUTION: defined'
453 call print_message( msgbuf, standardmessageunit,
454 & SQUEEZE_RIGHT , mythid)
455 #else
456 write(msgbuf,'(a)')
457 &'// APPLY_THETA_COST_CONTRIBUTION: NOT defined'
458 call print_message( msgbuf, standardmessageunit,
459 & SQUEEZE_RIGHT , mythid)
460 #endif
461
462 #ifdef APPLY_SALT_COST_CONTRIBUTION
463 c-- Enable testing of the initial state salinity contribution
464 c-- to the cost function.
465 write(msgbuf,'(a)')
466 &'// APPLY_SALT_COST_CONTRIBUTION: defined'
467 call print_message( msgbuf, standardmessageunit,
468 & SQUEEZE_RIGHT , mythid)
469 #else
470 write(msgbuf,'(a)')
471 &'// APPLY_SALT_COST_CONTRIBUTION: NOT defined'
472 call print_message( msgbuf, standardmessageunit,
473 & SQUEEZE_RIGHT , mythid)
474 #endif
475
476 #ifdef APPLY_SST_COST_CONTRIBUTION
477 c-- Enable testing of the sea surface temperature contribution
478 c-- to the cost function.
479 write(msgbuf,'(a)')
480 &'// APPLY_SST_COST_CONTRIBUTION: defined'
481 call print_message( msgbuf, standardmessageunit,
482 & SQUEEZE_RIGHT , mythid)
483 #else
484 write(msgbuf,'(a)')
485 &'// APPLY_SST_COST_CONTRIBUTION: NOT defined'
486 call print_message( msgbuf, standardmessageunit,
487 & SQUEEZE_RIGHT , mythid)
488 #endif
489
490 #ifdef APPLY_SSH_COST_CONTRIBUTION
491 c-- Enable testing of the sea surface height contribution
492 c-- to the cost function.
493 write(msgbuf,'(a)')
494 &'// APPLY_SSH_COST_CONTRIBUTION: defined'
495 call print_message( msgbuf, standardmessageunit,
496 & SQUEEZE_RIGHT , mythid)
497 #else
498 write(msgbuf,'(a)')
499 &'// APPLY_SSH_COST_CONTRIBUTION: NOT defined'
500 call print_message( msgbuf, standardmessageunit,
501 & SQUEEZE_RIGHT , mythid)
502 #endif
503
504 #ifdef ALLOW_SPH_PROJECTION
505 c-- Use projection onto spherical harmonics for the evaluation of
506 c-- the cost function contribution of the mean sea surface elevation.
507 write(msgbuf,'(a)')
508 &'// ALLOW_SPH_PROJECTION: defined'
509 call print_message( msgbuf, standardmessageunit,
510 & SQUEEZE_RIGHT , mythid)
511 #else
512 write(msgbuf,'(a)')
513 &'// ALLOW_SPH_PROJECTION: NOT defined'
514 call print_message( msgbuf, standardmessageunit,
515 & SQUEEZE_RIGHT , mythid)
516 #endif
517
518 #ifdef ALLOW_THETA0_CONTROL
519 c-- Initial state temperature used as part of the control vector.
520 write(msgbuf,'(a)')
521 &'// ALLOW_THETA0_CONTROL: defined'
522 call print_message( msgbuf, standardmessageunit,
523 & SQUEEZE_RIGHT , mythid)
524 #else
525 write(msgbuf,'(a)')
526 &'// ALLOW_THETA0_CONTROL: NOT defined'
527 call print_message( msgbuf, standardmessageunit,
528 & SQUEEZE_RIGHT , mythid)
529 #endif
530
531 #ifdef ALLOW_SALT0_CONTROL
532 c-- Initial state salinity used as part of the control vector.
533 write(msgbuf,'(a)')
534 &'// ALLOW_SALT0_CONTROL: defined'
535 call print_message( msgbuf, standardmessageunit,
536 & SQUEEZE_RIGHT , mythid)
537 #else
538 write(msgbuf,'(a)')
539 &'// ALLOW_SALT0_CONTROL: NOT defined'
540 call print_message( msgbuf, standardmessageunit,
541 & SQUEEZE_RIGHT , mythid)
542 #endif
543
544 #ifdef ALLOW_ETAN0_CONTROL
545 c-- Initial state sealevel used as part of the control vector.
546 write(msgbuf,'(a)')
547 &'// ALLOW_ETAN0_CONTROL: defined'
548 call print_message( msgbuf, standardmessageunit,
549 & SQUEEZE_RIGHT , mythid)
550 #else
551 write(msgbuf,'(a)')
552 &'// ALLOW_ETAN0_CONTROL: NOT defined'
553 call print_message( msgbuf, standardmessageunit,
554 & SQUEEZE_RIGHT , mythid)
555 #endif
556 #ifdef ALLOW_UVEL0_CONTROL
557 c-- Initial state velocity used as part of the control vector.
558 write(msgbuf,'(a)')
559 &'// ALLOW_UVEL0_CONTROL: defined'
560 call print_message( msgbuf, standardmessageunit,
561 & SQUEEZE_RIGHT , mythid)
562 #else
563 write(msgbuf,'(a)')
564 &'// ALLOW_UVEL0_CONTROL: NOT defined'
565 call print_message( msgbuf, standardmessageunit,
566 & SQUEEZE_RIGHT , mythid)
567 #endif
568 #ifdef ALLOW_VVEL0_CONTROL
569 c-- Initial state velocity used as part of the control vector.
570 write(msgbuf,'(a)')
571 &'// ALLOW_VVEL0_CONTROL: defined'
572 call print_message( msgbuf, standardmessageunit,
573 & SQUEEZE_RIGHT , mythid)
574 #else
575 write(msgbuf,'(a)')
576 &'// ALLOW_VVEL0_CONTROL: NOT defined'
577 call print_message( msgbuf, standardmessageunit,
578 & SQUEEZE_RIGHT , mythid)
579 #endif
580
581 #ifdef ALLOW_HFLUX_CONTROL
582 c-- Surface heat flux used as part of the control vector.
583 write(msgbuf,'(a)')
584 &'// ALLOW_HFLUX_CONTROL: defined'
585 call print_message( msgbuf, standardmessageunit,
586 & SQUEEZE_RIGHT , mythid)
587 #else
588 write(msgbuf,'(a)')
589 &'// ALLOW_HFLUX_CONTROL: NOT defined'
590 call print_message( msgbuf, standardmessageunit,
591 & SQUEEZE_RIGHT , mythid)
592 #endif
593
594 #ifdef ALLOW_SFLUX_CONTROL
595 c-- Short wave radiative flux used as part of the control vector.
596 write(msgbuf,'(a)')
597 &'// ALLOW_SFLUX_CONTROL: defined'
598 call print_message( msgbuf, standardmessageunit,
599 & SQUEEZE_RIGHT , mythid)
600 #else
601 write(msgbuf,'(a)')
602 &'// ALLOW_SFLUX_CONTROL: NOT defined'
603 call print_message( msgbuf, standardmessageunit,
604 & SQUEEZE_RIGHT , mythid)
605 #endif
606
607 #ifdef ALLOW_USTRESS_CONTROL
608 c-- Zonal wind stress used as part of the control vector.
609 write(msgbuf,'(a)')
610 &'// ALLOW_USTRESS_CONTROL: defined'
611 call print_message( msgbuf, standardmessageunit,
612 & SQUEEZE_RIGHT , mythid)
613 #else
614 write(msgbuf,'(a)')
615 &'// ALLOW_USTRESS_CONTROL: NOT defined'
616 call print_message( msgbuf, standardmessageunit,
617 & SQUEEZE_RIGHT , mythid)
618 #endif
619
620 #ifdef ALLOW_VSTRESS_CONTROL
621 c-- Meridional wind stress used as part of the control vector.
622 write(msgbuf,'(a)')
623 &'// ALLOW_VSTRESS_CONTROL: defined'
624 call print_message( msgbuf, standardmessageunit,
625 & SQUEEZE_RIGHT , mythid)
626 #else
627 write(msgbuf,'(a)')
628 &'// ALLOW_VSTRESS_CONTROL: NOT defined'
629 call print_message( msgbuf, standardmessageunit,
630 & SQUEEZE_RIGHT , mythid)
631 #endif
632
633 #ifdef ALLOW_SWFLUX_CONTROL
634 c-- Short wave radiative flux used as part of the control vector.
635 write(msgbuf,'(a)')
636 &'// ALLOW_SWFLUX_CONTROL: defined'
637 call print_message( msgbuf, standardmessageunit,
638 & SQUEEZE_RIGHT , mythid)
639 #else
640 write(msgbuf,'(a)')
641 &'// ALLOW_SWFLUX_CONTROL: NOT defined'
642 call print_message( msgbuf, standardmessageunit,
643 & SQUEEZE_RIGHT , mythid)
644 #endif
645
646 #ifdef ALLOW_SWDOWN_CONTROL
647 c-- Short wave radiative flux used as part of the control vector.
648 write(msgbuf,'(a)')
649 &'// ALLOW_SWDOWN_CONTROL: defined'
650 call print_message( msgbuf, standardmessageunit,
651 & SQUEEZE_RIGHT , mythid)
652 #else
653 write(msgbuf,'(a)')
654 &'// ALLOW_SWDOWN_CONTROL: NOT defined'
655 call print_message( msgbuf, standardmessageunit,
656 & SQUEEZE_RIGHT , mythid)
657 #endif
658
659 #ifdef ALLOW_ATEMP_CONTROL
660 c-- Atmospheric Temperature used as part of the control vector.
661 write(msgbuf,'(a)')
662 &'// ALLOW_ATEMP_CONTROL: defined'
663 call print_message( msgbuf, standardmessageunit,
664 & SQUEEZE_RIGHT , mythid)
665 #else
666 write(msgbuf,'(a)')
667 &'// ALLOW_ATEMP_CONTROL: NOT defined'
668 call print_message( msgbuf, standardmessageunit,
669 & SQUEEZE_RIGHT , mythid)
670 #endif
671
672 #ifdef ALLOW_AQH_CONTROL
673 c-- Specific humidity used as part of the control vector.
674 write(msgbuf,'(a)')
675 &'// ALLOW_AQH_CONTROL: defined'
676 call print_message( msgbuf, standardmessageunit,
677 & SQUEEZE_RIGHT , mythid)
678 #else
679 write(msgbuf,'(a)')
680 &'// ALLOW_AQH_CONTROL: NOT defined'
681 call print_message( msgbuf, standardmessageunit,
682 & SQUEEZE_RIGHT , mythid)
683 #endif
684
685 #ifdef ALLOW_UWIND_CONTROL
686 c-- Zonal winds used as part of the control vector.
687 write(msgbuf,'(a)')
688 &'// ALLOW_UWIND_CONTROL: defined'
689 call print_message( msgbuf, standardmessageunit,
690 & SQUEEZE_RIGHT , mythid)
691 #else
692 write(msgbuf,'(a)')
693 &'// ALLOW_UWIND_CONTROL: NOT defined'
694 call print_message( msgbuf, standardmessageunit,
695 & SQUEEZE_RIGHT , mythid)
696 #endif
697
698 #ifdef ALLOW_VWIND_CONTROL
699 c-- Meridional winds used as part of the control vector.
700 write(msgbuf,'(a)')
701 &'// ALLOW_VWIND_CONTROL: defined'
702 call print_message( msgbuf, standardmessageunit,
703 & SQUEEZE_RIGHT , mythid)
704 #else
705 write(msgbuf,'(a)')
706 &'// ALLOW_VWIND_CONTROL: NOT defined'
707 call print_message( msgbuf, standardmessageunit,
708 & SQUEEZE_RIGHT , mythid)
709 #endif
710
711 #ifdef ALLOW_PRECIP_CONTROL
712 c-- Precipitation used as part of the control vector.
713 write(msgbuf,'(a)')
714 &'// ALLOW_PRECIP_CONTROL: defined'
715 call print_message( msgbuf, standardmessageunit,
716 & SQUEEZE_RIGHT , mythid)
717 #else
718 write(msgbuf,'(a)')
719 &'// ALLOW_PRECIP_CONTROL: NOT defined'
720 call print_message( msgbuf, standardmessageunit,
721 & SQUEEZE_RIGHT , mythid)
722 #endif
723
724 #ifdef ALLOW_AUTODIFF_TAMC
725 c-- Enable automatic differentiation of the ECCO code.
726 write(msgbuf,'(a)')
727 &'// ALLOW_AUTODIFF_TAMC: defined'
728 call print_message( msgbuf, standardmessageunit,
729 & SQUEEZE_RIGHT , mythid)
730 #else
731 write(msgbuf,'(a)')
732 &'// ALLOW_AUTODIFF_TAMC: NOT defined'
733 call print_message( msgbuf, standardmessageunit,
734 & SQUEEZE_RIGHT , mythid)
735 #endif
736
737 #ifdef ALLOW_TAMC_CHECKPOINTING
738 c-- Checkpointing as handled by TAMC.
739 write(msgbuf,'(a)')
740 &'// ALLOW_TAMC_CHECKPOINTING: defined'
741 call print_message( msgbuf, standardmessageunit,
742 & SQUEEZE_RIGHT , mythid)
743 #else
744 write(msgbuf,'(a)')
745 &'// ALLOW_TAMC_CHECKPOINTING: NOT defined'
746 call print_message( msgbuf, standardmessageunit,
747 & SQUEEZE_RIGHT , mythid)
748 #endif
749
750 c-- General summary.
751 write(msgbuf,'(a)')
752 &' '
753 call print_message( msgbuf, standardmessageunit,
754 & SQUEEZE_RIGHT , mythid)
755 write(msgbuf,'(a,2x,a10)')
756 &' Experiment name:',expId
757 call print_message( msgbuf, standardmessageunit,
758 & SQUEEZE_RIGHT , mythid)
759
760 #ifdef ALLOW_AUTODIFF_TAMC
761 c-- Generation of adjoint code.
762 write(msgbuf,'(a)')
763 &' '
764 call print_message( msgbuf, standardmessageunit,
765 & SQUEEZE_RIGHT , mythid)
766 write(msgbuf,'(a)')
767 &' Generation of adjoint code for the ECCO setup is enabled'
768 call print_message( msgbuf, standardmessageunit,
769 & SQUEEZE_RIGHT , mythid)
770 write(msgbuf,'(a)')
771 #else
772 c-- Generation of adjoint code not enabled.
773 write(msgbuf,'(a)')
774 &' '
775 call print_message( msgbuf, standardmessageunit,
776 & SQUEEZE_RIGHT , mythid)
777 write(msgbuf,'(a)')
778 &' Generation of adjoint code for the ECCO setup is not enabled'
779 call print_message( msgbuf, standardmessageunit,
780 & SQUEEZE_RIGHT , mythid)
781 #endif
782 #endif /* ALLOW_OLD_ESTIM_CODES */
783
784
785 #ifdef ALLOW_GENCOST_CONTRIBUTION
786 msgunit=standardmessageunit
787 c--
788 write(msgbuf,'(a)') ' '
789 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
790 c--
791 do k = 1, NGENCOST
792 if (using_gencost(k)) then
793 c
794 il = ilnblnk(gencost_name(k))
795 write(msgbuf,'(a,i2,a,a)') 'gencost(',k,
796 & ') = ',gencost_name(k)(1:il)
797 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
798 write(msgbuf,'(a)') '-------------'
799 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
800 c
801 if ( gencost_datafile(k) .ne. ' ' ) then
802 il = ilnblnk(gencost_datafile(k))
803 write(msgbuf,'(a,a)') ' data file = ',gencost_datafile(k)(1:il)
804 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
805 write(msgbuf,'(a)') ' starts and ends at : '
806 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
807 CALL CAL_PRINTDATE(gencost_startdate(1,k),mythid)
808 CALL CAL_PRINTDATE(gencost_enddate(1,k),mythid)
809 write(msgbuf,'(a,i5)') ' no. of records = ',
810 & gencost_nrec(k)
811 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
812 write(msgbuf,'(a,i5)') ' per. of repeat = ',
813 & gencost_nrecperiod(k)
814 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
815 endif
816 c
817 il = ilnblnk(gencost_barfile(k))
818 write(msgbuf,'(a,a)') ' model file = ',gencost_barfile(k)(1:il)
819 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
820 il = ilnblnk(gencost_errfile(k))
821 write(msgbuf,'(a,a)') ' error file = ',gencost_errfile(k)(1:il)
822 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
823 il = ilnblnk(gencost_scalefile(k))
824 write(msgbuf,'(a,a)') ' scale file = ',
825 & gencost_scalefile(k)(1:il)
826 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
827 write(msgbuf,'(a,a)') ' preprocess = ',gencost_preproc(k)
828 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
829 write(msgbuf,'(a,a)') ' posprocess = ',gencost_posproc(k)
830 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
831 c
832 write(msgbuf,'(a,i2,L2,i2,L2,L2,i2,a)') ' flags etc. = ',
833 & gencost_flag(k), gencost_is3d(k),gencost_pointer3d(k),
834 & gencost_timevaryweight(k), gencost_barskip(k),
835 & gencost_outputlevel(k)
836 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
837
838 write(msgbuf,'(a)') ' '
839 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
840 c
841 endif
842 enddo
843 c--
844 write(msgbuf,'(a)') ' '
845 call print_message( msgbuf, msgunit, SQUEEZE_RIGHT , mythid)
846 #endif /* ALLOW_GENCOST_CONTRIBUTION */
847
848 write(msgbuf,'(a)')
849 &' '
850 call print_message( msgbuf, standardmessageunit,
851 & SQUEEZE_RIGHT , mythid)
852 write(msgbuf,'(a)')
853 &'// ======================================================='
854 call print_message( msgbuf, standardmessageunit,
855 & SQUEEZE_RIGHT , mythid)
856 write(msgbuf,'(a)')
857 &'// ECCO configuration >>> END <<<'
858 call print_message( msgbuf, standardmessageunit,
859 & SQUEEZE_RIGHT , mythid)
860 write(msgbuf,'(a)')
861 &'// ======================================================='
862 call print_message( msgbuf, standardmessageunit,
863 & SQUEEZE_RIGHT , mythid)
864 write(msgbuf,'(a)')
865 &' '
866 call print_message( msgbuf, standardmessageunit,
867 & SQUEEZE_RIGHT , mythid)
868
869 return
870 end
871

  ViewVC Help
Powered by ViewVC 1.1.22