1 |
c $Header: /u/gcmpack/MITgcm/pkg/exf/exf_summary.F,v 1.2 2002/11/12 20:34:41 heimbach Exp $ |
2 |
|
3 |
#include "EXF_CPPOPTIONS.h" |
4 |
|
5 |
|
6 |
subroutine exf_Summary( |
7 |
I mythid |
8 |
& ) |
9 |
|
10 |
c ================================================================== |
11 |
c SUBROUTINE exf_Summary |
12 |
c ================================================================== |
13 |
c |
14 |
c o List all the settings of the external forcing. |
15 |
c |
16 |
c started: Christian Eckert eckert@mit.edu 11-Jan-1999 |
17 |
c |
18 |
c changed: Christian Eckert eckert@mit.edu 12-Feb-2000 |
19 |
c |
20 |
c - Changed Routine names (package prefix: exf_) |
21 |
c |
22 |
c Patrick Heimbach, heimbach@mit.edu 04-May-2000 |
23 |
c |
24 |
c - changed the handling of precip and sflux with respect |
25 |
c to CPP options ALLOW_BULKFORMULAE and ALLOW_ATM_TEMP |
26 |
c |
27 |
c Dimitris Menemenlis menemenlis@jpl.nasa.gov 20-Dec-2002 |
28 |
c |
29 |
c - Added EXF_READ_EVAP and EXF_NO_BULK_COMPUTATIONS. |
30 |
c |
31 |
c ================================================================== |
32 |
c SUBROUTINE exf_Summary |
33 |
c ================================================================== |
34 |
|
35 |
implicit none |
36 |
|
37 |
c == global variables == |
38 |
|
39 |
#include "EEPARAMS.h" |
40 |
#include "SIZE.h" |
41 |
#include "cal.h" |
42 |
#include "exf.h" |
43 |
#include "exf_param.h" |
44 |
|
45 |
c == routine arguments == |
46 |
|
47 |
c mythid - thread number for this instance of the routine. |
48 |
|
49 |
integer mythid |
50 |
|
51 |
c == local variables == |
52 |
|
53 |
integer i |
54 |
integer il |
55 |
integer timeint(4) |
56 |
|
57 |
character*(max_len_mbuf) msgbuf |
58 |
|
59 |
c == external == |
60 |
|
61 |
integer ilnblnk |
62 |
external ilnblnk |
63 |
|
64 |
c == end of interface == |
65 |
|
66 |
write(msgbuf,'(a)') |
67 |
&' ' |
68 |
call print_message( msgbuf, standardmessageunit, |
69 |
& SQUEEZE_RIGHT , mythid) |
70 |
write(msgbuf,'(a)') |
71 |
&'// =======================================================' |
72 |
call print_message( msgbuf, standardmessageunit, |
73 |
& SQUEEZE_RIGHT , mythid) |
74 |
write(msgbuf,'(a)') |
75 |
&'// External forcing configuration >>> START <<<' |
76 |
call print_message( msgbuf, standardmessageunit, |
77 |
& SQUEEZE_RIGHT , mythid) |
78 |
write(msgbuf,'(a)') |
79 |
&'// =======================================================' |
80 |
call print_message( msgbuf, standardmessageunit, |
81 |
& SQUEEZE_RIGHT , mythid) |
82 |
write(msgbuf,'(a)') |
83 |
&' ' |
84 |
call print_message( msgbuf, standardmessageunit, |
85 |
& SQUEEZE_RIGHT , mythid) |
86 |
write(msgbuf,'(a,a)') |
87 |
&'External forcing version: ',externalforcingversion |
88 |
call print_message( msgbuf, standardmessageunit, |
89 |
& SQUEEZE_RIGHT , mythid) |
90 |
write(msgbuf,'(a,a)') |
91 |
&'Uses Calendar version: ',usescalendarversion |
92 |
call print_message( msgbuf, standardmessageunit, |
93 |
& SQUEEZE_RIGHT , mythid) |
94 |
write(msgbuf,'(a)') |
95 |
&' ' |
96 |
call print_message( msgbuf, standardmessageunit, |
97 |
& SQUEEZE_RIGHT , mythid) |
98 |
|
99 |
c For each data set used the summary prints the calendar data |
100 |
c and the corresponding file from which the data will be read. |
101 |
|
102 |
#ifdef ALLOW_BULKFORMULAE |
103 |
write(msgbuf,'(a)') |
104 |
&'// ALLOW_BULKFORMULAE: defined' |
105 |
call print_message( msgbuf, standardmessageunit, |
106 |
& SQUEEZE_RIGHT , mythid) |
107 |
#ifdef ALLOW_ATM_TEMP |
108 |
write(msgbuf,'(a)') |
109 |
&'// ' |
110 |
call print_message( msgbuf, standardmessageunit, |
111 |
& SQUEEZE_RIGHT , mythid) |
112 |
write(msgbuf,'(a)') |
113 |
&'// ALLOW_ATM_TEMP: defined' |
114 |
call print_message( msgbuf, standardmessageunit, |
115 |
& SQUEEZE_RIGHT , mythid) |
116 |
#else |
117 |
write(msgbuf,'(a)') |
118 |
&'// ' |
119 |
call print_message( msgbuf, standardmessageunit, |
120 |
& SQUEEZE_RIGHT , mythid) |
121 |
write(msgbuf,'(a)') |
122 |
&'// ALLOW_ATM_TEMP: NOT defined' |
123 |
call print_message( msgbuf, standardmessageunit, |
124 |
& SQUEEZE_RIGHT , mythid) |
125 |
#endif |
126 |
#ifdef ALLOW_ATM_WIND |
127 |
write(msgbuf,'(a)') |
128 |
&'// ALLOW_ATM_WIND: defined' |
129 |
call print_message( msgbuf, standardmessageunit, |
130 |
& SQUEEZE_RIGHT , mythid) |
131 |
#else |
132 |
write(msgbuf,'(a)') |
133 |
&'// ALLOW_ATM_WIND: NOT defined' |
134 |
call print_message( msgbuf, standardmessageunit, |
135 |
& SQUEEZE_RIGHT , mythid) |
136 |
#endif |
137 |
#ifdef EXF_NO_BULK_COMPUTATIONS |
138 |
write(msgbuf,'(a)') |
139 |
&'// EXF_NO_BULK_COMPUTATIONS: defined' |
140 |
call print_message( msgbuf, standardmessageunit, |
141 |
& SQUEEZE_RIGHT , mythid) |
142 |
#else |
143 |
write(msgbuf,'(a)') |
144 |
&'// EXF_NO_BULK_COMPUTATIONS: NOT defined' |
145 |
call print_message( msgbuf, standardmessageunit, |
146 |
& SQUEEZE_RIGHT , mythid) |
147 |
#endif |
148 |
#else |
149 |
write(msgbuf,'(a)') |
150 |
&'// ALLOW_BULKFORMULAE: NOT defined' |
151 |
call print_message( msgbuf, standardmessageunit, |
152 |
& SQUEEZE_RIGHT , mythid) |
153 |
#endif |
154 |
|
155 |
#ifdef ALLOW_KPP |
156 |
write(msgbuf,'(a)') |
157 |
&'// ALLOW_KPP: defined' |
158 |
call print_message( msgbuf, standardmessageunit, |
159 |
& SQUEEZE_RIGHT , mythid) |
160 |
#else |
161 |
write(msgbuf,'(a)') |
162 |
&'// ALLOW_KPP: NOT defined' |
163 |
call print_message( msgbuf, standardmessageunit, |
164 |
& SQUEEZE_RIGHT , mythid) |
165 |
#endif |
166 |
|
167 |
#ifdef EXF_READ_EVAP |
168 |
write(msgbuf,'(a)') |
169 |
&'// EXF_READ_EVAP: defined' |
170 |
call print_message( msgbuf, standardmessageunit, |
171 |
& SQUEEZE_RIGHT , mythid) |
172 |
il = ilnblnk(evapfile) |
173 |
call cal_TimeInterval( evapperiod, 'secs', timeint, mythid ) |
174 |
|
175 |
write(msgbuf,'(a)') |
176 |
&' ' |
177 |
call print_message( msgbuf, standardmessageunit, |
178 |
& SQUEEZE_RIGHT , mythid) |
179 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
180 |
&' Evaporation starts at ', |
181 |
& (evapstartdate(i), i=1,2), dayofweek(evapstartdate(4)), |
182 |
& '.' |
183 |
call print_message( msgbuf, standardmessageunit, |
184 |
& SQUEEZE_RIGHT , mythid) |
185 |
write(msgbuf,'(a,i9.8,i7.6)') |
186 |
&' Evaporation period is ', |
187 |
& (timeint(i), i=1,2) |
188 |
call print_message( msgbuf, standardmessageunit, |
189 |
& SQUEEZE_RIGHT , mythid) |
190 |
write(msgbuf,'(a)') |
191 |
&' Evaporation is read from file:' |
192 |
call print_message( msgbuf, standardmessageunit, |
193 |
& SQUEEZE_RIGHT , mythid) |
194 |
write(msgbuf,'(a,a,a)') |
195 |
&' >> ',evapfile(1:il),' <<' |
196 |
call print_message( msgbuf, standardmessageunit, |
197 |
& SQUEEZE_RIGHT , mythid) |
198 |
#else EXF_READ_EVAP |
199 |
write(msgbuf,'(a)') |
200 |
&'// EXF_READ_EVAP: NOT defined' |
201 |
call print_message( msgbuf, standardmessageunit, |
202 |
& SQUEEZE_RIGHT , mythid) |
203 |
#endif EXF_READ_EVAP |
204 |
|
205 |
#ifdef ALLOW_RUNOFF |
206 |
write(msgbuf,'(a)') |
207 |
&'// ALLOW_RUNOFF: defined' |
208 |
call print_message( msgbuf, standardmessageunit, |
209 |
& SQUEEZE_RIGHT , mythid) |
210 |
il = ilnblnk(runofffile) |
211 |
call cal_TimeInterval( runoffperiod, '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 |
&' Runnoff starts at ', |
219 |
& (runoffstartdate(i), i=1,2), dayofweek(runoffstartdate(4)), |
220 |
& '.' |
221 |
call print_message( msgbuf, standardmessageunit, |
222 |
& SQUEEZE_RIGHT , mythid) |
223 |
write(msgbuf,'(a,i9.8,i7.6)') |
224 |
&' Runoff period is ', |
225 |
& (timeint(i), i=1,2) |
226 |
call print_message( msgbuf, standardmessageunit, |
227 |
& SQUEEZE_RIGHT , mythid) |
228 |
write(msgbuf,'(a)') |
229 |
&' Runoff is read from file:' |
230 |
call print_message( msgbuf, standardmessageunit, |
231 |
& SQUEEZE_RIGHT , mythid) |
232 |
write(msgbuf,'(a,a,a)') |
233 |
&' >> ',runofffile(1:il),' <<' |
234 |
call print_message( msgbuf, standardmessageunit, |
235 |
& SQUEEZE_RIGHT , mythid) |
236 |
#else ALLOW_RUNOFF |
237 |
write(msgbuf,'(a)') |
238 |
&'// ALLOW_RUNOFF: NOT defined' |
239 |
call print_message( msgbuf, standardmessageunit, |
240 |
& SQUEEZE_RIGHT , mythid) |
241 |
#endif ALLOW_RUNOFF |
242 |
|
243 |
#ifdef ALLOW_BULKFORMULAE |
244 |
|
245 |
#ifdef ALLOW_ATM_TEMP |
246 |
c Atmospheric temperature. |
247 |
il = ilnblnk(atempfile) |
248 |
call cal_TimeInterval( atempperiod, 'secs', timeint, mythid ) |
249 |
|
250 |
write(msgbuf,'(a)') |
251 |
&' ' |
252 |
call print_message( msgbuf, standardmessageunit, |
253 |
& SQUEEZE_RIGHT , mythid) |
254 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
255 |
&' Atmospheric temperature starts at ', |
256 |
& (atempstartdate(i), i=1,2), dayofweek(atempstartdate(4)), |
257 |
& '.' |
258 |
call print_message( msgbuf, standardmessageunit, |
259 |
& SQUEEZE_RIGHT , mythid) |
260 |
write(msgbuf,'(a,i9.8,i7.6)') |
261 |
&' Atmospheric temperature period is ', |
262 |
& (timeint(i), i=1,2) |
263 |
call print_message( msgbuf, standardmessageunit, |
264 |
& SQUEEZE_RIGHT , mythid) |
265 |
write(msgbuf,'(a)') |
266 |
&' Atmospheric temperature is read from file:' |
267 |
call print_message( msgbuf, standardmessageunit, |
268 |
& SQUEEZE_RIGHT , mythid) |
269 |
write(msgbuf,'(a,a,a)') |
270 |
&' >> ',atempfile(1:il),' <<' |
271 |
call print_message( msgbuf, standardmessageunit, |
272 |
& SQUEEZE_RIGHT , mythid) |
273 |
|
274 |
c Atmospheric specific humidity. |
275 |
il = ilnblnk(aqhfile) |
276 |
call cal_TimeInterval( aqhperiod, 'secs', timeint, mythid ) |
277 |
|
278 |
write(msgbuf,'(a)') |
279 |
&' ' |
280 |
call print_message( msgbuf, standardmessageunit, |
281 |
& SQUEEZE_RIGHT , mythid) |
282 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
283 |
&' Atmospheric specific humidity starts at ', |
284 |
& (aqhstartdate(i), i=1,2), dayofweek(aqhstartdate(4)), |
285 |
& '.' |
286 |
call print_message( msgbuf, standardmessageunit, |
287 |
& SQUEEZE_RIGHT , mythid) |
288 |
write(msgbuf,'(a,i9.8,i7.6)') |
289 |
&' Atmospheric specific humidity period is ', |
290 |
& (timeint(i), i=1,2) |
291 |
call print_message( msgbuf, standardmessageunit, |
292 |
& SQUEEZE_RIGHT , mythid) |
293 |
write(msgbuf,'(a)') |
294 |
&' Atmospheric specific humidity is read from file:' |
295 |
call print_message( msgbuf, standardmessageunit, |
296 |
& SQUEEZE_RIGHT , mythid) |
297 |
write(msgbuf,'(a,a,a)') |
298 |
&' >> ',aqhfile(1:il),' <<' |
299 |
call print_message( msgbuf, standardmessageunit, |
300 |
& SQUEEZE_RIGHT , mythid) |
301 |
|
302 |
c Short wave radiative flux. |
303 |
il = ilnblnk(swfluxfile) |
304 |
call cal_TimeInterval( swfluxperiod, 'secs', timeint, mythid ) |
305 |
|
306 |
write(msgbuf,'(a)') |
307 |
&' ' |
308 |
call print_message( msgbuf, standardmessageunit, |
309 |
& SQUEEZE_RIGHT , mythid) |
310 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
311 |
&' Short wave rad. flux forcing starts at ', |
312 |
& (swfluxstartdate(i), i=1,2), dayofweek(swfluxstartdate(4)), |
313 |
& '.' |
314 |
call print_message( msgbuf, standardmessageunit, |
315 |
& SQUEEZE_RIGHT , mythid) |
316 |
write(msgbuf,'(a,i9.8,i7.6)') |
317 |
&' Short wave rad. flux forcing period is ', |
318 |
& (timeint(i), i=1,2) |
319 |
call print_message( msgbuf, standardmessageunit, |
320 |
& SQUEEZE_RIGHT , mythid) |
321 |
write(msgbuf,'(a)') |
322 |
&' Short wave rad. flux forcing is read from file:' |
323 |
call print_message( msgbuf, standardmessageunit, |
324 |
& SQUEEZE_RIGHT , mythid) |
325 |
write(msgbuf,'(a,a,a)') |
326 |
&' >> ',swfluxfile(1:il),' <<' |
327 |
call print_message( msgbuf, standardmessageunit, |
328 |
& SQUEEZE_RIGHT , mythid) |
329 |
|
330 |
c Long wave radiative flux. |
331 |
il = ilnblnk(lwfluxfile) |
332 |
call cal_TimeInterval( lwfluxperiod, 'secs', timeint, mythid ) |
333 |
|
334 |
write(msgbuf,'(a)') |
335 |
&' ' |
336 |
call print_message( msgbuf, standardmessageunit, |
337 |
& SQUEEZE_RIGHT , mythid) |
338 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
339 |
&' Long wave rad. flux forcing starts at ', |
340 |
& (lwfluxstartdate(i), i=1,2), dayofweek(lwfluxstartdate(4)), |
341 |
& '.' |
342 |
call print_message( msgbuf, standardmessageunit, |
343 |
& SQUEEZE_RIGHT , mythid) |
344 |
write(msgbuf,'(a,i9.8,i7.6)') |
345 |
&' Long wave rad. flux forcing period is ', |
346 |
& (timeint(i), i=1,2) |
347 |
call print_message( msgbuf, standardmessageunit, |
348 |
& SQUEEZE_RIGHT , mythid) |
349 |
write(msgbuf,'(a)') |
350 |
&' Long wave rad. flux forcing is read from file:' |
351 |
call print_message( msgbuf, standardmessageunit, |
352 |
& SQUEEZE_RIGHT , mythid) |
353 |
write(msgbuf,'(a,a,a)') |
354 |
&' >> ',lwfluxfile(1:il),' <<' |
355 |
call print_message( msgbuf, standardmessageunit, |
356 |
& SQUEEZE_RIGHT , mythid) |
357 |
|
358 |
c Precipitation. |
359 |
il = ilnblnk(precipfile) |
360 |
call cal_TimeInterval( precipperiod, 'secs', timeint, mythid ) |
361 |
|
362 |
write(msgbuf,'(a)') |
363 |
&' ' |
364 |
call print_message( msgbuf, standardmessageunit, |
365 |
& SQUEEZE_RIGHT , mythid) |
366 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
367 |
&' Precipitation data set starts at ', |
368 |
& (precipstartdate(i), i=1,2), dayofweek(precipstartdate(4)), |
369 |
&'.' |
370 |
call print_message( msgbuf, standardmessageunit, |
371 |
& SQUEEZE_RIGHT , mythid) |
372 |
write(msgbuf,'(a,i9.8,i7.6)') |
373 |
&' Precipitation data period is ', |
374 |
& (timeint(i), i=1,2) |
375 |
call print_message( msgbuf, standardmessageunit, |
376 |
& SQUEEZE_RIGHT , mythid) |
377 |
write(msgbuf,'(a)') |
378 |
&' Precipitation data is read from file: ' |
379 |
call print_message( msgbuf, standardmessageunit, |
380 |
& SQUEEZE_RIGHT , mythid) |
381 |
write(msgbuf,'(a,a,a)') |
382 |
&' >> ',precipfile(1:il),' <<' |
383 |
call print_message( msgbuf, standardmessageunit, |
384 |
& SQUEEZE_RIGHT , mythid) |
385 |
|
386 |
#else |
387 |
c Heat flux. |
388 |
il = ilnblnk(hfluxfile) |
389 |
call cal_TimeInterval( hfluxperiod, 'secs', timeint, mythid ) |
390 |
|
391 |
write(msgbuf,'(a)') |
392 |
&' ' |
393 |
call print_message( msgbuf, standardmessageunit, |
394 |
& SQUEEZE_RIGHT , mythid) |
395 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
396 |
&' Heat flux forcing starts at ', |
397 |
& (hfluxstartdate(i), i=1,2), dayofweek(hfluxstartdate(4)),'.' |
398 |
call print_message( msgbuf, standardmessageunit, |
399 |
& SQUEEZE_RIGHT , mythid) |
400 |
write(msgbuf,'(a,i9.8,i7.6)') |
401 |
&' Heat flux forcing period is ', |
402 |
& (timeint(i), i=1,2) |
403 |
call print_message( msgbuf, standardmessageunit, |
404 |
& SQUEEZE_RIGHT , mythid) |
405 |
write(msgbuf,'(a)') |
406 |
&' Heat flux forcing is read from file: ' |
407 |
call print_message( msgbuf, standardmessageunit, |
408 |
& SQUEEZE_RIGHT , mythid) |
409 |
write(msgbuf,'(a,a,a)') |
410 |
&' >> ',hfluxfile(1:il),' <<' |
411 |
call print_message( msgbuf, standardmessageunit, |
412 |
& SQUEEZE_RIGHT , mythid) |
413 |
|
414 |
c Salt flux. |
415 |
il = ilnblnk(sfluxfile) |
416 |
call cal_TimeInterval( sfluxperiod, 'secs', timeint, mythid ) |
417 |
|
418 |
write(msgbuf,'(a)') |
419 |
&' ' |
420 |
call print_message( msgbuf, standardmessageunit, |
421 |
& SQUEEZE_RIGHT , mythid) |
422 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
423 |
&' Salt flux forcing starts at ', |
424 |
& (sfluxstartdate(i), i=1,2), dayofweek(sfluxstartdate(4)),'.' |
425 |
call print_message( msgbuf, standardmessageunit, |
426 |
& SQUEEZE_RIGHT , mythid) |
427 |
write(msgbuf,'(a,i9.8,i7.6)') |
428 |
&' Salt flux forcing period is ', |
429 |
& (timeint(i), i=1,2) |
430 |
call print_message( msgbuf, standardmessageunit, |
431 |
& SQUEEZE_RIGHT , mythid) |
432 |
write(msgbuf,'(a)') |
433 |
&' Salt flux forcing is read from file: ' |
434 |
call print_message( msgbuf, standardmessageunit, |
435 |
& SQUEEZE_RIGHT , mythid) |
436 |
write(msgbuf,'(a,a,a)') |
437 |
&' >> ',sfluxfile(1:il),' <<' |
438 |
call print_message( msgbuf, standardmessageunit, |
439 |
& SQUEEZE_RIGHT , mythid) |
440 |
|
441 |
#ifdef ALLOW_KPP |
442 |
c Short wave radiative flux. |
443 |
il = ilnblnk(swfluxfile) |
444 |
call cal_TimeInterval( swfluxperiod, 'secs', timeint, mythid ) |
445 |
|
446 |
write(msgbuf,'(a)') |
447 |
&' ' |
448 |
call print_message( msgbuf, standardmessageunit, |
449 |
& SQUEEZE_RIGHT , mythid) |
450 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
451 |
&' Short wave rad. flux forcing starts at ', |
452 |
& (swfluxstartdate(i), i=1,2), dayofweek(swfluxstartdate(4)), |
453 |
& '.' |
454 |
call print_message( msgbuf, standardmessageunit, |
455 |
& SQUEEZE_RIGHT , mythid) |
456 |
write(msgbuf,'(a,i9.8,i7.6)') |
457 |
&' Short wave rad. flux forcing period is ', |
458 |
& (timeint(i), i=1,2) |
459 |
call print_message( msgbuf, standardmessageunit, |
460 |
& SQUEEZE_RIGHT , mythid) |
461 |
write(msgbuf,'(a)') |
462 |
&' Short wave rad. flux forcing is read from file:' |
463 |
call print_message( msgbuf, standardmessageunit, |
464 |
& SQUEEZE_RIGHT , mythid) |
465 |
write(msgbuf,'(a,a,a)') |
466 |
&' >> ',swfluxfile(1:il),' <<' |
467 |
call print_message( msgbuf, standardmessageunit, |
468 |
& SQUEEZE_RIGHT , mythid) |
469 |
#endif |
470 |
#endif |
471 |
|
472 |
#ifdef ALLOW_ATM_WIND |
473 |
c Zonal wind. |
474 |
il = ilnblnk(uwindfile) |
475 |
call cal_TimeInterval( uwindperiod, 'secs', timeint, mythid ) |
476 |
|
477 |
write(msgbuf,'(a)') |
478 |
&' ' |
479 |
call print_message( msgbuf, standardmessageunit, |
480 |
& SQUEEZE_RIGHT , mythid) |
481 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
482 |
&' Zonal wind forcing starts at ', |
483 |
& (uwindstartdate(i), i=1,2), dayofweek(uwindstartdate(4)), |
484 |
& '.' |
485 |
call print_message( msgbuf, standardmessageunit, |
486 |
& SQUEEZE_RIGHT , mythid) |
487 |
write(msgbuf,'(a,i9.8,i7.6)') |
488 |
&' Zonal wind forcing period is ', |
489 |
& (timeint(i), i=1,2) |
490 |
call print_message( msgbuf, standardmessageunit, |
491 |
& SQUEEZE_RIGHT , mythid) |
492 |
write(msgbuf,'(a)') |
493 |
&' Zonal wind forcing is read from file:' |
494 |
call print_message( msgbuf, standardmessageunit, |
495 |
& SQUEEZE_RIGHT , mythid) |
496 |
write(msgbuf,'(a,a,a)') |
497 |
&' >> ',uwindfile(1:il),' <<' |
498 |
call print_message( msgbuf, standardmessageunit, |
499 |
& SQUEEZE_RIGHT , mythid) |
500 |
|
501 |
c Meridional wind. |
502 |
il = ilnblnk(vwindfile) |
503 |
call cal_TimeInterval( vwindperiod, 'secs', timeint, mythid ) |
504 |
|
505 |
write(msgbuf,'(a)') |
506 |
&' ' |
507 |
call print_message( msgbuf, standardmessageunit, |
508 |
& SQUEEZE_RIGHT , mythid) |
509 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
510 |
&' Meridional wind forcing starts at ', |
511 |
& (vwindstartdate(i), i=1,2), dayofweek(vwindstartdate(4)), |
512 |
& '.' |
513 |
call print_message( msgbuf, standardmessageunit, |
514 |
& SQUEEZE_RIGHT , mythid) |
515 |
write(msgbuf,'(a,i9.8,i7.6)') |
516 |
&' Meridional wind forcing period is ', |
517 |
& (timeint(i), i=1,2) |
518 |
call print_message( msgbuf, standardmessageunit, |
519 |
& SQUEEZE_RIGHT , mythid) |
520 |
write(msgbuf,'(a)') |
521 |
&' Meridional wind forcing is read from file:' |
522 |
call print_message( msgbuf, standardmessageunit, |
523 |
& SQUEEZE_RIGHT , mythid) |
524 |
write(msgbuf,'(a,a,a)') |
525 |
&' >> ',vwindfile(1:il),' <<' |
526 |
call print_message( msgbuf, standardmessageunit, |
527 |
& SQUEEZE_RIGHT , mythid) |
528 |
#else |
529 |
c Zonal wind stress. |
530 |
il = ilnblnk(ustressfile) |
531 |
call cal_TimeInterval( ustressperiod, 'secs', timeint, mythid ) |
532 |
|
533 |
write(msgbuf,'(a)') |
534 |
&' ' |
535 |
call print_message( msgbuf, standardmessageunit, |
536 |
& SQUEEZE_RIGHT , mythid) |
537 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
538 |
&' Zonal wind stress forcing starts at ', |
539 |
& (ustressstartdate(i), i=1,2), dayofweek(ustressstartdate(4)), |
540 |
& '.' |
541 |
call print_message( msgbuf, standardmessageunit, |
542 |
& SQUEEZE_RIGHT , mythid) |
543 |
write(msgbuf,'(a,i9.8,i7.6)') |
544 |
&' Zonal wind stress forcing period is ', |
545 |
& (timeint(i), i=1,2) |
546 |
call print_message( msgbuf, standardmessageunit, |
547 |
& SQUEEZE_RIGHT , mythid) |
548 |
write(msgbuf,'(a)') |
549 |
&' Zonal wind stress forcing is read from file:' |
550 |
call print_message( msgbuf, standardmessageunit, |
551 |
& SQUEEZE_RIGHT , mythid) |
552 |
write(msgbuf,'(a,a,a)') |
553 |
&' >> ',ustressfile(1:il),' <<' |
554 |
call print_message( msgbuf, standardmessageunit, |
555 |
& SQUEEZE_RIGHT , mythid) |
556 |
|
557 |
c Meridional wind stress. |
558 |
il = ilnblnk(vstressfile) |
559 |
call cal_TimeInterval( vstressperiod, 'secs', timeint, mythid ) |
560 |
|
561 |
write(msgbuf,'(a)') |
562 |
&' ' |
563 |
call print_message( msgbuf, standardmessageunit, |
564 |
& SQUEEZE_RIGHT , mythid) |
565 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
566 |
&' Meridional wind stress forcing starts at ', |
567 |
& (vstressstartdate(i), i=1,2), dayofweek(vstressstartdate(4)), |
568 |
& '.' |
569 |
call print_message( msgbuf, standardmessageunit, |
570 |
& SQUEEZE_RIGHT , mythid) |
571 |
write(msgbuf,'(a,i9.8,i7.6)') |
572 |
&' Meridional wind stress forcing period is ', |
573 |
& (timeint(i), i=1,2) |
574 |
call print_message( msgbuf, standardmessageunit, |
575 |
& SQUEEZE_RIGHT , mythid) |
576 |
write(msgbuf,'(a)') |
577 |
&' Meridional wind stress forcing is read from file:' |
578 |
call print_message( msgbuf, standardmessageunit, |
579 |
& SQUEEZE_RIGHT , mythid) |
580 |
write(msgbuf,'(a,a,a)') |
581 |
&' >> ',vstressfile(1:il),' <<' |
582 |
call print_message( msgbuf, standardmessageunit, |
583 |
& SQUEEZE_RIGHT , mythid) |
584 |
#endif |
585 |
|
586 |
#else |
587 |
c Heat flux. |
588 |
il = ilnblnk(hfluxfile) |
589 |
call cal_TimeInterval( hfluxperiod, 'secs', timeint, mythid ) |
590 |
|
591 |
write(msgbuf,'(a)') |
592 |
&' ' |
593 |
call print_message( msgbuf, standardmessageunit, |
594 |
& SQUEEZE_RIGHT , mythid) |
595 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
596 |
&' Heat flux forcing starts at ', |
597 |
& (hfluxstartdate(i), i=1,2), dayofweek(hfluxstartdate(4)),'.' |
598 |
call print_message( msgbuf, standardmessageunit, |
599 |
& SQUEEZE_RIGHT , mythid) |
600 |
write(msgbuf,'(a,i9.8,i7.6)') |
601 |
&' Heat flux forcing period is ', |
602 |
& (timeint(i), i=1,2) |
603 |
call print_message( msgbuf, standardmessageunit, |
604 |
& SQUEEZE_RIGHT , mythid) |
605 |
write(msgbuf,'(a)') |
606 |
&' Heat flux forcing is read from file: ' |
607 |
call print_message( msgbuf, standardmessageunit, |
608 |
& SQUEEZE_RIGHT , mythid) |
609 |
write(msgbuf,'(a,a,a)') |
610 |
&' >> ',hfluxfile(1:il),' <<' |
611 |
call print_message( msgbuf, standardmessageunit, |
612 |
& SQUEEZE_RIGHT , mythid) |
613 |
|
614 |
c Salt flux. |
615 |
il = ilnblnk(sfluxfile) |
616 |
call cal_TimeInterval( sfluxperiod, 'secs', timeint, mythid ) |
617 |
|
618 |
write(msgbuf,'(a)') |
619 |
&' ' |
620 |
call print_message( msgbuf, standardmessageunit, |
621 |
& SQUEEZE_RIGHT , mythid) |
622 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
623 |
&' Salt flux forcing starts at ', |
624 |
& (sfluxstartdate(i), i=1,2), dayofweek(sfluxstartdate(4)),'.' |
625 |
call print_message( msgbuf, standardmessageunit, |
626 |
& SQUEEZE_RIGHT , mythid) |
627 |
write(msgbuf,'(a,i9.8,i7.6)') |
628 |
&' Salt flux forcing period is ', |
629 |
& (timeint(i), i=1,2) |
630 |
call print_message( msgbuf, standardmessageunit, |
631 |
& SQUEEZE_RIGHT , mythid) |
632 |
write(msgbuf,'(a)') |
633 |
&' Salt flux forcing is read from file: ' |
634 |
call print_message( msgbuf, standardmessageunit, |
635 |
& SQUEEZE_RIGHT , mythid) |
636 |
write(msgbuf,'(a,a,a)') |
637 |
&' >> ',sfluxfile(1:il),' <<' |
638 |
call print_message( msgbuf, standardmessageunit, |
639 |
& SQUEEZE_RIGHT , mythid) |
640 |
|
641 |
c Zonal wind stress. |
642 |
il = ilnblnk(ustressfile) |
643 |
call cal_TimeInterval( ustressperiod, 'secs', timeint, mythid ) |
644 |
|
645 |
write(msgbuf,'(a)') |
646 |
&' ' |
647 |
call print_message( msgbuf, standardmessageunit, |
648 |
& SQUEEZE_RIGHT , mythid) |
649 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
650 |
&' Zonal wind stress forcing starts at ', |
651 |
& (ustressstartdate(i), i=1,2), dayofweek(ustressstartdate(4)), |
652 |
& '.' |
653 |
call print_message( msgbuf, standardmessageunit, |
654 |
& SQUEEZE_RIGHT , mythid) |
655 |
write(msgbuf,'(a,i9.8,i7.6)') |
656 |
&' Zonal wind stress forcing period is ', |
657 |
& (timeint(i), i=1,2) |
658 |
call print_message( msgbuf, standardmessageunit, |
659 |
& SQUEEZE_RIGHT , mythid) |
660 |
write(msgbuf,'(a)') |
661 |
&' Zonal wind stress forcing is read from file:' |
662 |
call print_message( msgbuf, standardmessageunit, |
663 |
& SQUEEZE_RIGHT , mythid) |
664 |
write(msgbuf,'(a,a,a)') |
665 |
&' >> ',ustressfile(1:il),' <<' |
666 |
call print_message( msgbuf, standardmessageunit, |
667 |
& SQUEEZE_RIGHT , mythid) |
668 |
|
669 |
c Meridional wind stress. |
670 |
il = ilnblnk(vstressfile) |
671 |
call cal_TimeInterval( vstressperiod, 'secs', timeint, mythid ) |
672 |
|
673 |
write(msgbuf,'(a)') |
674 |
&' ' |
675 |
call print_message( msgbuf, standardmessageunit, |
676 |
& SQUEEZE_RIGHT , mythid) |
677 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
678 |
&' Meridional wind stress forcing starts at ', |
679 |
& (vstressstartdate(i), i=1,2), dayofweek(vstressstartdate(4)), |
680 |
& '.' |
681 |
call print_message( msgbuf, standardmessageunit, |
682 |
& SQUEEZE_RIGHT , mythid) |
683 |
write(msgbuf,'(a,i9.8,i7.6)') |
684 |
&' Meridional wind stress forcing period is ', |
685 |
& (timeint(i), i=1,2) |
686 |
call print_message( msgbuf, standardmessageunit, |
687 |
& SQUEEZE_RIGHT , mythid) |
688 |
write(msgbuf,'(a)') |
689 |
&' Meridional wind stress forcing is read from file:' |
690 |
call print_message( msgbuf, standardmessageunit, |
691 |
& SQUEEZE_RIGHT , mythid) |
692 |
write(msgbuf,'(a,a,a)') |
693 |
&' >> ',vstressfile(1:il),' <<' |
694 |
call print_message( msgbuf, standardmessageunit, |
695 |
& SQUEEZE_RIGHT , mythid) |
696 |
|
697 |
#ifdef ALLOW_KPP |
698 |
c Short wave radiative flux. |
699 |
il = ilnblnk(swfluxfile) |
700 |
call cal_TimeInterval( swfluxperiod, 'secs', timeint, mythid ) |
701 |
|
702 |
write(msgbuf,'(a)') |
703 |
&' ' |
704 |
call print_message( msgbuf, standardmessageunit, |
705 |
& SQUEEZE_RIGHT , mythid) |
706 |
write(msgbuf,'(a,i9.8,i7.6,1x,a,a)') |
707 |
&' Short wave rad. flux forcing starts at ', |
708 |
& (swfluxstartdate(i), i=1,2), dayofweek(swfluxstartdate(4)), |
709 |
& '.' |
710 |
call print_message( msgbuf, standardmessageunit, |
711 |
& SQUEEZE_RIGHT , mythid) |
712 |
write(msgbuf,'(a,i9.8,i7.6)') |
713 |
&' Short wave rad. flux forcing period is ', |
714 |
& (timeint(i), i=1,2) |
715 |
call print_message( msgbuf, standardmessageunit, |
716 |
& SQUEEZE_RIGHT , mythid) |
717 |
write(msgbuf,'(a)') |
718 |
&' Short wave rad. flux forcing is read from file:' |
719 |
call print_message( msgbuf, standardmessageunit, |
720 |
& SQUEEZE_RIGHT , mythid) |
721 |
write(msgbuf,'(a,a,a)') |
722 |
&' >> ',swfluxfile(1:il),' <<' |
723 |
call print_message( msgbuf, standardmessageunit, |
724 |
& SQUEEZE_RIGHT , mythid) |
725 |
#endif |
726 |
|
727 |
#endif |
728 |
|
729 |
write(msgbuf,'(a)') |
730 |
&' ' |
731 |
call print_message( msgbuf, standardmessageunit, |
732 |
& SQUEEZE_RIGHT , mythid) |
733 |
write(msgbuf,'(a)') |
734 |
&'// =======================================================' |
735 |
call print_message( msgbuf, standardmessageunit, |
736 |
& SQUEEZE_RIGHT , mythid) |
737 |
write(msgbuf,'(a)') |
738 |
&'// External forcing configuration >>> END <<<' |
739 |
call print_message( msgbuf, standardmessageunit, |
740 |
& SQUEEZE_RIGHT , mythid) |
741 |
write(msgbuf,'(a)') |
742 |
&'// =======================================================' |
743 |
call print_message( msgbuf, standardmessageunit, |
744 |
& SQUEEZE_RIGHT , mythid) |
745 |
write(msgbuf,'(a)') |
746 |
&' ' |
747 |
call print_message( msgbuf, standardmessageunit, |
748 |
& SQUEEZE_RIGHT , mythid) |
749 |
|
750 |
end |