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

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

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

revision 1.4 by jmc, Mon Feb 7 20:49:09 2005 UTC revision 1.16 by jmc, Tue Jan 24 02:59:47 2006 UTC
# Line 20  C     !USES: Line 20  C     !USES:
20  #include "PARAMS.h"  #include "PARAMS.h"
21  #include "DIAGNOSTICS_SIZE.h"  #include "DIAGNOSTICS_SIZE.h"
22  #include "DIAGNOSTICS.h"  #include "DIAGNOSTICS.h"
23    #include "DIAGSTATS_REGIONS.h"
24    
25  C     !INPUT PARAMETERS:  C     !INPUT PARAMETERS:
26        INTEGER myThid        INTEGER myThid
27  CEOP  CEOP
28    
29  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
30  C     ldimLoc :: Max Number of Lists  C     ldimLoc :: Max Number of Lists  (in data.diagnostics)
31  C     kdimLoc :: Max Number of Levels  C     kdimLoc :: Max Number of Levels (in data.diagnostics)
32  C     fdimLoc :: Max Number of Fields  C     fdimLoc :: Max Number of Fields (in data.diagnostics)
33  C     frequency :: Frequency of Output (ouput every "frequency" iteration)  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     levels    :: List Output Levels  C     levels    :: List Output Levels
36  C     fields    :: List Output Fields  C     fields    :: List Output Fields
37  C     filename  :: List Output Filename  C     filename  :: List Output Filename
38        INTEGER     ldimLoc, kdimLoc, fdimLoc  C--   for regional-statistics
39    C     set_regMask(n) :: region-mask set-index that define the region "n"
40    C     val_regMask(n) :: corresponding mask value of region "n" in the region-mask
41    C--   per level statistics output:
42    C     stat_freq   :: Frequency (in s) of statistics output
43    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        PARAMETER ( ldimLoc = 2*numlists )        PARAMETER ( ldimLoc = 2*numlists )
49        PARAMETER ( kdimLoc = 2*numLevels )        PARAMETER ( kdimLoc = 2*numLevels )
50        PARAMETER ( fdimLoc = 2*numperlist )        PARAMETER ( fdimLoc = 2*numperlist )
51        INTEGER     frequency(ldimLoc)        PARAMETER ( rdimLoc = nRegions+21 )
52          _RL         frequency(ldimLoc), timePhase(ldimLoc)
53        _RL         levels(kdimLoc,ldimLoc)        _RL         levels(kdimLoc,ldimLoc)
54          _RL         stat_freq(ldimLoc), stat_phase(ldimLoc)
55        CHARACTER*8 fields(fdimLoc,ldimLoc)        CHARACTER*8 fields(fdimLoc,ldimLoc)
56        CHARACTER*8 filename(ldimLoc)        CHARACTER*8 stat_fields(fdimLoc,ldimLoc)
57          CHARACTER*80 filename(ldimLoc), blkFilName
58          CHARACTER*80 stat_fname(ldimLoc)
59          CHARACTER*8 fileflags(ldimLoc)
60        CHARACTER*8 blk8c        CHARACTER*8 blk8c
61        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
62          INTEGER stat_region(rdimLoc,ldimLoc)
63          INTEGER set_regMask(rdimLoc)
64          _RS     val_regMask(rdimLoc)
65        INTEGER ku, stdUnit        INTEGER ku, stdUnit
66        INTEGER k,l,n,m        INTEGER j,k,l,n,m
67          INTEGER iLen, regionCount
68        _RL undef, getcon        _RL undef, getcon
69          INTEGER  ILNBLNK
70          EXTERNAL ILNBLNK
71    
72    C--   full level output:
73        NAMELIST / diagnostics_list /        NAMELIST / diagnostics_list /
74       &     frequency, levels, fields, filename,       &     frequency, timePhase, levels, fields, filename, fileflags,
75       &     diag_mnc       &     dumpatlast, diag_mnc,
76         &     diag_pickup_read,     diag_pickup_write,
77         &     diag_pickup_read_mnc, diag_pickup_write_mnc
78    
79    C--   per level statistics output:
80          NAMELIST / DIAG_STATIS_PARMS /
81         &     stat_freq, stat_phase, stat_region, stat_fields,
82         &     stat_fname, diagSt_mnc,
83         &     set_regMask, val_regMask,
84         &     diagSt_regMaskFile, nSetRegMskFile
85    
86  C     Initialize and Read Diagnostics Namelist  C     Initialize and Read Diagnostics Namelist
87        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
88    
89        undef = getcon('UNDEF')        undef = getcon('UNDEF')
90        blk8c  = '        '        blk8c  = '        '
91          DO k=1,LEN(blkFilName)
92            blkFilName(k:k) = ' '
93          ENDDO
94    
95        DO l = 1,ldimLoc        DO l = 1,ldimLoc
96          frequency(l) = 0          frequency(l) = 0.
97            timePhase(l) = UNSET_RL
98            filename (l) = blkFilName
99    C       eight spaces:        12345678
100            fileflags(l)(1:8) = '        '
101          DO k = 1,kdimLoc          DO k = 1,kdimLoc
102            levels (k,l) = undef            levels (k,l) = undef
103          ENDDO          ENDDO
# Line 66  C     Initialize and Read Diagnostics Na Line 105  C     Initialize and Read Diagnostics Na
105            fields (m,l) = blk8c            fields (m,l) = blk8c
106          ENDDO          ENDDO
107        ENDDO        ENDDO
108        diag_mnc = useMNC        dumpatlast            = .FALSE.
109          diag_mnc              = useMNC
110          diag_pickup_read      = .FALSE.
111          diag_pickup_write     = .FALSE.
112          diag_pickup_read_mnc  = .FALSE.
113          diag_pickup_write_mnc = .FALSE.
114    
115          diagSt_regMaskFile = ' '
116          nSetRegMskFile = 0
117          DO k = 1,rdimLoc
118            set_regMask(k) = 0
119            val_regMask(k) = 0.
120          ENDDO
121          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,'(A)')        WRITE(msgBuf,'(2A)')
134       &     ' DIAGNOSTICS_READPARMS: opening data.diagnostics'       &     ' DIAGNOSTICS_READPARMS: opening data.diagnostics'
135        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,SQUEEZE_RIGHT,1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,SQUEEZE_RIGHT,1)
136    
137        CALL OPEN_COPY_DATA_FILE('data.diagnostics',        CALL OPEN_COPY_DATA_FILE('data.diagnostics',
138       &     'DIAGNOSTICS_READPARMS', ku, myThid )       &     'DIAGNOSTICS_READPARMS', ku, myThid )
139    
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        READ  (ku,NML=diagnostics_list)        READ  (ku,NML=diagnostics_list)
145          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        CLOSE (ku)        CLOSE (ku)
165    
166  C     Initialise diag_choices common block  C     Initialise diag_choices common block (except pointers)
167        nlists = 0        nlists = 0
168        DO n = 1,numlists        DO n = 1,numlists
169          freq(n) = 0          freq(n) = 0.
170            phase(n) = 0.
171          nlevels(n) = 0          nlevels(n) = 0
172          nfields(n) = 0          nfields(n) = 0
173          fnames(n) = blk8c          fnames(n) = blkFilName
174          DO k = 1,numLevels          DO k = 1,numLevels
175            levs(k,n) = 0            levs(k,n) = 0
176          ENDDO          ENDDO
177          DO m = 1,numperlist          DO m = 1,numperlist
178            flds(m,n) = '        '            flds(m,n) = blk8c
           jdiag(m,n) = 0  
