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

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

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

revision 1.1 by jmc, Fri May 20 07:28:52 2005 UTC revision 1.6 by jmc, Sun Jul 10 00:52:12 2005 UTC
# Line 10  C     !ROUTINE: DIAGSTATS_OUTPUT Line 10  C     !ROUTINE: DIAGSTATS_OUTPUT
10  C     !INTERFACE:  C     !INTERFACE:
11        SUBROUTINE  DIAGSTATS_OUTPUT(        SUBROUTINE  DIAGSTATS_OUTPUT(
12       I     listId,       I     listId,
13       I     myIter,       I     myTime, myIter, myThid )
      I     myThid )  
14    
15  C     !DESCRIPTION:  C     !DESCRIPTION:
16  C     Write output for diagnostics fields.  C     Write output for diagnostics fields.
17          
18  C     !USES:  C     !USES:
19        IMPLICIT NONE        IMPLICIT NONE
20  #include "SIZE.h"  #include "SIZE.h"
# Line 34  C     !USES: Line 33  C     !USES:
33  #endif  #endif
34    
35  C     !INPUT PARAMETERS:  C     !INPUT PARAMETERS:
36  C     listId :: Diagnostics list number being written  C     listId  :: Diagnostics list number being written
37  C     myIter  :: current iteration number  C     myIter  :: current iteration number
38    C     myTime  :: Current time of simulation (s)
39  C     myThid  :: my Thread Id number  C     myThid  :: my Thread Id number
40          _RL     myTime
41        INTEGER listId, myIter, myThid        INTEGER listId, myIter, myThid
42  CEOP  CEOP
43    
44  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
45        INTEGER j, m, ndId        INTEGER j, m, ndId, iSp, iSm
46        CHARACTER*8 parms1        CHARACTER*8 parms1
47        CHARACTER*3 mate_index        CHARACTER*3 mate_index
48        INTEGER mate        INTEGER mate
# Line 63  C---+----1----+----2----+----3----+----4 Line 64  C---+----1----+----2----+----3----+----4
64        DO m = 1,diagSt_nbFlds(listId)        DO m = 1,diagSt_nbFlds(listId)
65         ndId = jSdiag(m,listId)         ndId = jSdiag(m,listId)
66         parms1 = gdiag(ndId)(1:8)         parms1 = gdiag(ndId)(1:8)
67         IF ( iSdiag(ndId).NE.0 .AND. parms1(5:5).NE.'D' ) THEN         IF ( iSdiag(m,listId).NE.0 .AND. parms1(5:5).NE.'D' ) THEN
68  C--    Start processing 1 Fld :  C--    Start processing 1 Fld :
69    
70           IF ( parms1(5:5).EQ.'C' ) THEN           IF ( parms1(5:5).EQ.'C' ) THEN
# Line 77  C          ----------------------------- Line 78  C          -----------------------------
78    
79           DO j=0,nRegions           DO j=0,nRegions
80            IF ( diagSt_region(j,listId).GT.0 ) THEN            IF ( diagSt_region(j,listId).GT.0 ) THEN
81                iSp = ABS(iSdiag(m,listId))
82                iSm = mSdiag(m,listId)
83              CALL DIAGSTATS_GLOBAL(              CALL DIAGSTATS_GLOBAL(
84       O                       statGlob(0,0,j), tmp_Glob,       O                       statGlob(0,0,j), tmp_Glob,
85       I                       undef, nLev,       I                       undef, nLev, j,
86       I                       j, ndId,mate,myThid)       I                       ndId, mate, iSp, iSm, myThid )
87    
88  C-          Check for empty Diag (= not filled or using empty mask)  C-          Check for empty Diag (= not filled or using empty mask)
89              IF ( statGlob(0,0,j).EQ.0. ) THEN              IF ( tmp_Glob(0,0).EQ.0. ) THEN
90               _BEGIN_MASTER( myThid )               _BEGIN_MASTER( myThid )
91               WRITE(msgBuf,'(A,I10,A,I3)')               WRITE(msgBuf,'(A,I10,A,I3)')
92       &        '- WARNING - from DIAGSTATS_OUTPUT at iter=', myIter,       &        '- WARNING - from DIAGSTATS_OUTPUT at iter=', myIter,
# Line 108  C-          Check for empty Diag (= not Line 111  C-          Check for empty Diag (= not
111    
112              IF ( debugLevel .GE. debLevA ) THEN              IF ( debugLevel .GE. debLevA ) THEN
113               _BEGIN_MASTER( myThid )               _BEGIN_MASTER( myThid )
114                WRITE(ioUnit,'(A,I3,3A,I3,A,1PE10.3,2A)')                WRITE(ioUnit,'(A,I3,3A,I3,A,1PE10.3,2A)')
115       &         ' Compute Stats, Diag. # ',ndId, '  ', cdiag(ndId),       &         ' Compute Stats, Diag. # ',ndId, '  ', cdiag(ndId),
116       &         '  vol(',j,' ):', statGlob(0,0,j),'  Parms: ',gdiag(ndId)       &         '  vol(',j,' ):', statGlob(0,0,j),'  Parms: ',gdiag(ndId)
117               IF ( mate.GT.0 ) THEN               IF ( mate.GT.0 ) THEN
118                WRITE(ioUnit,'(A,I3,3A,I3,2(A,1PE10.3))')                WRITE(ioUnit,'(A,I3,3A,I3,2(A,1PE10.3))')
119       &         '    use Counter Mate  # ', mate,'  ',cdiag(mate),       &         '    use Counter Mate  # ', mate,'  ',cdiag(mate),
120       &         '  vol(',j,' ):',tmp_Glob(0,0), ' integral',tmp_Glob(1,0)       &         '  vol(',j,' ):',tmp_Glob(0,0), ' integral',tmp_Glob(1,0)
121               ENDIF               ENDIF
# Line 121  C-          Check for empty Diag (= not Line 124  C-          Check for empty Diag (= not
124            ENDIF            ENDIF
125           ENDDO           ENDDO
126    
127  C--      Write to file:  C--      Write to ASCII file:
128           IF (diagSt_Ascii) THEN           IF (diagSt_Ascii) THEN
129             CALL DIAGSTATS_ASCII_OUT( statGlob, nLev, ndId,             CALL DIAGSTATS_ASCII_OUT( statGlob, nLev, ndId,
130       &                               m, listId, myIter, myThid )       &                               m, listId, myIter, myThid )
131           ENDIF           ENDIF
132    
133             IF (diagSt_mnc) THEN
134               CALL DIAGSTATS_MNC_OUT(
135         &          statGlob, nLev, ndId,
136         &          m, listId, myTime, myIter, myThid )
137             ENDIF
138    
139  C--    end of Processing Fld # m  C--    end of Processing Fld # m
140         ENDIF         ENDIF
141        ENDDO        ENDDO
142    
143        RETURN        RETURN
144        END        END
145                                                                        
146  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22