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

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

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

revision 1.3 by jmc, Mon Jan 23 22:17:20 2006 UTC revision 1.4 by jmc, Mon Jun 5 18:17:22 2006 UTC
# Line 33  C     !LOCAL VARIABLES: Line 33  C     !LOCAL VARIABLES:
33        INTEGER md, ld, ipt, im        INTEGER md, ld, ipt, im
34        INTEGER j, k, k1, k2, l        INTEGER j, k, k1, k2, l
35        INTEGER  dUnit, stdUnit, iLen        INTEGER  dUnit, stdUnit, iLen
36          INTEGER xNew, xOld, ii, nDup
37          CHARACTER*(2) cSep
38        CHARACTER*(MAX_LEN_MBUF) msgBuf, tmpBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf, tmpBuf
39        CHARACTER*(MAX_LEN_FNAM) fn        CHARACTER*(MAX_LEN_FNAM) fn
40        CHARACTER*(72) ccLine, ccFlds, ccList        CHARACTER*(72) ccLine, ccFlds, ccList
# Line 105  C     write a summary diagnostics state: Line 107  C     write a summary diagnostics state:
107       &       jdiag(md,ld),' |', flds(md,ld),'|',idiag(md,ld),' |',       &       jdiag(md,ld),' |', flds(md,ld),'|',idiag(md,ld),' |',
108       &       mdiag(md,ld),' |', kdiag(jdiag(md,ld)),' |'       &       mdiag(md,ld),' |', kdiag(jdiag(md,ld)),' |'
109             ipt = ABS(idiag(md,ld))             ipt = ABS(idiag(md,ld))
110             IF (ipt.NE.0) THEN             IF (ipt.NE.0 .AND. averageCycle(ld).GT.1) THEN
111                 xOld=ndiag(ipt,1,1)
112                 nDup = 1
113                 cSep = ', '
114                 DO l=1,averageCycle(ld)
115                   ii = ipt+l*kdiag(jdiag(md,ld))
116                   IF (l.EQ.averageCycle(ld)) THEN
117                     cSep = ' |'
118                     xNew=xOld+1
119                   ELSE
120                     xNew=ndiag(ii,1,1)
121                   ENDIF
122                   IF (xNew.EQ.xOld) THEN
123                     nDup = nDup + 1
124                   ELSE
125                     iLen = ILNBLNK(msgBuf)
126                     tmpBuf(1:iLen) = msgBuf(1:iLen)
127                     IF (nDup.EQ.1) THEN
128                       WRITE(msgBuf,'(A,I5,A)') tmpBuf(1:iLen),xOld,cSep
129                     ELSE
130                       WRITE(msgBuf,'(A,I5,A,I2,2A)') tmpBuf(1:iLen),xOld,
131         &              '(x',nDup,')',cSep
132                     ENDIF
133                     xOld = xNew
134                     nDup = 1
135                   ENDIF
136                 ENDDO
137               ELSEIF (ipt.NE.0) THEN
138              iLen = ILNBLNK(msgBuf)              iLen = ILNBLNK(msgBuf)
139              tmpBuf(1:iLen) = msgBuf(1:iLen)              tmpBuf(1:iLen) = msgBuf(1:iLen)
140              WRITE(msgBuf,'(A,I6,A)') tmpBuf(1:iLen),ndiag(ipt,1,1),' |'              WRITE(msgBuf,'(A,I6,A)') tmpBuf(1:iLen),ndiag(ipt,1,1),' |'
141             ENDIF              im = mdiag(md,ld)
142             im = mdiag(md,ld)              IF (im.NE.0) THEN
143             IF (im.NE.0) THEN               iLen = ILNBLNK(msgBuf)
144              iLen = ILNBLNK(msgBuf)               tmpBuf(1:iLen) = msgBuf(1:iLen)
145              tmpBuf(1:iLen) = msgBuf(1:iLen)               WRITE(msgBuf,'(A,I6,A)') tmpBuf(1:iLen),ndiag(im,1,1),' |'
146              WRITE(msgBuf,'(A,I6,A)') tmpBuf(1:iLen),ndiag(im,1,1),' |'              ENDIF
147             ENDIF             ENDIF
148             iLen = ILNBLNK(msgBuf)             iLen = ILNBLNK(msgBuf)
149             WRITE(dUnit,'(A)') msgBuf(1:iLen)             WRITE(dUnit,'(A)') msgBuf(1:iLen)

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

  ViewVC Help
Powered by ViewVC 1.1.22