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

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

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

revision 1.5 by jmc, Sun Jun 26 16:51:49 2005 UTC revision 1.9 by jahn, Tue Jan 29 00:35:31 2008 UTC
# Line 32  CEOP Line 32  CEOP
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
# Line 52  C--   Initialize pointer arrays to zero: Line 52  C--   Initialize pointer arrays to zero:
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
# Line 70  C        Search all possible model diagn Line 71  C        Search all possible model diagn
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
# Line 129  C     and if it exists. Note: for now, o Line 135  C     and if it exists. Note: for now, o
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)
# Line 183  C-      set Nb of levels to the minimum Line 189  C-      set Nb of levels to the minimum
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)

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22