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

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

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


Revision 1.16 - (hide annotations) (download)
Tue Jan 24 02:59:47 2006 UTC (18 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58a_post
Changes since 1.15: +11 -11 lines
change names ("set" replace "level" for the region-mask array) that
 were confusing

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

  ViewVC Help
Powered by ViewVC 1.1.22