160 |
DO ld=1,nlists |
DO ld=1,nlists |
161 |
IF ( nlevels(ld).EQ.-1 ) THEN |
IF ( nlevels(ld).EQ.-1 ) THEN |
162 |
C- set Nb of levels to the minimum size of all diag of this list: |
C- set Nb of levels to the minimum size of all diag of this list: |
163 |
kLev = numLevels |
kLev = numLevels*10 |
164 |
DO md=1,nfields(ld) |
DO md=1,nfields(ld) |
165 |
nd = jdiag(md,ld) |
nd = jdiag(md,ld) |
166 |
kLev = MIN(kdiag(nd),kLev) |
kLev = MIN(kdiag(nd),kLev) |
167 |
ENDDO |
ENDDO |
168 |
IF ( kLev.LE.0 ) THEN |
IF ( kLev.LE.0 ) THEN |
169 |
WRITE(msgBuf,'(2A,I6,2A)') |
WRITE(msgBuf,'(2A,I4,2A)') |
170 |
& 'DIAGNOSTICS_SET_POINTERS: kLev < 1 in ', |
& 'DIAGNOSTICS_SET_POINTERS: kLev < 1 in', |
171 |
& ' setting levs of list l=',ld,', fnames: ', fnames(ld) |
& ' setting levs of list l=',ld,', fnames=', fnames(ld) |
172 |
|
CALL PRINT_ERROR( msgBuf , myThid ) |
173 |
|
STOP 'ABNORMAL END: S/R DIAGNOSTICS_SET_POINTERS' |
174 |
|
ELSEIF ( kLev.GT.numLevels ) THEN |
175 |
|
WRITE(msgBuf,'(A,2(I6,A))') |
176 |
|
& 'DIAGNOSTICS_SET_POINTERS: kLev=', kLev, |
177 |
|
& ' >', numLevels, ' =numLevels' |
178 |
|
CALL PRINT_ERROR( msgBuf , myThid ) |
179 |
|
WRITE(msgBuf,'(2A,I4,2A)') 'DIAGNOSTICS_SET_POINTERS: in', |
180 |
|
& ' setting levs of list l=',ld,', fnames=', fnames(ld) |
181 |
CALL PRINT_ERROR( msgBuf , myThid ) |
CALL PRINT_ERROR( msgBuf , myThid ) |
182 |
STOP 'ABNORMAL END: S/R DIAGNOSTICS_SET_POINTERS' |
STOP 'ABNORMAL END: S/R DIAGNOSTICS_SET_POINTERS' |
183 |
ENDIF |
ENDIF |