179          ENDDO          ENDDO
180        ENDDO        ENDDO
181    
182    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  C     Fill Diagnostics Common Block with Namelist Info  C     Fill Diagnostics Common Block with Namelist Info
191        diag_mnc = diag_mnc .AND. useMNC        diagSt_mnc = diagSt_mnc .AND. useMNC
192        diag_mdsio = (.NOT. diag_mnc) .OR. outputTypesInclusive        diag_mdsio = (.NOT. diag_mnc) .OR. outputTypesInclusive
193          diag_pickup_read_mnc  = diag_pickup_read_mnc .AND. diag_mnc
194          diag_pickup_write_mnc = diag_pickup_write_mnc .AND. diag_mnc
195          diag_pickup_read_mdsio  =
196         &     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          diagSt_ascii = (.NOT. diagSt_mnc) .OR. outputTypesInclusive
200    
201        DO l = 1,ldimLoc        DO l = 1,ldimLoc
202         IF ( frequency(l).NE.0 .AND. nlists.LT.numlists ) THEN         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           n = nlists + 1           n = nlists + 1
206           freq(n)    = frequency(l)           freq(n)    = frequency(l)
207             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           fnames(n)  = filename (l)           fnames(n)  = filename (l)
213             fflags(n)  = fileflags(l)
214           nlevels(n) = 0           nlevels(n) = 0
215           IF ( levels(1,l).NE.undef ) THEN           IF ( levels(1,l).NE.undef ) THEN
216             DO k=1,kdimLoc             DO k=1,kdimLoc
# Line 147  C-       will set levels later, once the Line 256  C-       will set levels later, once the
256           ENDDO           ENDDO
257           nlists = nlists + 1           nlists = nlists + 1
258  c        write(6,*) 'list summary:',n,nfields(n),nlevels(n)  c        write(6,*) 'list summary:',n,nfields(n),nlevels(n)
259         ELSEIF ( frequency(l).NE.0 ) THEN         ELSEIF ( iLen.GE.1 ) THEN
260           WRITE(msgBuf,'(2A,I3)') 'DIAGNOSTICS_READPARMS: ',           WRITE(msgBuf,'(2A,I3)') 'DIAGNOSTICS_READPARMS: ',
261       &            'Exceed Max.Num. of list numlists=', numlists       &            'Exceed Max.Num. of list numlists=', numlists
262           CALL PRINT_ERROR( msgBuf , myThid )           CALL PRINT_ERROR( msgBuf , myThid )
263           WRITE(msgBuf,'(2A,I3)') 'DIAGNOSTICS_READPARMS: ',           WRITE(msgBuf,'(2A,I3)') 'DIAGNOSTICS_READPARMS: ',
264       &    'when trying to add list l=', l       &    'when trying to add list l=', l
265           CALL PRINT_ERROR( msgBuf , myThid )           CALL PRINT_ERROR( msgBuf , myThid )
266           WRITE(msgBuf,'(2A,I6,2A)') 'DIAGNOSTICS_READPARMS: ',           WRITE(msgBuf,'(2A,F17.6,2A)') 'DIAGNOSTICS_READPARMS: ',
267       &    ' Frq=', frequency(l), ', filename: ', filename(l)       &    ' Frq=', frequency(l), ', filename: ', filename(l)
268           CALL PRINT_ERROR( msgBuf , myThid )           CALL PRINT_ERROR( msgBuf , myThid )
269           STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'           STOP 'ABNORMAL END: S/R DIAGNOSTICS_READPARMS'
# Line 162  c        write(6,*) 'list summary:',n,nf Line 271  c        write(6,*) 'list summary:',n,nf
271        ENDDO        ENDDO
272    
273  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
274    
275    C-    Initialise DIAG_STATS_REGMASK common block (except the mask)
276          nSetRegMask = 0
277          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          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    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           IF ( set_regMask(k).NE.0 .OR. val_regMask(k).NE.0. ) THEN
309             j = j+1
310             IF ( j.LE.nRegions ) THEN
311               diagSt_kRegMsk(j) = set_regMask(k)
312               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         &   'set_regMask & val_regMask lists assume at least',j,' regions'
319             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          DO l = 1,ldimLoc
327           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             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                IF ( diagSt_region(j,n).EQ.0 ) THEN
343                 diagSt_region(j,n) = 1
344                 regionCount = regionCount + 1
345                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               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         &        'when trying to add stat_field (m=', m,
385         &        ' ): ',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           ELSEIF ( iLen.GE.1 ) THEN
396             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  C     Echo History List Data Structure  C     Echo History List Data Structure
411        stdUnit = standardMessageUnit        stdUnit = standardMessageUnit
412        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
# Line 176  C     Echo History List Data Structure Line 421  C     Echo History List Data Structure
421        DO n = 1,nlists        DO n = 1,nlists
422          WRITE(msgBuf,'(2a)') 'Creating Output Stream: ',fnames(n)          WRITE(msgBuf,'(2a)') 'Creating Output Stream: ',fnames(n)
423          CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)          CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
424          WRITE(msgBuf,*) 'Frequency: ',freq(n)          WRITE(msgBuf,'(2(A,F17.6))') 'Frequency : ',freq(n),
425         &                               ' ; Phase: ', phase(n)
426          CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)          CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
427          IF ( nlevels(n).EQ.-1 ) THEN          IF ( nlevels(n).EQ.-1 ) THEN
428            WRITE(msgBuf,'(A,A)') ' Levels:    ','will be set later'            WRITE(msgBuf,'(A,A)') ' Levels:    ','will be set later'
# Line 192  C     Echo History List Data Structure Line 438  C     Echo History List Data Structure
438          CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)          CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
439        ENDDO        ENDDO
440        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
441         & '-----------------------------------------------------'
442          CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
443          WRITE(msgBuf,'(A)')
444         &     ' 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            WRITE(msgBuf,'(A)') ' Regions : '
454            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)        CALL PRINT_MESSAGE( msgBuf, stdUnit,SQUEEZE_RIGHT, myThid)
469        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22