/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_readparms.F
ViewVC logotype

Contents of /MITgcm/pkg/diagnostics/diagnostics_readparms.F

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


Revision 1.22 - (show annotations) (download)
Thu May 22 08:36:05 2008 UTC (16 years ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint59r
Changes since 1.21: +18 -1 lines
add runtime parameter (missing_value, missing_value_int) to override
default (which is the value of getcon('UNDEF'))

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_readparms.F,v 1.21 2008/02/05 15:31:19 jmc Exp $
2 C $Name: $
3
4 #include "DIAG_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP 0
8 C !ROUTINE: DIAGNOSTICS_READPARMS
9
10 C !INTERFACE:
11 SUBROUTINE DIAGNOSTICS_READPARMS(myThid)
12
13 C !DESCRIPTION:
14 C Read Diagnostics Namelists to specify output sequence.
15
16 C !USES:
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "DIAGNOSTICS_SIZE.h"
22 #include "DIAGNOSTICS.h"
23 #include "DIAGSTATS_REGIONS.h"
24
25 C !INPUT PARAMETERS:
26 INTEGER myThid
27 CEOP
28
29 C !LOCAL VARIABLES:
30 C ldimLoc :: Max Number of Lists (in data.diagnostics)
31 C kdimLoc :: Max Number of Levels (in data.diagnostics)
32 C fdimLoc :: Max Number of Fields (in data.diagnostics)
33 C frequency :: Frequency (in s) of Output (ouput every "frequency" second)
34 C timePhase :: phase (in s) within the "frequency" period to write output
35 C averagingFreq :: frequency (in s) for periodic averaging interval
36 C averagingPhase :: phase (in s) for periodic averaging interval
37 C repeatCycle :: number of averaging intervals in 1 cycle
38 C mising_value :: missing value for floats in output
39 C mising_value_int :: missing value for integers in output
40 C levels :: List Output Levels
41 C fields :: List Output Fields
42 C filename :: List Output Filename
43 C-- for regional-statistics
44 C set_regMask(n) :: region-mask set-index that define the region "n"
45 C val_regMask(n) :: corresponding mask value of region "n" in the region-mask
46 C-- per level statistics output:
47 C stat_freq :: Frequency (in s) of statistics output
48 C stat_phase :: phase (in s) to write statistics output
49 C stat_region :: List of statistics output Regions
50 C stat_fields :: List of statistics output Fields
51 C stat_fname :: List of statistics output Filename
52 INTEGER ldimLoc, kdimLoc, fdimLoc, rdimLoc
53 PARAMETER ( ldimLoc = 2*numlists )
54 PARAMETER ( kdimLoc = 2*numLevels )
55 PARAMETER ( fdimLoc = 2*numperlist )
56 PARAMETER ( rdimLoc = nRegions+21 )
57 _RL frequency(ldimLoc), timePhase(ldimLoc)
58 _RL averagingFreq(ldimLoc), averagingPhase(ldimLoc)
59 INTEGER repeatCycle(ldimLoc)
60 _RL missing_value(ldimLoc)
61 INTEGER missing_value_int(ldimLoc)
62 _RL levels(kdimLoc,ldimLoc)
63 _RL stat_freq(ldimLoc), stat_phase(ldimLoc)
64 CHARACTER*8 fields(fdimLoc,ldimLoc)
65 CHARACTER*8 stat_fields(fdimLoc,ldimLoc)
66 CHARACTER*80 filename(ldimLoc), blkFilName
67 CHARACTER*80 stat_fname(ldimLoc)
68 CHARACTER*8 fileflags(ldimLoc)
69 CHARACTER*8 blk8c
70 CHARACTER*(MAX_LEN_MBUF) msgBuf
71 INTEGER stat_region(rdimLoc,ldimLoc)
72 INTEGER set_regMask(rdimLoc)
73 _RS val_regMask(rdimLoc)
74 INTEGER ku, stdUnit
75 INTEGER j,k,l,n,m,nf
76 INTEGER iLen, regionCount
77 INTEGER ILNBLNK
78 EXTERNAL ILNBLNK
79
80 C-- full level output:
81 NAMELIST / DIAGNOSTICS_LIST /
82 & frequency, timePhase,
83 & averagingFreq, averagingPhase, repeatCycle,
84 & missing_value, missing_value_int,
85 & levels, fields, filename, fileflags,
86 & dumpAtLast, diag_mnc,
87 & diag_pickup_read, diag_pickup_write,
88 & diag_pickup_read_mnc, diag_pickup_write_mnc
89
90 C-- per level statistics output:
91 NAMELIST / DIAG_STATIS_PARMS /
92 & stat_freq, stat_phase, stat_region, stat_fields,
93 & stat_fname, diagSt_mnc,
94 & set_regMask, val_regMask,
95 & diagSt_regMaskFile, nSetRegMskFile
96
97 C Initialize and Read Diagnostics Namelist
98 _BEGIN_MASTER(myThid)
99
100 blk8c = ' '
101 DO k=1,LEN(blkFilName)
102 blkFilName(k:k) = ' '
103 ENDDO
104
105 DO l = 1,ldimLoc
106 frequency(l) = 0.
107 timePhase(l) = UNSET_RL
108 averagingFreq(l) = 0.
109 averagingPhase(l)= 0.
110 repeatCycle(l) = 0
111 filename(l) = blkFilName
112 missing_value(l) = UNSET_RL
113 missing_value_int(l) = UNSET_I
114 C eight spaces: 12345678
115 c fileflags(l)(1:8) = ' '
116 fileflags(l) = blk8c
117 DO k = 1,kdimLoc
118 levels(k,l) = UNSET_RL
119 ENDDO
120 DO m = 1,fdimLoc
121 fields(m,l) = blk8c
122 ENDDO
123 ENDDO
124 dumpAtLast = .FALSE.
125 diag_mnc = useMNC
126 diag_pickup_read = .FALSE.
127 diag_pickup_write = .FALSE.
128 diag_pickup_read_mnc = .FALSE.
129 diag_pickup_write_mnc = .FALSE.
130
131 diagSt_regMaskFile = ' '
132 nSetRegMskFile = 0
133 DO k = 1,rdimLoc
134 set_regMask(k) = 0
135 val_regMask(k) = 0.
136 ENDDO
137 DO l = 1,ldimLoc
138 stat_freq(l) = 0.
139 stat_phase(l) = UNSET_RL
140 stat_fname(l) = blkFilName
141 DO k = 1,rdimLoc
142 stat_region(k,l) = UNSET_I
143 ENDDO
144 DO m = 1,fdimLoc
145 stat_fields(m,l) = blk8c
146 ENDDO
147 ENDDO
148
149 WRITE(msgBuf,'(2A)')
150 & ' DIAGNOSTICS_READPARMS: opening data.diagnostics'
151 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,SQUEEZE_RIGHT,1)
152
153 CALL OPEN_COPY_DATA_FILE('data.diagnostics',
154 & 'DIAGNOSTICS_READPARMS', ku, myThid )
155
156 WRITE(msgBuf,'(2A)') 'S/R DIAGNOSTICS_READPARMS,',
157 & ' read namelist "diagnostics_list": start'
158 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
159 & SQUEEZE_RIGHT , 1)
160 READ (ku,NML=diagnostics_list)
161 WRITE(msgBuf,'(2A)') 'S/R DIAGNOSTICS_READPARMS,',
162 & ' read namelist "diagnostics_list": OK'
163 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
164 & SQUEEZE_RIGHT , 1)
165
166 C- set default for statistics output according to the main flag
167 diag_mnc = diag_mnc .AND. useMNC
168 diagSt_mnc = diag_mnc
169
170 WRITE(msgBuf,'(2A)') 'S/R DIAGNOSTICS_READPARMS,',
171 & ' read namelist "DIAG_STATIS_PARMS": start'
172 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
173 & SQUEEZE_RIGHT , 1)
174 READ (ku,NML=DIAG_STATIS_PARMS)
175 WRITE(msgBuf,'(2A)') 'S/R DIAGNOSTICS_READPARMS,',
176 & ' read namelist "DIAG_STATIS_PARMS": OK'
177 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
178 & SQUEEZE_RIGHT , 1)
179
180 CLOSE (ku)
181
182 C Initialise DIAG_SELECT common block (except pointers)
183 nlists = 0
184 DO n = 1,numlists
185 freq(n) = 0.
186 phase(n) = 0.
187 averageFreq(n) = 0.
188 averagePhase(n) = 0.
189 averageCycle(n) = 1
190 nlevels(n) = 0
191 nfields(n) = 0
192 fnames(n) = blkFilName
193 misvalFlt(n) = UNSET_RL
194 misvalInt(n) = UNSET_I
195 DO k = 1,numLevels
196 levs(k,n) = 0
197 ENDDO
198 DO m = 1,numperlist
199 flds(m,n) = blk8c
200 ENDDO
201 fflags(n) = blk8c
202 ENDDO
203
204 C useMNC is confusing (can be T at this point & turned off later, whereas
205 C for all other pkgs, model stops if use${PKG}= T with #undef ALLOW_${PKG})
206 #ifndef ALLOW_MNC
207 C Fix to avoid running without getting any output:
208 diag_mnc = .FALSE.
209 diagSt_mnc = .FALSE.
210 #endif
211
212 C Fill Diagnostics Common Block with Namelist Info
213 diagSt_mnc = diagSt_mnc .AND. useMNC
214 diag_mdsio = (.NOT. diag_mnc) .OR. outputTypesInclusive
215 diag_pickup_read_mnc = diag_pickup_read_mnc .AND. diag_mnc
216 diag_pickup_write_mnc = diag_pickup_write_mnc .AND. diag_mnc
217 diag_pickup_read_mdsio =
218 & diag_pickup_read .AND. (.NOT. diag_pickup_read_mnc)
219 diag_pickup_write_mdsio = diag_pickup_write .AND.
220 & ((.NOT. diag_pickup_write_mnc) .OR. outputTypesInclusive)
221 diagSt_ascii = (.NOT. diagSt_mnc) .OR. outputTypesInclusive
222
223 DO l = 1,ldimLoc
224 iLen = ILNBLNK(filename(l))
225 C- Only lists with non-empty file name (iLen>0) are considered
226 IF ( iLen.GE.1 .AND. nlists.LT.numlists ) THEN
227 n = nlists + 1
228 freq(n) = frequency(l)
229 IF ( timePhase(l).NE. UNSET_RL ) THEN
230 phase(n) = timePhase(l)
231 ELSEIF ( frequency(l) .LT. 0. ) THEN
232 phase(n) = -0.5 _d 0 * frequency(l)
233 ENDIF
234 IF ( averagingFreq(l).GT.0. .AND. repeatCycle(l).GT.1 ) THEN
235 averageFreq(n) = averagingFreq(l)
236 averagePhase(n) = averagingPhase(l)
237 averageCycle(n) = repeatCycle(l)
238 ELSEIF (averagingFreq(l).NE.0. .OR. repeatCycle(l).NE.0) THEN
239 WRITE(msgBuf,'(2A,F18.6,I4)') 'DIAGNOSTICS_READPARMS: ',
240 & 'unvalid Average-Freq & Cycle:',
241 & averagingFreq(l), repeatCycle(l)
242 CALL PRINT_ERROR( msgBuf , myThid )
243 WRITE(msgBuf,'(2A,I4,2A)') 'DIAGNOSTICS_READPARMS: ',
244 & ' for list l=', l, ', filename: ', filename(l)
245 CALL PRINT_ERROR( msgBuf , myThid )
246 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
247 ELSEIF ( frequency(l) .EQ. 0. ) THEN
248 averageFreq(n) = nTimeSteps*deltaTClock
249 averagePhase(n) = phase(n)
250 ELSEIF ( frequency(l) .GT. 0. ) THEN
251 averageFreq(n) = frequency(l)
252 averagePhase(n) = phase(n)
253 ENDIF
254 IF ( missing_value(l) .NE. UNSET_RL )
255 & misvalFlt(n) = missing_value(l)
256 IF ( missing_value_int(l) .NE. UNSET_I )
257 & misvalInt(n) = missing_value_int(l)
258 fnames(n) = filename (l)
259 fflags(n) = fileflags(l)
260 nlevels(n) = 0
261 IF ( levels(1,l).NE.UNSET_RL ) THEN
262 DO k=1,kdimLoc
263 IF ( levels(k,l).NE.UNSET_RL .AND.
264 & nlevels(n).LT.numLevels ) THEN
265 nlevels(n) = nlevels(n) + 1
266 levs(nlevels(n),n) = levels(k,l)
267 ELSEIF ( levels(k,l).NE.UNSET_RL ) THEN
268 WRITE(msgBuf,'(2A,I4)') 'DIAGNOSTICS_READPARMS: ',
269 & 'Exceed Max.Num. of Levels numLevels=', numLevels
270 CALL PRINT_ERROR( msgBuf , myThid )
271 WRITE(msgBuf,'(2A,I4,A,F8.0)') 'DIAGNOSTICS_READPARMS: ',
272 & 'when trying to add level(k=', k, ' )=', levels(k,l)
273 CALL PRINT_ERROR( msgBuf , myThid )
274 WRITE(msgBuf,'(2A,I4,2A)') 'DIAGNOSTICS_READPARMS: ',
275 & ' for list l=', l, ', filename: ', filename(l)
276 CALL PRINT_ERROR( msgBuf , myThid )
277 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
278 ENDIF
279 ENDDO
280 ELSE
281 C- will set levels later, once the Nb of levels of each diag is known
282 nlevels(n) = -1
283 ENDIF
284 nfields(n) = 0
285 DO m=1,fdimLoc
286 IF ( fields(m,l).NE.blk8c .AND.
287 & nfields(n).LT.numperlist ) THEN
288 nfields(n) = nfields(n) + 1
289 flds(nfields(n),n) = fields(m,l)
290 ELSEIF ( fields(m,l).NE.blk8c ) THEN
291 WRITE(msgBuf,'(2A,I4)') 'DIAGNOSTICS_READPARMS: ',
292 & 'Exceed Max.Num. of Fields/list numperlist=', numperlist
293 CALL PRINT_ERROR( msgBuf , myThid )
294 WRITE(msgBuf,'(2A,I4,3A,I4,2A)') 'DIAGNOSTICS_READPARMS: ',
295 & 'when trying to add field (m=', m, ' ): ',fields(m,l)
296 CALL PRINT_ERROR( msgBuf , myThid )
297 WRITE(msgBuf,'(2A,I4,2A)') 'DIAGNOSTICS_READPARMS: ',
298 & ' in list l=', l, ', filename: ', filename(l)
299 CALL PRINT_ERROR( msgBuf , myThid )
300 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
301 ENDIF
302 ENDDO
303 nlists = nlists + 1
304 c write(6,*) 'list summary:',n,nfields(n),nlevels(n)
305 ELSEIF ( iLen.GE.1 ) THEN
306 WRITE(msgBuf,'(2A,I4)') 'DIAGNOSTICS_READPARMS: ',
307 & 'Exceed Max.Num. of list numlists=', numlists
308 CALL PRINT_ERROR( msgBuf , myThid )
309 WRITE(msgBuf,'(2A,I4)') 'DIAGNOSTICS_READPARMS: ',
310 & 'when trying to add list l=', l
311 CALL PRINT_ERROR( msgBuf , myThid )
312 WRITE(msgBuf,'(2A,F18.6,2A)') 'DIAGNOSTICS_READPARMS: ',
313 & ' Frq=', frequency(l), ', filename: ', filename(l)
314 CALL PRINT_ERROR( msgBuf , myThid )
315 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
316 ENDIF
317 ENDDO
318
319 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
320
321 C- Initialise DIAG_STATS_REGMASK common block (except the mask)
322 nSetRegMask = 0
323 DO j = 0,nRegions
324 diagSt_kRegMsk(j) = 0
325 diagSt_vRegMsk(j) = 0.
326 ENDDO
327 C Global statistics (region # 0)
328 diagSt_kRegMsk(0) = 1
329
330 C- Initialise DIAG_STATIS common block (except pointers)
331 diagSt_nbLists = 0
332 DO n = 1,numlists
333 diagSt_freq(n) = 0.
334 diagSt_phase(n) = 0.
335 diagSt_nbFlds(n) = 0
336 diagSt_ioUnit(n) = 0
337 diagSt_Fname(n) = blkFilName
338 DO j = 0,nRegions
339 diagSt_region(j,n) = 0
340 ENDDO
341 DO m = 1,numperlist
342 diagSt_Flds(m,n) = blk8c
343 ENDDO
344 ENDDO
345
346 C Fill Diagnostics Common Block with Namelist Info
347 diagSt_ascii = (.NOT. diagSt_mnc) .OR. outputTypesInclusive
348
349 C- Region mask correspondence table:
350 C note: this table should be build when regions are defined ;
351 C for now, simpler just to read it from namelist in data.diagnostics
352 j = 0
353 DO k = 1,rdimLoc
354 IF ( set_regMask(k).NE.0 .OR. val_regMask(k).NE.0. ) THEN
355 j = j+1
356 IF ( j.LE.nRegions ) THEN
357 diagSt_kRegMsk(j) = set_regMask(k)
358 diagSt_vRegMsk(j) = val_regMask(k)
359 ENDIF
360 ENDIF
361 ENDDO
362 IF ( j.GT.nRegions ) THEN
363 WRITE(msgBuf,'(2A,I4,A)') 'DIAGNOSTICS_READPARMS: ',
364 & 'set_regMask & val_regMask lists assume at least',j,' regions'
365 CALL PRINT_ERROR( msgBuf , myThid )
366 WRITE(msgBuf,'(2A)') 'DIAGNOSTICS_READPARMS: ',
367 & 'Need to increase "nRegions" in DIAGNOSTICS_SIZE.h'
368 CALL PRINT_ERROR( msgBuf , myThid )
369 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
370 ENDIF
371
372 DO l = 1,ldimLoc
373 iLen = ILNBLNK(stat_fname(l))
374 C- Only lists with non-empty file name (iLen>0) are considered
375 IF ( iLen.GE.1 .AND. diagSt_nbLists.LT.numlists)THEN
376 n = diagSt_nbLists + 1
377 diagSt_freq(n) = stat_freq(l)
378 IF ( stat_phase(l).NE. UNSET_RL ) THEN
379 diagSt_phase(n) = stat_phase(l)
380 ELSEIF ( stat_freq(l) .LT. 0. ) THEN
381 diagSt_phase(n) = -0.5 _d 0 * stat_freq(l)
382 ENDIF
383 diagSt_Fname(n) = stat_fname(l)
384 regionCount = 0
385 DO k=1,rdimLoc
386 j = stat_region(k,l)
387 IF ( j.NE.UNSET_I .AND. j.GE.0 .AND. j.LE.nRegions ) THEN
388 IF ( diagSt_region(j,n).EQ.0 ) THEN
389 diagSt_region(j,n) = 1
390 regionCount = regionCount + 1
391 ELSE
392 WRITE(msgBuf,'(2A,I4,2A)')
393 & 'DIAGNOSTICS_READPARMS:',
394 & ' in list l=', l, ', stat_fname: ', stat_fname(l)
395 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
396 & SQUEEZE_RIGHT , myThid )
397 WRITE(msgBuf,'(A,I4,A)')
398 & 'DIAGNOSTICS_READPARMS: region=',j,
399 & ' can only be selected once => ignore 2nd selection'
400 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
401 & SQUEEZE_RIGHT , myThid )
402 ENDIF
403 ELSEIF ( j.NE.UNSET_I ) THEN
404 WRITE(msgBuf,'(A,I4,A,I4,2A)')
405 & 'DIAGNOSTICS_READPARMS: region=',j,
406 & ' in list l=', l, ', stat_fname: ', stat_fname(l)
407 CALL PRINT_ERROR( msgBuf , myThid )
408 WRITE(msgBuf,'(2A,I4,A,I4,2A)')
409 & 'DIAGNOSTICS_READPARMS: ==> exceed Max.Nb of regions',
410 & '(=',nRegions,' )'
411 CALL PRINT_ERROR( msgBuf , myThid )
412 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
413 ENDIF
414 ENDDO
415 IF ( regionCount.EQ.0 ) THEN
416 C- no region selected => default is Global statistics (region Id: 0)
417 diagSt_region(0,n) = 1
418 ENDIF
419 diagSt_nbFlds(n) = 0
420 DO m=1,fdimLoc
421 IF ( stat_fields(m,l).NE.blk8c .AND.
422 & diagSt_nbFlds(n).LT.numperlist ) THEN
423 diagSt_nbFlds(n) = diagSt_nbFlds(n) + 1
424 diagSt_Flds(diagSt_nbFlds(n),n) = stat_fields(m,l)
425 ELSEIF ( stat_fields(m,l).NE.blk8c ) THEN
426 WRITE(msgBuf,'(2A,I4)') 'DIAGNOSTICS_READPARMS: ',
427 & 'Exceed Max.Num. of Fields/list numperlist=', numperlist
428 CALL PRINT_ERROR( msgBuf , myThid )
429 WRITE(msgBuf,'(2A,I4,3A,I4,2A)') 'DIAGNOSTICS_READPARMS: ',
430 & 'when trying to add stat_field (m=', m,
431 & ' ): ',stat_fields(m,l)
432 CALL PRINT_ERROR( msgBuf , myThid )
433 WRITE(msgBuf,'(2A,I4,2A)') 'DIAGNOSTICS_READPARMS: ',
434 & ' in list l=', l, ', stat_fname: ', stat_fname(l)
435 CALL PRINT_ERROR( msgBuf , myThid )
436 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
437 ENDIF
438 ENDDO
439 diagSt_nbLists = diagSt_nbLists + 1
440 c write(6,*) 'stat-list summary:',n,diagSt_nbFlds(n),regionCount
441 ELSEIF ( iLen.GE.1 ) THEN
442 WRITE(msgBuf,'(2A,I4)') 'DIAGNOSTICS_READPARMS: ',
443 & 'Exceed Max.Num. of list numlists=', numlists
444 CALL PRINT_ERROR( msgBuf , myThid )
445 WRITE(msgBuf,'(2A,I4)') 'DIAGNOSTICS_READPARMS: ',
446 & 'when trying to add stat_list l=', l
447 CALL PRINT_ERROR( msgBuf , myThid )
448 WRITE(msgBuf,'(2A,F18.6,2A)') 'DIAGNOSTICS_READPARMS: ',
449 & ' Frq=', stat_freq(l), ', stat_fname: ', stat_fname(l)
450 CALL PRINT_ERROR( msgBuf , myThid )
451 STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
452 ENDIF
453 ENDDO
454
455 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
456 C Echo History List Data Structure
457 stdUnit = standardMessageUnit
458 WRITE(msgBuf,'(A)')
459 & '-----------------------------------------------------'
460 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
461 WRITE(msgBuf,'(A)')
462 & ' DIAGNOSTICS_READPARMS: active diagnostics summary:'
463 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
464 WRITE(msgBuf,'(A)')
465 & '-----------------------------------------------------'
466 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
467 DO n = 1,nlists
468 WRITE(msgBuf,'(2A)') 'Creating Output Stream: ', fnames(n)
469 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
470 WRITE(msgBuf,'(2(A,F18.6))') 'Output Frequency:', freq(n),
471 & ' ; Phase: ', phase(n)
472 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
473 WRITE(msgBuf,'(2(A,F18.6),A,I4)')
474 & ' Averaging Freq.:', averageFreq(n),
475 & ' , Phase: ', averagePhase(n), ' , Cycle:', averageCycle(n)
476 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
477 WRITE(msgBuf,'(A,E18.6,A,I18))')
478 & 'missing value: ', misvalFlt(n),
479 & ' ; for integers: ', misvalInt(n)
480 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
481 IF ( nlevels(n).EQ.-1 ) THEN
482 WRITE(msgBuf,'(A,A)') ' Levels: ','will be set later'
483 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
484 ELSEIF ( fflags(n)(2:2).EQ.'P' ) THEN
485 DO l=1,nlevels(n),10
486 m = MIN(nlevels(n),l+9)
487 WRITE(msgBuf,'(A,1P10E10.3)')' interp: ', (levs(k,n),k=l,m)
488 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
489 ENDDO
490 ELSE
491 DO l=1,nlevels(n),20
492 m = MIN(nlevels(n),l+19)
493 WRITE(msgBuf,'(A,20F5.0)') ' Levels: ', (levs(k,n),k=l,m)
494 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
495 ENDDO
496 ENDIF
497 DO nf = 1,nfields(n),10
498 m = MIN(nfields(n),nf+9)
499 WRITE(msgBuf,'(21A)') ' Fields: ',(' ',flds(l,n),l=nf,m)
500 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
501 ENDDO
502 ENDDO
503 WRITE(msgBuf,'(A)')
504 & '-----------------------------------------------------'
505 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
506 WRITE(msgBuf,'(A)')
507 & ' DIAGNOSTICS_READPARMS: statistics diags. summary:'
508 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
509 DO n = 1,diagSt_nbLists
510 WRITE(msgBuf,'(2A)') 'Creating Stats. Output Stream: ',
511 & diagSt_Fname(n)
512 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
513 WRITE(msgBuf,'(2(A,F18.6))') 'Output Frequency:',
514 & diagSt_freq(n), ' ; Phase: ', diagSt_phase(n)
515 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
516 WRITE(msgBuf,'(A)') ' Regions: '
517 l = 10
518 DO j=0,nRegions
519 IF ( diagSt_region(j,n).GE.1 ) THEN
520 l = l+3
521 IF (l.LE.MAX_LEN_MBUF) WRITE(msgBuf(l-2:l),'(I3)') j
522 ENDIF
523 ENDDO
524 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
525 DO nf = 1,diagSt_nbFlds(n),10
526 m = MIN(diagSt_nbFlds(n),nf+9)
527 WRITE(msgBuf,'(21A)') ' Fields: ',
528 & (' ',diagSt_Flds(l,n),l=nf,m)
529 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
530 ENDDO
531 ENDDO
532 WRITE(msgBuf,'(A)')
533 & '-----------------------------------------------------'
534 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
535 WRITE(msgBuf,'(A)')
536 CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
537
538 _END_MASTER(myThid)
539
540 RETURN
541 END

  ViewVC Help
Powered by ViewVC 1.1.22