/[MITgcm]/MITgcm/eesupp/src/print.F
ViewVC logotype

Diff of /MITgcm/eesupp/src/print.F

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

revision 1.8 by cnh, Mon Jun 15 05:13:55 1998 UTC revision 1.9 by adcroft, Mon Jun 22 16:24:51 1998 UTC
# Line 105  C Line 105  C
105        END        END
106    
107  CStartofinterface  CStartofinterface
108        SUBROUTINE PRINT_LIST_I( fld, lFld, index_type, ioUnit )        SUBROUTINE PRINT_LIST_I( fld, lFld, index_type, markEnd, compact, ioUnit )
109  C     /==========================================================\  C     /==========================================================\
110  C     | o SUBROUTINE PRINT_LIST_I                                |  C     | o SUBROUTINE PRINT_LIST_I                                |
111  C     |==========================================================|  C     |==========================================================|
# Line 127  C                  INDEX_K    => /* K = Line 127  C                  INDEX_K    => /* K =
127  C                  INDEX_I    => /* I = nnn */  C                  INDEX_I    => /* I = nnn */
128  C                  INDEX_J    => /* J = nnn */  C                  INDEX_J    => /* J = nnn */
129  C                  INDEX_NONE =>  C                  INDEX_NONE =>
130    C     compact -  Flag to control use of repeat symbol for same valued
131    C                fields.
132    C     markEnd -  Flag to control whether there is a separator after the
133    C                last element
134  C     ioUnit -  Unit number for IO.  C     ioUnit -  Unit number for IO.
135        INTEGER lFld        INTEGER lFld
136        INTEGER index_type        INTEGER index_type
137        INTEGER fld(lFld)        INTEGER fld(lFld)
138          LOGICAL markEnd
139          LOGICAL compact
140        INTEGER ioUnit        INTEGER ioUnit
141  CEndifinterface  CEndifinterface
142    
# Line 170  C     K    - Loop counter Line 176  C     K    - Loop counter
176        xOld = fld(1)        xOld = fld(1)
177        DO K=2,lFld        DO K=2,lFld
178         xNew = fld(K  )         xNew = fld(K  )
179         IF ( xNew .NE. xOld ) THEN         IF ( .NOT. compact .OR. xNew .NE. xOld ) THEN
180          nDup = iHi-iLo+1          nDup = iHi-iLo+1
181          IF ( nDup .EQ. 1 ) THEN          IF ( nDup .EQ. 1 ) THEN
182           WRITE(msgBuf,'(A,I5,A)') '              ',xOld,punc           WRITE(msgBuf,'(A,I5,A)') '              ',xOld,punc
# Line 191  C     K    - Loop counter Line 197  C     K    - Loop counter
197         ENDIF         ENDIF
198        ENDDO        ENDDO
199        punc = ' '        punc = ' '
200          IF ( markEnd ) punc = ','
201        nDup = iHi-iLo+1        nDup = iHi-iLo+1
202        IF    ( nDup .EQ. 1 ) THEN        IF    ( nDup .EQ. 1 ) THEN
203         WRITE(msgBuf,'(A,I5,A)') '              ',xOld,punc         WRITE(msgBuf,'(A,I5,A)') '              ',xOld,punc
# Line 208  C     K    - Loop counter Line 215  C     K    - Loop counter
215        END        END
216    
217  CStartofinterface  CStartofinterface
218        SUBROUTINE PRINT_LIST_L( fld, lFld, index_type, ioUnit )        SUBROUTINE PRINT_LIST_L( fld, lFld, index_type, markEnd, compact, ioUnit )
219  C     /==========================================================\  C     /==========================================================\
220  C     | o SUBROUTINE PRINT_LIST_L                                |  C     | o SUBROUTINE PRINT_LIST_L                                |
221  C     |==========================================================|  C     |==========================================================|
# Line 230  C                  INDEX_K    => /* K = Line 237  C                  INDEX_K    => /* K =
237  C                  INDEX_I    => /* I = nnn */  C                  INDEX_I    => /* I = nnn */
238  C                  INDEX_J    => /* J = nnn */  C                  INDEX_J    => /* J = nnn */
239  C                  INDEX_NONE =>  C                  INDEX_NONE =>
240    C     compact -  Flag to control use of repeat symbol for same valued
241    C                fields.
242    C     markEnd -  Flag to control whether there is a separator after the
243    C                last element
244  C     ioUnit -  Unit number for IO.  C     ioUnit -  Unit number for IO.
245        INTEGER lFld        INTEGER lFld
246        INTEGER index_type        INTEGER index_type
247        LOGICAL fld(lFld)        LOGICAL fld(lFld)
248          LOGICAL markEnd
249          LOGICAL compact
250        INTEGER ioUnit        INTEGER ioUnit
251  CEndifinterface  CEndifinterface
252    
# Line 273  C     K    - Loop counter Line 286  C     K    - Loop counter
286        xOld = fld(1)        xOld = fld(1)
287        DO K=2,lFld        DO K=2,lFld
288         xNew = fld(K  )         xNew = fld(K  )
289         IF ( xNew .NE. xOld ) THEN         IF ( .NOT. compact .OR. xNew .NE. xOld ) THEN
290          nDup = iHi-iLo+1          nDup = iHi-iLo+1
291          IF ( nDup .EQ. 1 ) THEN          IF ( nDup .EQ. 1 ) THEN
292           WRITE(msgBuf,'(A,L5,A)') '              ',xOld,punc           WRITE(msgBuf,'(A,L5,A)') '              ',xOld,punc
# Line 294  C     K    - Loop counter Line 307  C     K    - Loop counter
307         ENDIF         ENDIF
308        ENDDO        ENDDO
309        punc = ' '        punc = ' '
310          IF ( markEnd ) punc = ','
311        nDup = iHi-iLo+1        nDup = iHi-iLo+1
312        IF    ( nDup .EQ. 1 ) THEN        IF    ( nDup .EQ. 1 ) THEN
313         WRITE(msgBuf,'(A,L5,A)') '              ',xOld,punc         WRITE(msgBuf,'(A,L5,A)') '              ',xOld,punc
# Line 311  C     K    - Loop counter Line 325  C     K    - Loop counter
325        END        END
326    
327  CStartofinterface  CStartofinterface
328        SUBROUTINE PRINT_LIST_R8( fld, lFld, index_type, ioUnit )        SUBROUTINE PRINT_LIST_R8( fld, lFld, index_type, markEnd, compact, ioUnit )
329  C     /==========================================================\  C     /==========================================================\
330  C     | o SUBROUTINE PRINT_LIST_R8                               |  C     | o SUBROUTINE PRINT_LIST_R8                               |
331  C     |==========================================================|  C     |==========================================================|
# Line 333  C                  INDEX_K    => /* K = Line 347  C                  INDEX_K    => /* K =
347  C                  INDEX_I    => /* I = nnn */  C                  INDEX_I    => /* I = nnn */
348  C                  INDEX_J    => /* J = nnn */  C                  INDEX_J    => /* J = nnn */
349  C                  INDEX_NONE =>  C                  INDEX_NONE =>
350    C     compact -  Flag to control use of repeat symbol for same valued
351    C                fields.
352    C     markEnd -  Flag to control whether there is a separator after the
353    C                last element
354  C     ioUnit -  Unit number for IO.  C     ioUnit -  Unit number for IO.
355        INTEGER lFld        INTEGER lFld
356        INTEGER index_type        INTEGER index_type
357        Real*8  fld(lFld)        Real*8  fld(lFld)
358          LOGICAL markEnd
359          LOGICAL compact
360        INTEGER ioUnit        INTEGER ioUnit
361  CEndifinterface  CEndifinterface
362    
# Line 376  C     K    - Loop counter Line 396  C     K    - Loop counter
396        xOld = fld(1)        xOld = fld(1)
397        DO K=2,lFld        DO K=2,lFld
398         xNew = fld(K  )         xNew = fld(K  )
399         IF ( xNew .NE. xOld ) THEN         IF ( .NOT. compact .OR. xNew .NE. xOld ) THEN
400          nDup = iHi-iLo+1          nDup = iHi-iLo+1
401          IF ( nDup .EQ. 1 ) THEN          IF ( nDup .EQ. 1 ) THEN
402           WRITE(msgBuf,'(A,1PE23.15,A)') '              ',xOld,punc           WRITE(msgBuf,'(A,1PE23.15,A)') '              ',xOld,punc
# Line 397  C     K    - Loop counter Line 417  C     K    - Loop counter
417         ENDIF         ENDIF
418        ENDDO        ENDDO
419        punc = ' '        punc = ' '
420          IF ( markEnd ) punc = ','
421        nDup = iHi-iLo+1        nDup = iHi-iLo+1
422        IF    ( nDup .EQ. 1 ) THEN        IF    ( nDup .EQ. 1 ) THEN
423         WRITE(msgBuf,'(A,1PE23.15,A)') '              ',xOld,punc         WRITE(msgBuf,'(A,1PE23.15,A)') '              ',xOld,punc

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22