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

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

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

revision 1.3 by jmc, Wed Feb 23 14:45:00 2005 UTC revision 1.4 by jmc, Fri May 20 07:28:49 2005 UTC
# Line 86  C-    File names: Line 86  C-    File names:
86         ENDDO         ENDDO
87        ENDDO        ENDDO
88    
89          DO n = 2,diagSt_nbLists
90           DO m = 1,n-1
91            IF ( diagSt_Fname(n).EQ.diagSt_Fname(m) ) THEN
92             WRITE(msgBuf,'(2A)') 'DIAGNOSTICS_CHECK: ',
93         &            'found 2 identical stat_fname:'
94             CALL PRINT_ERROR( msgBuf , myThid )
95             WRITE(msgBuf,'(2A,I3,2A)') 'DIAGNOSTICS_CHECK: ',
96         &    '1rst (m=', m, ' ): ', diagSt_Fname(m)
97             CALL PRINT_ERROR( msgBuf , myThid )
98             WRITE(msgBuf,'(2A,I3,2A)') 'DIAGNOSTICS_CHECK: ',
99         &    ' 2nd (n=', n, ' ): ', diagSt_Fname(n)
100             CALL PRINT_ERROR( msgBuf , myThid )
101             STOP 'ABNORMAL END: S/R DIAGNOSTICS_CHECK'
102            ENDIF
103           ENDDO
104          ENDDO
105    
106  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
107  C-    Check for field that appears 2 times (or more) with differents frequency:  C-    Check for field that appears 2 times (or more) with differents frequency:
108    
109        DO n = 2,nlists        DO n = 2,nlists
110         DO m = 1,n-1         DO m = 1,n-1
111          IF ( freq(m).NE.freq(n) ) THEN          IF ( freq(m).NE.freq(n) .OR. phase(m).NE.phase(n) ) THEN
112    C--     once the SWITCH_ONOFF is changed to only turns ON diag with <0 freq
113    C                 and CLRDIAG is changed to turns OFF diag with <0 freq,
114    C       then we can allow 1 diag to be used with 2 differents <0 freq.
115    C       and this would become:
116    c       IF (  ( freq(m).GT.0. .OR. freq(n).GT.0. )
117    c    &   .AND.( freq(m).NE.freq(n) .OR. phase(m).NE.phase(n) )
118    c    &     ) THEN
119           DO k = 1,nActive(n)           DO k = 1,nActive(n)
120            DO l = 1,nActive(m)            DO l = 1,nActive(m)
121             IF ( flds(k,n).EQ.flds(l,m) ) THEN             IF ( flds(k,n).EQ.flds(l,m) ) THEN
122              WRITE(msgBuf,'(4A)') 'DIAGNOSTICS_CHECK: ',              WRITE(msgBuf,'(4A)') 'DIAGNOSTICS_CHECK: ',
123       &       'field : ',flds(k,n),' use 2 different freq. :'       &       'field : ',flds(k,n),' use 2 different freq. :'
124              CALL PRINT_ERROR( msgBuf , myThid )              CALL PRINT_ERROR( msgBuf , myThid )
125              WRITE(msgBuf,'(2A,I3,A,I6,2A)') 'DIAGNOSTICS_CHECK: ',              WRITE(msgBuf,'(2A,I3,A,2F17.6,2A)') 'DIAGNOSTICS_CHECK: ',
126       &       '1rst (m=', m, ' ), freq=', freq(m),' file:',fnames(m)       &       '1rst (m=', m, ' ) freq,phase=', freq(m),phase(m),
127         &       ' file:',fnames(m)
128                CALL PRINT_ERROR( msgBuf , myThid )
129                WRITE(msgBuf,'(2A,I3,A,2F17.6,2A)') 'DIAGNOSTICS_CHECK: ',
130         &       ' 2nd (n=', n, ' ) freq,phase=', freq(n),phase(n),
131         &       ' file:',fnames(n)
132                CALL PRINT_ERROR( msgBuf , myThid )
133                STOP 'ABNORMAL END: S/R DIAGNOSTICS_CHECK'
134               ENDIF
135              ENDDO
136             ENDDO
137            ENDIF
138           ENDDO
139          ENDDO
140    
141          DO n = 2,diagSt_nbLists
142           DO m = 1,n-1
143            IF    ( diagSt_freq(m) .NE. diagSt_freq(n) .OR.
144         &          diagSt_phase(m).NE.diagSt_phase(n) ) THEN
145    c       IF (  ( diagSt_freq(m).GT.0. .OR. diagSt_freq(n).GT.0. )
146    c    &   .AND.( diagSt_freq(m) .NE. diagSt_freq(n) .OR.
147    c    &          diagSt_phase(m).NE.diagSt_phase(n) )
148    c    &     ) THEN
149             DO k = 1,diagSt_nbActv(n)
150              DO l = 1,diagSt_nbActv(m)
151               IF ( diagSt_Flds(k,n).EQ.diagSt_Flds(l,m) ) THEN
152                WRITE(msgBuf,'(4A)') 'DIAGNOSTICS_CHECK: ',
153         &       'field : ',diagSt_Flds(k,n),' use 2 different stat_freq.:'
154                CALL PRINT_ERROR( msgBuf , myThid )
155                WRITE(msgBuf,'(2A,I3,A,2F17.6,2A)') 'DIAGNOSTICS_CHECK: ',
156         &       '1rst (m=', m, ' ) freq,phase=', diagSt_freq(m),
157         &       diagSt_phase(m), ' file:', diagSt_Fname(m)
158              CALL PRINT_ERROR( msgBuf , myThid )              CALL PRINT_ERROR( msgBuf , myThid )
159              WRITE(msgBuf,'(2A,I3,A,I6,2A)') 'DIAGNOSTICS_CHECK: ',              WRITE(msgBuf,'(2A,I3,A,2F17.6,2A)') 'DIAGNOSTICS_CHECK: ',
160       &       ' 2nd (n=', n, ' ), freq=', freq(n),' file:',fnames(n)       &       ' 2nd (n=', n, ' ) freq,phase=', diagSt_freq(n),
161         &       diagSt_phase(n), ' file:', diagSt_Fname(n)
162              CALL PRINT_ERROR( msgBuf , myThid )              CALL PRINT_ERROR( msgBuf , myThid )
163              STOP 'ABNORMAL END: S/R DIAGNOSTICS_CHECK'              STOP 'ABNORMAL END: S/R DIAGNOSTICS_CHECK'
164             ENDIF             ENDIF

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

  ViewVC Help
Powered by ViewVC 1.1.22