/[MITgcm]/MITgcm/pkg/exf/exf_summary.F
ViewVC logotype

Contents of /MITgcm/pkg/exf/exf_summary.F

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


Revision 1.15 - (show annotations) (download)
Mon May 14 19:34:57 2007 UTC (17 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j
Changes since 1.14: +3 -1 lines
- implement A-grid / C-grid selection for wind-stress input files ;
- call the appropriate EXCH ; add some consistency check .

1 C $Header: /u/gcmpack/MITgcm/pkg/exf/exf_summary.F,v 1.14 2007/05/12 23:17:18 jmc Exp $
2 C $Name: $
3
4 #include "EXF_OPTIONS.h"
5
6
7 SUBROUTINE EXF_SUMMARY( myThid )
8
9 c ==================================================================
10 c SUBROUTINE exf_summary
11 c ==================================================================
12 c
13 c o List all the settings of the external forcing.
14 c
15 c started: Christian Eckert eckert@mit.edu 11-Jan-1999
16 c
17 c changed: Christian Eckert eckert@mit.edu 12-Feb-2000
18 c - changed routine names (package prefix: exf_)
19 c
20 c changed: Patrick Heimbach heimbach@mit.edu 04-May-2000
21 c - changed the handling of precip and sflux with respect
22 c to CPP options ALLOW_BULKFORMULAE and ALLOW_ATM_TEMP
23 c
24 c changed: Dimitris Menemenlis menemenlis@jpl.nasa.gov 20-Dec-2002
25 c - modifications for using pkg/exf with pkg/seaice
26 c
27 c ==================================================================
28 c SUBROUTINE exf_summary
29 c ==================================================================
30
31 implicit none
32
33 C == global variables ==
34
35 #include "EEPARAMS.h"
36 #include "SIZE.h"
37 #include "cal.h"
38 #include "EXF_CONSTANTS.h"
39 #include "EXF_PARAM.h"
40
41 C == routine arguments ==
42
43 C myThid - thread number for this instance of the routine.
44
45 integer myThid
46
47 C == local variables ==
48
49 integer il
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 _BEGIN_MASTER( myThid )
61
62 write(msgbuf,'(a)') ' '
63 call print_message( msgbuf, standardmessageunit,
64 & SQUEEZE_RIGHT , mythid)
65 write(msgbuf,'(a)')
66 &'// ======================================================='
67 call print_message( msgbuf, standardmessageunit,
68 & SQUEEZE_RIGHT , mythid)
69 write(msgbuf,'(a)')
70 &'// External forcing configuration >>> START <<<'
71 call print_message( msgbuf, standardmessageunit,
72 & SQUEEZE_RIGHT , mythid)
73 write(msgbuf,'(a)')
74 &'// ======================================================='
75 call print_message( msgbuf, standardmessageunit,
76 & SQUEEZE_RIGHT , mythid)
77 write(msgbuf,'(a)') ' '
78 call print_message( msgbuf, standardmessageunit,
79 & SQUEEZE_RIGHT , mythid)
80
81 C-- Print general parameters:
82 WRITE(msgBuf,'(A)') ' EXF general parameters:'
83 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
84 & SQUEEZE_RIGHT , myThid )
85 WRITE(msgBuf,'(A)') ' '
86 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
87 & SQUEEZE_RIGHT , myThid )
88 CALL WRITE_0D_C( exf_yftype, 0, INDEX_NONE, 'exf_yftype = ',
89 & ' /* ? */')
90 CALL WRITE_0D_I( exf_iprec, INDEX_NONE, 'exf_iprec =',
91 & ' /* exf file precision */')
92 CALL WRITE_0D_L( useExfYearlyFields, INDEX_NONE,
93 & 'useExfYearlyFields =',
94 & ' /* add extension _YEAR to input file names */')
95 CALL WRITE_0D_L( twoDigitYear, INDEX_NONE, 'twoDigitYear =',
96 & ' /* use 2-digit year extension */')
97 CALL WRITE_0D_L( useExfCheckRange, INDEX_NONE,
98 & 'useExfCheckRange =',
99 & ' /* check for fields range */')
100 CALL WRITE_0D_R8( exf_monFreq, INDEX_NONE, 'exf_monFreq =',
101 & ' /* EXF monitor frequency [ s ] */')
102 CALL WRITE_0D_R8( repeatPeriod, INDEX_NONE, 'repeatPeriod =',
103 & ' /* period for cycling forcing dataset [ s ] */')
104 CALL WRITE_0D_R8( climtempfreeze, INDEX_NONE,'climTempFreeze=',
105 & ' /* Minimum climatological temperature [deg.C] */')
106 CALL WRITE_0D_R8( windStressMax, INDEX_NONE,'windStressMax =',
107 & ' /* Maximum absolute windstress [ Pa ] */')
108 CALL WRITE_0D_L( stressIsOnCgrid,INDEX_NONE,'stressIsOnCgrid =',
109 & ' /* set u,v_stress on Arakawa C-grid */')
110 CALL WRITE_0D_R8( cen2kel, INDEX_NONE, 'cen2kel =',
111 & ' /* conversion of deg. Centigrade to Kelvin [K] */')
112 CALL WRITE_0D_R8( gravity_mks, INDEX_NONE, 'gravity_mks=',
113 & ' /* gravitational acceleration [m/s^2] */')
114 CALL WRITE_0D_R8( atmrho, INDEX_NONE, 'atmrho =',
115 & ' /* mean atmospheric density [kg/m^3] */')
116 CALL WRITE_0D_R8( atmcp, INDEX_NONE, 'atmcp =',
117 & ' /* mean atmospheric specific heat [J/kg/K] */')
118 CALL WRITE_0D_R8( flamb, INDEX_NONE, 'flamb =',
119 & ' /* latent heat of evaporation [J/kg] */')
120 CALL WRITE_0D_R8( flami, INDEX_NONE, 'flami =',
121 & ' /* latent heat of pure-ice melting [J/kg] */')
122 CALL WRITE_0D_R8( cvapor_fac, INDEX_NONE, 'cvapor_fac =',
123 & ' /* const. for Saturation calculation [?] */')
124 CALL WRITE_0D_R8( cvapor_exp, INDEX_NONE, 'cvapor_exp =',
125 & ' /* const. for Saturation calculation [?] */')
126 CALL WRITE_0D_R8( cvapor_fac_ice, INDEX_NONE, 'cvapor_fac_ice=',
127 & ' /* const. for Saturation calculation [?] */')
128 CALL WRITE_0D_R8( cvapor_exp_ice, INDEX_NONE, 'cvapor_exp_ice=',
129 & ' /* const. for Saturation calculation [?] */')
130 CALL WRITE_0D_R8( humid_fac, INDEX_NONE, 'humid_fac =',
131 & ' /* humidity coef. in virtual temp. [(kg/kg)^-1] */')
132 CALL WRITE_0D_R8( gamma_blk, INDEX_NONE, 'gamma_blk =',
133 & ' /* adiabatic lapse rate [?] */')
134 CALL WRITE_0D_R8( saltsat, INDEX_NONE, 'saltsat =',
135 & ' /* reduction of Qsat over salty water [-] */')
136 CALL WRITE_0D_R8( cdrag_1, INDEX_NONE, 'cDrag_1 =',
137 & ' /* coef used in drag calculation [?] */')
138 CALL WRITE_0D_R8( cdrag_2, INDEX_NONE, 'cDrag_2 =',
139 & ' /* coef used in drag calculation [?] */')
140 CALL WRITE_0D_R8( cdrag_3, INDEX_NONE, 'cDrag_3 =',
141 & ' /* coef used in drag calculation [?] */')
142 CALL WRITE_0D_R8( cstanton_1, INDEX_NONE, 'cStanton_1 =',
143 & ' /* coef used in Stanton number calculation [?] */')
144 CALL WRITE_0D_R8( cstanton_2, INDEX_NONE, 'cStanton_2 =',
145 & ' /* coef used in Stanton number calculation [?] */')
146 CALL WRITE_0D_R8( cdalton, INDEX_NONE, 'cDalton =',
147 & ' /* coef used in Dalton number calculation [?] */')
148 CALL WRITE_0D_R8( exf_scal_BulkCdn, INDEX_NONE,
149 & 'exf_scal_BulkCdn=',
150 & ' /* Drag coefficient scaling factor [-] */')
151 CALL WRITE_0D_R8( zolmin, INDEX_NONE, 'zolmin =',
152 & ' /* minimum stability parameter [?] */')
153 CALL WRITE_0D_R8( psim_fac, INDEX_NONE, 'psim_fac =',
154 & ' /* coef used in turbulent fluxes calculation [-] */')
155 CALL WRITE_0D_R8( zref, INDEX_NONE, 'zref =',
156 & ' /* reference height [ m ] */')
157 CALL WRITE_0D_R8( hu, INDEX_NONE, 'hu =',
158 & ' /* height of mean wind [ m ] */')
159 CALL WRITE_0D_R8( ht, INDEX_NONE, 'ht =',
160 & ' /* height of mean temperature [ m ] */')
161 CALL WRITE_0D_R8( hq, INDEX_NONE, 'hq =',
162 & ' /* height of mean spec.humidity [ m ] */')
163 CALL WRITE_0D_R8( umin, INDEX_NONE, 'uMin =',
164 & ' /* minimum wind speed [m/s] */')
165 CALL WRITE_0D_L( useStabilityFct_overIce, INDEX_NONE,
166 & 'useStabilityFct_overIce=',
167 & ' /* transfert Coeffs over sea-ice depend on stability */')
168 CALL WRITE_0D_R8( exf_iceCd, INDEX_NONE, 'exf_iceCd =',
169 & ' /* drag coefficient over sea-ice (fixed) [-] */')
170 CALL WRITE_0D_R8( exf_iceCe, INDEX_NONE, 'exf_iceCe =',
171 & ' /* transfert coeff. over sea-ice, for Evap (fixed) [-] */')
172 CALL WRITE_0D_R8( exf_iceCh, INDEX_NONE, 'exf_iceCh =',
173 & ' /* transfert coeff. over sea-ice, Sens.Heat.(fixed)[-] */')
174 CALL WRITE_0D_R8( exf_albedo, INDEX_NONE, 'exf_albedo =',
175 & ' /* Sea-water albedo [-] */')
176 CALL WRITE_0D_R8( ocean_emissivity, INDEX_NONE,
177 & 'ocean_emissivity =',
178 & ' /* longwave ocean-surface emissivity [-] */')
179 CALL WRITE_0D_R8( ice_emissivity, INDEX_NONE,'ice_emissivity =',
180 & ' /* longwave seaice emissivity [-] */')
181 CALL WRITE_0D_R8(snow_emissivity, INDEX_NONE,'snow_emissivity =',
182 & ' /* longwave snow emissivity [-] */')
183 WRITE(msgBuf,'(A)') ' '
184 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
185 & SQUEEZE_RIGHT , myThid )
186
187 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
188 C-- Print settings of some CPP flags.
189 WRITE(msgBuf,'(A)') ' EXF main CPP flags:'
190 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
191 & SQUEEZE_RIGHT , myThid )
192 WRITE(msgBuf,'(A)') ' '
193 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
194 & SQUEEZE_RIGHT , myThid )
195
196 #ifdef ALLOW_ATM_TEMP
197 write(msgbuf,'(a)')
198 &'// ALLOW_ATM_TEMP: defined'
199 call print_message( msgbuf, standardmessageunit,
200 & SQUEEZE_RIGHT , mythid)
201 #else
202 write(msgbuf,'(a)')
203 &'// ALLOW_ATM_TEMP: NOT defined'
204 call print_message( msgbuf, standardmessageunit,
205 & SQUEEZE_RIGHT , mythid)
206 #endif
207
208 #ifdef ALLOW_ATM_WIND
209 write(msgbuf,'(a)')
210 &'// ALLOW_ATM_WIND: defined'
211 call print_message( msgbuf, standardmessageunit,
212 & SQUEEZE_RIGHT , mythid)
213 #else
214 write(msgbuf,'(a)')
215 &'// ALLOW_ATM_WIND: NOT defined'
216 call print_message( msgbuf, standardmessageunit,
217 & SQUEEZE_RIGHT , mythid)
218 #endif
219
220 #ifdef ALLOW_DOWNWARD_RADIATION
221 write(msgbuf,'(a)')
222 &'// ALLOW_DOWNWARD_RADIATION: defined'
223 call print_message( msgbuf, standardmessageunit,
224 & SQUEEZE_RIGHT , mythid)
225 #else
226 write(msgbuf,'(a)')
227 &'// ALLOW_DOWNWARD_RADIATION: NOT defined'
228 call print_message( msgbuf, standardmessageunit,
229 & SQUEEZE_RIGHT , mythid)
230 #endif
231
232 #ifdef ALLOW_BULKFORMULAE
233 write(msgbuf,'(a)')
234 &'// ALLOW_BULKFORMULAE: defined'
235 call print_message( msgbuf, standardmessageunit,
236 & SQUEEZE_RIGHT , mythid)
237 #else
238 write(msgbuf,'(a)')
239 &'// ALLOW_BULKFORMULAE: NOT defined'
240 call print_message( msgbuf, standardmessageunit,
241 & SQUEEZE_RIGHT , mythid)
242 #endif
243
244 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
245
246 C-- For each data set used the summary prints the calendar data
247 C and the corresponding file from which the data will be read.
248
249 #ifndef ALLOW_ATM_WIND
250 C-- Zonal wind stress.
251 il = ilnblnk(ustressfile)
252 write(msgbuf,'(a)') ' '
253 call print_message( msgbuf, standardmessageunit,
254 & SQUEEZE_RIGHT , mythid)
255 write(msgbuf,'(a,f12.0)')
256 &' Zonal wind stress forcing starts at ',
257 & ustressstartdate
258 call print_message( msgbuf, standardmessageunit,
259 & SQUEEZE_RIGHT , mythid)
260 write(msgbuf,'(a,f12.0)')
261 &' Zonal wind stress forcing period is ',
262 & ustressperiod
263 call print_message( msgbuf, standardmessageunit,
264 & SQUEEZE_RIGHT , mythid)
265 write(msgbuf,'(a)')
266 &' Zonal wind stress forcing is read from file:'
267 call print_message( msgbuf, standardmessageunit,
268 & SQUEEZE_RIGHT , mythid)
269 write(msgbuf,'(a,a,a)')
270 &' >> ',ustressfile(1:il),' <<'
271 call print_message( msgbuf, standardmessageunit,
272 & SQUEEZE_RIGHT , mythid)
273
274 C-- Meridional wind stress.
275 il = ilnblnk(vstressfile)
276 write(msgbuf,'(a)') ' '
277 call print_message( msgbuf, standardmessageunit,
278 & SQUEEZE_RIGHT , mythid)
279 write(msgbuf,'(a,f12.0)')
280 &' Meridional wind stress forcing starts at ',
281 & vstressstartdate
282 call print_message( msgbuf, standardmessageunit,
283 & SQUEEZE_RIGHT , mythid)
284 write(msgbuf,'(a,f12.0)')
285 &' Meridional wind stress forcing period is ',
286 & vstressperiod
287 call print_message( msgbuf, standardmessageunit,
288 & SQUEEZE_RIGHT , mythid)
289 write(msgbuf,'(a)')
290 &' Meridional wind stress forcing is read from file:'
291 call print_message( msgbuf, standardmessageunit,
292 & SQUEEZE_RIGHT , mythid)
293 write(msgbuf,'(a,a,a)')
294 &' >> ',vstressfile(1:il),' <<'
295 call print_message( msgbuf, standardmessageunit,
296 & SQUEEZE_RIGHT , mythid)
297 #endif
298
299 #ifndef ALLOW_ATM_TEMP
300 C-- Heat flux.
301 il = ilnblnk(hfluxfile)
302 write(msgbuf,'(a)') ' '
303 call print_message( msgbuf, standardmessageunit,
304 & SQUEEZE_RIGHT , mythid)
305 write(msgbuf,'(a,f12.0)')
306 &' Heat flux forcing starts at ',
307 & hfluxstartdate
308 call print_message( msgbuf, standardmessageunit,
309 & SQUEEZE_RIGHT , mythid)
310 write(msgbuf,'(a,f12.0)')
311 &' Heat flux forcing period is ',
312 & hfluxperiod
313 call print_message( msgbuf, standardmessageunit,
314 & SQUEEZE_RIGHT , mythid)
315 write(msgbuf,'(a)')
316 &' Heat flux forcing is read from file: '
317 call print_message( msgbuf, standardmessageunit,
318 & SQUEEZE_RIGHT , mythid)
319 write(msgbuf,'(a,a,a)')
320 &' >> ',hfluxfile(1:il),' <<'
321 call print_message( msgbuf, standardmessageunit,
322 & SQUEEZE_RIGHT , mythid)
323
324 C-- Salt flux.
325 il = ilnblnk(sfluxfile)
326 write(msgbuf,'(a)') ' '
327 call print_message( msgbuf, standardmessageunit,
328 & SQUEEZE_RIGHT , mythid)
329 write(msgbuf,'(a,f12.0)')
330 &' Salt flux forcing starts at ',
331 & sfluxstartdate
332 call print_message( msgbuf, standardmessageunit,
333 & SQUEEZE_RIGHT , mythid)
334 write(msgbuf,'(a,f12.0)')
335 &' Salt flux forcing period is ',
336 & sfluxperiod
337 call print_message( msgbuf, standardmessageunit,
338 & SQUEEZE_RIGHT , mythid)
339 write(msgbuf,'(a)')
340 &' Salt flux forcing is read from file: '
341 call print_message( msgbuf, standardmessageunit,
342 & SQUEEZE_RIGHT , mythid)
343 write(msgbuf,'(a,a,a)')
344 &' >> ',sfluxfile(1:il),' <<'
345 call print_message( msgbuf, standardmessageunit,
346 & SQUEEZE_RIGHT , mythid)
347 #endif
348
349 #if defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING)
350 C-- Net shortwave.
351 il = ilnblnk(swfluxfile)
352 write(msgbuf,'(a)') ' '
353 call print_message( msgbuf, standardmessageunit,
354 & SQUEEZE_RIGHT , mythid)
355 write(msgbuf,'(a,f12.0)')
356 &' Net shortwave flux forcing starts at ',
357 & swfluxstartdate
358 call print_message( msgbuf, standardmessageunit,
359 & SQUEEZE_RIGHT , mythid)
360 write(msgbuf,'(a,f12.0)')
361 &' Net shortwave flux forcing period is ',
362 & swfluxperiod
363 call print_message( msgbuf, standardmessageunit,
364 & SQUEEZE_RIGHT , mythid)
365 write(msgbuf,'(a)')
366 &' Net shortwave flux forcing is read from file:'
367 call print_message( msgbuf, standardmessageunit,
368 & SQUEEZE_RIGHT , mythid)
369 write(msgbuf,'(a,a,a)')
370 &' >> ',swfluxfile(1:il),' <<'
371 call print_message( msgbuf, standardmessageunit,
372 & SQUEEZE_RIGHT , mythid)
373 #endif
374
375 #ifdef ALLOW_ATM_WIND
376 C-- Zonal wind.
377 il = ilnblnk(uwindfile)
378 write(msgbuf,'(a)') ' '
379 call print_message( msgbuf, standardmessageunit,
380 & SQUEEZE_RIGHT , mythid)
381 write(msgbuf,'(a,f12.0)')
382 &' Zonal wind forcing starts at ',
383 & uwindstartdate
384 call print_message( msgbuf, standardmessageunit,
385 & SQUEEZE_RIGHT , mythid)
386 write(msgbuf,'(a,f12.0)')
387 &' Zonal wind forcing period is ',
388 & uwindperiod
389 call print_message( msgbuf, standardmessageunit,
390 & SQUEEZE_RIGHT , mythid)
391 write(msgbuf,'(a)')
392 &' Zonal wind forcing is read from file:'
393 call print_message( msgbuf, standardmessageunit,
394 & SQUEEZE_RIGHT , mythid)
395 write(msgbuf,'(a,a,a)')
396 &' >> ',uwindfile(1:il),' <<'
397 call print_message( msgbuf, standardmessageunit,
398 & SQUEEZE_RIGHT , mythid)
399
400 C-- Meridional wind.
401 il = ilnblnk(vwindfile)
402 write(msgbuf,'(a)') ' '
403 call print_message( msgbuf, standardmessageunit,
404 & SQUEEZE_RIGHT , mythid)
405 write(msgbuf,'(a,f12.0)')
406 &' Meridional wind forcing starts at ',
407 & vwindstartdate
408 call print_message( msgbuf, standardmessageunit,
409 & SQUEEZE_RIGHT , mythid)
410 write(msgbuf,'(a,f12.0)')
411 &' Meridional wind forcing period is ',
412 & vwindperiod
413 call print_message( msgbuf, standardmessageunit,
414 & SQUEEZE_RIGHT , mythid)
415 write(msgbuf,'(a)')
416 &' Meridional wind forcing is read from file:'
417 call print_message( msgbuf, standardmessageunit,
418 & SQUEEZE_RIGHT , mythid)
419 write(msgbuf,'(a,a,a)')
420 &' >> ',vwindfile(1:il),' <<'
421 call print_message( msgbuf, standardmessageunit,
422 & SQUEEZE_RIGHT , mythid)
423 #endif
424
425 #ifdef ALLOW_ATM_TEMP
426 C-- Atmospheric temperature.
427 il = ilnblnk(atempfile)
428 write(msgbuf,'(a)') ' '
429 call print_message( msgbuf, standardmessageunit,
430 & SQUEEZE_RIGHT , mythid)
431 write(msgbuf,'(a,f12.0)')
432 &' Atmospheric temperature starts at ',
433 & atempstartdate
434 call print_message( msgbuf, standardmessageunit,
435 & SQUEEZE_RIGHT , mythid)
436 write(msgbuf,'(a,f12.0)')
437 &' Atmospheric temperature period is ',
438 & atempperiod
439 call print_message( msgbuf, standardmessageunit,
440 & SQUEEZE_RIGHT , mythid)
441 write(msgbuf,'(a)')
442 &' Atmospheric temperature is read from file:'
443 call print_message( msgbuf, standardmessageunit,
444 & SQUEEZE_RIGHT , mythid)
445 write(msgbuf,'(a,a,a)')
446 &' >> ',atempfile(1:il),' <<'
447 call print_message( msgbuf, standardmessageunit,
448 & SQUEEZE_RIGHT , mythid)
449
450 C-- Atmospheric specific humidity.
451 il = ilnblnk(aqhfile)
452 write(msgbuf,'(a)') ' '
453 call print_message( msgbuf, standardmessageunit,
454 & SQUEEZE_RIGHT , mythid)
455 write(msgbuf,'(a,f12.0)')
456 &' Atmospheric specific humidity starts at ',
457 & aqhstartdate
458 call print_message( msgbuf, standardmessageunit,
459 & SQUEEZE_RIGHT , mythid)
460 write(msgbuf,'(a,f12.0)')
461 &' Atmospheric specific humidity period is ',
462 & aqhperiod
463 call print_message( msgbuf, standardmessageunit,
464 & SQUEEZE_RIGHT , mythid)
465 write(msgbuf,'(a)')
466 &' Atmospheric specific humidity is read from file:'
467 call print_message( msgbuf, standardmessageunit,
468 & SQUEEZE_RIGHT , mythid)
469 write(msgbuf,'(a,a,a)')
470 &' >> ',aqhfile(1:il),' <<'
471 call print_message( msgbuf, standardmessageunit,
472 & SQUEEZE_RIGHT , mythid)
473
474 C-- Net longwave.
475 il = ilnblnk(lwfluxfile)
476 write(msgbuf,'(a)') ' '
477 call print_message( msgbuf, standardmessageunit,
478 & SQUEEZE_RIGHT , mythid)
479 write(msgbuf,'(a,f12.0)')
480 &' Net longwave flux forcing starts at ',
481 & lwfluxstartdate
482 call print_message( msgbuf, standardmessageunit,
483 & SQUEEZE_RIGHT , mythid)
484 write(msgbuf,'(a,f12.0)')
485 &' Net longwave flux forcing period is ',
486 & lwfluxperiod
487 call print_message( msgbuf, standardmessageunit,
488 & SQUEEZE_RIGHT , mythid)
489 write(msgbuf,'(a)')
490 &' Net longwave flux forcing is read from file:'
491 call print_message( msgbuf, standardmessageunit,
492 & SQUEEZE_RIGHT , mythid)
493 write(msgbuf,'(a,a,a)')
494 &' >> ',lwfluxfile(1:il),' <<'
495 call print_message( msgbuf, standardmessageunit,
496 & SQUEEZE_RIGHT , mythid)
497
498 C-- Precipitation.
499 il = ilnblnk(precipfile)
500 write(msgbuf,'(a)') ' '
501 call print_message( msgbuf, standardmessageunit,
502 & SQUEEZE_RIGHT , mythid)
503 write(msgbuf,'(a,f12.0)')
504 &' Precipitation data set starts at ',
505 & precipstartdate
506 call print_message( msgbuf, standardmessageunit,
507 & SQUEEZE_RIGHT , mythid)
508 write(msgbuf,'(a,f12.0)')
509 &' Precipitation data period is ',
510 & precipperiod
511 call print_message( msgbuf, standardmessageunit,
512 & SQUEEZE_RIGHT , mythid)
513 write(msgbuf,'(a)')
514 &' Precipitation data is read from file: '
515 call print_message( msgbuf, standardmessageunit,
516 & SQUEEZE_RIGHT , mythid)
517 write(msgbuf,'(a,a,a)')
518 &' >> ',precipfile(1:il),' <<'
519 call print_message( msgbuf, standardmessageunit,
520 & SQUEEZE_RIGHT , mythid)
521 #endif
522
523 C-- Evaporation.
524 write(msgbuf,'(a)') ' '
525 call print_message( msgbuf, standardmessageunit,
526 & SQUEEZE_RIGHT , mythid)
527 #ifdef EXF_READ_EVAP
528 write(msgbuf,'(a)')
529 &'// EXF_READ_EVAP: defined'
530 call print_message( msgbuf, standardmessageunit,
531 & SQUEEZE_RIGHT , mythid)
532 il = ilnblnk(evapfile)
533 write(msgbuf,'(a,f12.0)')
534 &' Evaporation starts at ',
535 & evapstartdate
536 call print_message( msgbuf, standardmessageunit,
537 & SQUEEZE_RIGHT , mythid)
538 write(msgbuf,'(a,f12.0)')
539 &' Evaporation period is ',
540 & evapperiod
541 call print_message( msgbuf, standardmessageunit,
542 & SQUEEZE_RIGHT , mythid)
543 write(msgbuf,'(a)')
544 &' Evaporation is read from file:'
545 call print_message( msgbuf, standardmessageunit,
546 & SQUEEZE_RIGHT , mythid)
547 write(msgbuf,'(a,a,a)')
548 &' >> ',evapfile(1:il),' <<'
549 call print_message( msgbuf, standardmessageunit,
550 & SQUEEZE_RIGHT , mythid)
551 #else
552 write(msgbuf,'(a)')
553 &'// EXF_READ_EVAP: NOT defined'
554 call print_message( msgbuf, standardmessageunit,
555 & SQUEEZE_RIGHT , mythid)
556 #endif
557
558 C-- Runoff.
559 write(msgbuf,'(a)') ' '
560 call print_message( msgbuf, standardmessageunit,
561 & SQUEEZE_RIGHT , mythid)
562 #ifdef ALLOW_RUNOFF
563 write(msgbuf,'(a)')
564 &'// ALLOW_RUNOFF: defined'
565 call print_message( msgbuf, standardmessageunit,
566 & SQUEEZE_RIGHT , mythid)
567 il = ilnblnk(runofffile)
568 write(msgbuf,'(a,f12.0)')
569 &' Runnoff starts at ',
570 & runoffstartdate
571 call print_message( msgbuf, standardmessageunit,
572 & SQUEEZE_RIGHT , mythid)
573 write(msgbuf,'(a,f12.0)')
574 &' Runoff period is ',
575 & runoffperiod
576 call print_message( msgbuf, standardmessageunit,
577 & SQUEEZE_RIGHT , mythid)
578 write(msgbuf,'(a)')
579 &' Runoff is read from file:'
580 call print_message( msgbuf, standardmessageunit,
581 & SQUEEZE_RIGHT , mythid)
582 write(msgbuf,'(a,a,a)')
583 &' >> ',runofffile(1:il),' <<'
584 call print_message( msgbuf, standardmessageunit,
585 & SQUEEZE_RIGHT , mythid)
586 #else /* ALLOW_RUNOFF */
587 write(msgbuf,'(a)')
588 &'// ALLOW_RUNOFF: NOT defined'
589 call print_message( msgbuf, standardmessageunit,
590 & SQUEEZE_RIGHT , mythid)
591 #endif /* ALLOW_RUNOFF */
592
593 #ifdef DOWNWARD_RADIATION
594 C-- Downward shortwave.
595 il = ilnblnk(swdownfile)
596 write(msgbuf,'(a)') ' '
597 call print_message( msgbuf, standardmessageunit,
598 & SQUEEZE_RIGHT , mythid)
599 write(msgbuf,'(a,f12.0)')
600 &' Downward shortwave flux forcing starts at ',
601 & swdownstartdate
602 call print_message( msgbuf, standardmessageunit,
603 & SQUEEZE_RIGHT , mythid)
604 write(msgbuf,'(a,f12.0)')
605 &' Downward shortwave flux forcing period is ',
606 & swdownperiod
607 call print_message( msgbuf, standardmessageunit,
608 & SQUEEZE_RIGHT , mythid)
609 write(msgbuf,'(a)')
610 &' Downward shortwave flux forcing is read from file:'
611 call print_message( msgbuf, standardmessageunit,
612 & SQUEEZE_RIGHT , mythid)
613 write(msgbuf,'(a,a,a)')
614 &' >> ',swdownfile(1:il),' <<'
615 call print_message( msgbuf, standardmessageunit,
616 & SQUEEZE_RIGHT , mythid)
617
618 C-- Downward longwave.
619 il = ilnblnk(lwdownfile)
620 write(msgbuf,'(a)') ' '
621 call print_message( msgbuf, standardmessageunit,
622 & SQUEEZE_RIGHT , mythid)
623 write(msgbuf,'(a,f12.0)')
624 &' Downward longwave flux forcing starts at ',
625 & lwdownstartdate
626 call print_message( msgbuf, standardmessageunit,
627 & SQUEEZE_RIGHT , mythid)
628 write(msgbuf,'(a,f12.0)')
629 &' Downward longwave flux forcing period is ',
630 & lwdownperiod
631 call print_message( msgbuf, standardmessageunit,
632 & SQUEEZE_RIGHT , mythid)
633 write(msgbuf,'(a)')
634 &' Downward longwave flux forcing is read from file:'
635 call print_message( msgbuf, standardmessageunit,
636 & SQUEEZE_RIGHT , mythid)
637 write(msgbuf,'(a,a,a)')
638 &' >> ',lwdownfile(1:il),' <<'
639 call print_message( msgbuf, standardmessageunit,
640 & SQUEEZE_RIGHT , mythid)
641 #endif
642
643 #ifdef ATMOSPHERIC_LOADING
644 C-- Atmospheric pressure.
645 il = ilnblnk(apressurefile)
646 write(msgbuf,'(a)') ' '
647 call print_message( msgbuf, standardmessageunit,
648 & SQUEEZE_RIGHT , mythid)
649 write(msgbuf,'(a,f12.0)')
650 &' Atmospheric pressure forcing starts at ',
651 & apressurestartdate
652 call print_message( msgbuf, standardmessageunit,
653 & SQUEEZE_RIGHT , mythid)
654 write(msgbuf,'(a,f12.0)')
655 &' Atmospheric pressure forcing period is ',
656 & apressureperiod
657 call print_message( msgbuf, standardmessageunit,
658 & SQUEEZE_RIGHT , mythid)
659 write(msgbuf,'(a)')
660 &' Atmospheric pressureforcing is read from file:'
661 call print_message( msgbuf, standardmessageunit,
662 & SQUEEZE_RIGHT , mythid)
663 write(msgbuf,'(a,a,a)')
664 &' >> ',apressurefile(1:il),' <<'
665 call print_message( msgbuf, standardmessageunit,
666 & SQUEEZE_RIGHT , mythid)
667 #endif
668
669 write(msgbuf,'(a)') ' '
670 call print_message( msgbuf, standardmessageunit,
671 & SQUEEZE_RIGHT , mythid)
672 write(msgbuf,'(a)')
673 &'// ======================================================='
674 call print_message( msgbuf, standardmessageunit,
675 & SQUEEZE_RIGHT , mythid)
676 write(msgbuf,'(a)')
677 &'// External forcing configuration >>> END <<<'
678 call print_message( msgbuf, standardmessageunit,
679 & SQUEEZE_RIGHT , mythid)
680 write(msgbuf,'(a)')
681 &'// ======================================================='
682 call print_message( msgbuf, standardmessageunit,
683 & SQUEEZE_RIGHT , mythid)
684 write(msgbuf,'(a)') ' '
685 call print_message( msgbuf, standardmessageunit,
686 & SQUEEZE_RIGHT , mythid)
687
688 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
689
690 call print_message( msgbuf, standardmessageunit,
691 & SQUEEZE_RIGHT , mythid)
692 write(msgbuf,'(a)')
693 &'// ======================================================='
694 call print_message( msgbuf, standardmessageunit,
695 & SQUEEZE_RIGHT , mythid)
696 write(msgbuf,'(a)')
697 &'// External forcing climatology configuration >>> START <<<'
698 call print_message( msgbuf, standardmessageunit,
699 & SQUEEZE_RIGHT , mythid)
700 write(msgbuf,'(a)')
701 &'// ======================================================='
702 call print_message( msgbuf, standardmessageunit,
703 & SQUEEZE_RIGHT , mythid)
704 write(msgbuf,'(a)') ' '
705 call print_message( msgbuf, standardmessageunit,
706 & SQUEEZE_RIGHT , mythid)
707
708 C For each data set used the summary prints the calendar data
709 C and the corresponding file from which the data will be read.
710
711 #ifdef ALLOW_CLIMSST_RELAXATION
712 write(msgbuf,'(a)')
713 &'// ALLOW_CLIMSST_RELAXATION: defined'
714 call print_message( msgbuf, standardmessageunit,
715 & SQUEEZE_RIGHT , mythid)
716 #else
717 write(msgbuf,'(a)')
718 &'// ALLOW_CLIMSST_RELAXATION: NOT defined'
719 call print_message( msgbuf, standardmessageunit,
720 & SQUEEZE_RIGHT , mythid)
721 #endif
722
723 #ifdef ALLOW_CLIMSSS_RELAXATION
724 write(msgbuf,'(a)')
725 &'// ALLOW_CLIMSSS_RELAXATION: defined'
726 call print_message( msgbuf, standardmessageunit,
727 & SQUEEZE_RIGHT , mythid)
728 #else
729 write(msgbuf,'(a)')
730 &'// ALLOW_CLIMSSS_RELAXATION: NOT defined'
731 call print_message( msgbuf, standardmessageunit,
732 & SQUEEZE_RIGHT , mythid)
733 #endif
734
735 C The climatological data sets are assumed to contain monthly
736 C data. This can be changed in a later version to an arbitrary
737 C number of intervals during a given year.
738
739 #ifdef ALLOW_CLIMSST_RELAXATION
740 C Relaxation to SST climatology.
741 il = ilnblnk(climsstfile)
742 write(msgbuf,'(a)')
743 &' '
744 call print_message( msgbuf, standardmessageunit,
745 & SQUEEZE_RIGHT , mythid)
746 write(msgbuf,'(a,f12.0)')
747 &' Climatological SST starts at ',
748 & climsststartdate
749 call print_message( msgbuf, standardmessageunit,
750 & SQUEEZE_RIGHT , mythid)
751 write(msgbuf,'(a,f12.0)')
752 &' Climatological SST period is ',
753 & climsstperiod
754 call print_message( msgbuf, standardmessageunit,
755 & SQUEEZE_RIGHT , mythid)
756 write(msgbuf,'(a)')
757 &' Climatological SST is read from file:'
758 call print_message( msgbuf, standardmessageunit,
759 & SQUEEZE_RIGHT , mythid)
760 write(msgbuf,'(a,a,a)')
761 &' >> ',climsstfile(1:il),' <<'
762 call print_message( msgbuf, standardmessageunit,
763 & SQUEEZE_RIGHT , mythid)
764 #endif
765
766 #ifdef ALLOW_CLIMSSS_RELAXATION
767 C Relaxation to SSS climatology.
768 il = ilnblnk(climsssfile)
769 write(msgbuf,'(a)')
770 &' '
771 call print_message( msgbuf, standardmessageunit,
772 & SQUEEZE_RIGHT , mythid)
773 write(msgbuf,'(a,f12.0)')
774 &' Climatological SSS starts at ',
775 & climsssstartdate
776 call print_message( msgbuf, standardmessageunit,
777 & SQUEEZE_RIGHT , mythid)
778 write(msgbuf,'(a,f12.0)')
779 &' Climatological SSS period is ',
780 & climsssperiod
781 call print_message( msgbuf, standardmessageunit,
782 & SQUEEZE_RIGHT , mythid)
783 write(msgbuf,'(a)')
784 &' Climatological SSS is read from file:'
785 call print_message( msgbuf, standardmessageunit,
786 & SQUEEZE_RIGHT , mythid)
787 write(msgbuf,'(a,a,a)')
788 &' >> ',climsssfile(1:il),' <<'
789 call print_message( msgbuf, standardmessageunit,
790 & SQUEEZE_RIGHT , mythid)
791 #endif
792
793 write(msgbuf,'(a)') ' '
794 call print_message( msgbuf, standardmessageunit,
795 & SQUEEZE_RIGHT , mythid)
796 write(msgbuf,'(a)')
797 &'// ======================================================='
798 call print_message( msgbuf, standardmessageunit,
799 & SQUEEZE_RIGHT , mythid)
800 write(msgbuf,'(a)')
801 &'// External forcing climatology configuration >>> END <<<'
802 call print_message( msgbuf, standardmessageunit,
803 & SQUEEZE_RIGHT , mythid)
804 write(msgbuf,'(a)')
805 &'// ======================================================='
806 call print_message( msgbuf, standardmessageunit,
807 & SQUEEZE_RIGHT , mythid)
808 write(msgbuf,'(a)') ' '
809 call print_message( msgbuf, standardmessageunit,
810 & SQUEEZE_RIGHT , mythid)
811
812 _END_MASTER( myThid )
813
814 RETURN
815 END

  ViewVC Help
Powered by ViewVC 1.1.22