32 |
|
|
33 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
34 |
C == Local variables == |
C == Local variables == |
35 |
INTEGER ndiagcount |
INTEGER ndiagcount, ndCount |
36 |
INTEGER md,ld,nd |
INTEGER md,ld,nd |
37 |
INTEGER mate, nActiveMax |
INTEGER mate, nActiveMax |
38 |
INTEGER i, j, k, k1, k2, mm, kLev |
INTEGER i, j, k, k1, k2, mm, kLev |
52 |
ENDDO |
ENDDO |
53 |
ENDDO |
ENDDO |
54 |
|
|
55 |
C-- Calculate pointers for diagnostics set to non-zero frequency |
C-- Calculate pointers for diagnostics in active output-stream |
56 |
|
C (i.e., with defined filename) |
57 |
|
|
58 |
ndiagcount = 0 |
ndiagcount = 0 |
59 |
nActiveMax = 0 |
nActiveMax = 0 |
71 |
ENDIF |
ENDIF |
72 |
ENDDO |
ENDDO |
73 |
IF ( .NOT.found ) THEN |
IF ( .NOT.found ) THEN |
74 |
WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_SET_POINTERS: ', |
CALL DIAGNOSTICS_LIST_CHECK( |
75 |
|
O ndCount, |
76 |
|
I ld, md, nfields, flds, myThid ) |
77 |
|
IF ( ndCount.EQ.0 ) THEN |
78 |
|
WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_SET_POINTERS: ', |
79 |
& flds(md,ld),' is not a Diagnostic' |
& flds(md,ld),' is not a Diagnostic' |
80 |
CALL PRINT_ERROR( msgBuf , myThid ) |
CALL PRINT_ERROR( msgBuf , myThid ) |
81 |
|
ENDIF |
82 |
STOP 'ABNORMAL END: S/R DIAGNOSTICS_SET_POINTERS' |
STOP 'ABNORMAL END: S/R DIAGNOSTICS_SET_POINTERS' |
83 |
ENDIF |
ENDIF |
84 |
IF ( found .AND. mate.GE.1 ) THEN |
IF ( found .AND. mate.GE.1 ) THEN |
135 |
|
|
136 |
nd = jdiag(md,ld) |
nd = jdiag(md,ld) |
137 |
mate_index = gdiag(nd)(6:8) |
mate_index = gdiag(nd)(6:8) |
138 |
IF ( mate_index.NE.' ' ) THEN |
IF ( mate_index.NE.' ' .AND. mate_index.NE.'***' ) THEN |
139 |
READ(mate_index,'(I3)') mate |
READ(mate_index,'(I3)') mate |
140 |
DO j=1,nlists |
DO j=1,nlists |
141 |
DO i=1,nActive(j) |
DO i=1,nActive(j) |
189 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
190 |
& SQUEEZE_RIGHT, myThid) |
& SQUEEZE_RIGHT, myThid) |
191 |
ENDDO |
ENDDO |
192 |
ELSE |
ELSEIF ( fflags(ld)(2:2).NE.'P' ) THEN |
193 |
C- Check for levels out of range ( > kdiag) |
C- if no Vert.Interpolation, check for levels out of range ( > kdiag): |
194 |
kLev = 0 |
kLev = 0 |
195 |
DO k=1,nlevels(ld) |
DO k=1,nlevels(ld) |
196 |
kLev = MAX(NINT(levs(k,ld)),kLev) |
kLev = MAX(NINT(levs(k,ld)),kLev) |