| 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 |