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 |