Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:38:59 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
16d76554fb Jean*0001 #include "DIAG_OPTIONS.h"
                0002 
                0003 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0004 CBOP 0
                0005 C     !ROUTINE: DIAGNOSTICS_LIST_CHECK
                0006 
                0007 C     !INTERFACE:
                0008       SUBROUTINE DIAGNOSTICS_LIST_CHECK(
                0009      O                       ndCount,
8f787f35d4 Davi*0010      I                       ld, md,
                0011      I                       nbLists, nbFlds, fldsList, myThid )
16d76554fb Jean*0012 
                0013 C     !DESCRIPTION:
                0014 C     Check a list of fields for disable diagnostics,
                0015 C     starting with the current one:
                0016 C     print relevant error message and return the number
                0017 C     of disable diagnostics that this list contains.
                0018 
                0019 C     !USES:
                0020       IMPLICIT NONE
                0021 #include "SIZE.h"
                0022 #include "EEPARAMS.h"
                0023 #include "PARAMS.h"
                0024 #include "DIAGNOSTICS_SIZE.h"
                0025 #include "DIAGNOSTICS.h"
                0026 
                0027 C     !INPUT PARAMETERS:
                0028 C     ld       :: current ouput stream number
                0029 C     md       :: current field in ouput stream ld
                0030 C     nbLists  :: number of output streams
                0031 C     nbFlds(n):: number of diagnostics for output stream # n
                0032 C     fldsList :: list of field names to check
                0033 C     myThid   :: my Thread Id. number
                0034       INTEGER ld, md, nbLists
1b12829e5f Jean*0035       INTEGER nbFlds(numLists)
                0036       CHARACTER*8 fldsList(numperList,numLists)
16d76554fb Jean*0037       INTEGER myThid
                0038 C     !OUTPUT PARAMETERS:
                0039 C     ndCount  :: number of disable diagnostics in list "fldsList"
                0040       INTEGER ndCount
                0041 CEOP
                0042 
                0043 C     !LOCAL VARIABLES:
                0044       CHARACTER*(MAX_LEN_MBUF) msgBuf
                0045       LOGICAL found
                0046       CHARACTER*8 diagName
                0047       INTEGER n,m,m1,i
                0048 
1777d1e0b7 Jean*0049       ndCount = 0
16d76554fb Jean*0050       _BEGIN_MASTER(myThid)
                0051 
                0052 C-    File names:
                0053       m1 = md
                0054       DO n = ld,nbLists
                0055        DO m = m1,nbFlds(n)
                0056 
                0057         diagName = fldsList(m,n)
                0058         found = .FALSE.
                0059         IF ( ndCount.GT.0 ) THEN
                0060 C        Search all possible model diagnostics
                0061          DO i=1,ndiagt
                0062           IF ( diagName.EQ.cdiag(i) ) found = .TRUE.
                0063          ENDDO
                0064         ENDIF
                0065         IF ( .NOT.found ) THEN
                0066 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0067          IF ( diagName.EQ.'PRESSURE' ) THEN
                0068            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0069      &             diagName, '" was replaced by "RCENTER "'
                0070            CALL PRINT_ERROR( msgBuf , myThid )
                0071            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0072      &              '=> need to change "data.diagnostics" accordingly'
                0073            CALL PRINT_ERROR( msgBuf , myThid )
                0074            ndCount = ndCount + 1
                0075          ENDIF
                0076          IF ( diagName.EQ.'TICE    ' ) THEN
                0077            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0078      &             diagName, '" was replaced by "oceFreez"'
                0079            CALL PRINT_ERROR( msgBuf , myThid )
                0080            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0081      &              '=> need to change "data.diagnostics" accordingly'
                0082            CALL PRINT_ERROR( msgBuf , myThid )
                0083            ndCount = ndCount + 1
                0084          ENDIF
                0085          IF ( diagName.EQ.'TAUX    ' ) THEN
                0086            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0087      &             diagName, '" was replaced by "oceTAUX "'
                0088            CALL PRINT_ERROR( msgBuf , myThid )
                0089            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0090      &              '=> need to change "data.diagnostics" accordingly'
                0091            CALL PRINT_ERROR( msgBuf , myThid )
                0092            ndCount = ndCount + 1
                0093          ENDIF
                0094          IF ( diagName.EQ.'TAUY    ' ) THEN
                0095            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0096      &             diagName, '" was replaced by "oceTAUY "'
                0097            CALL PRINT_ERROR( msgBuf , myThid )
                0098            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0099      &              '=> need to change "data.diagnostics" accordingly'
                0100            CALL PRINT_ERROR( msgBuf , myThid )
                0101            ndCount = ndCount + 1
                0102          ENDIF
                0103          IF ( diagName.EQ.'SWFLUX  ' ) THEN
                0104            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0105      &             diagName, '" was replaced by "oceQsw  "'
                0106            CALL PRINT_ERROR( msgBuf , myThid )
                0107            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0108      &              '=> need to change "data.diagnostics" accordingly'
                0109            CALL PRINT_ERROR( msgBuf , myThid )
                0110            ndCount = ndCount + 1
                0111          ENDIF
                0112          IF ( diagName(1:5).EQ.'DIFx_' .OR.
                0113      &        diagName(1:5).EQ.'DIFxT' ) THEN
                0114            WRITE(msgBuf,'(5A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0115      &             diagName, '" was replaced by "DFxE',
                0116      &             diagName(5:8), '"'
                0117            CALL PRINT_ERROR( msgBuf , myThid )
                0118            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0119      &              '=> need to change "data.diagnostics" accordingly'
                0120            CALL PRINT_ERROR( msgBuf , myThid )
                0121            ndCount = ndCount + 1
                0122          ENDIF
                0123          IF ( diagName(1:5).EQ.'DIFy_' .OR.
                0124      &        diagName(1:5).EQ.'DIFyT' ) THEN
                0125            WRITE(msgBuf,'(5A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0126      &             diagName, '" was replaced by "DFyE',
                0127      &             diagName(5:8), '"'
                0128            CALL PRINT_ERROR( msgBuf , myThid )
                0129            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0130      &              '=> need to change "data.diagnostics" accordingly'
                0131            CALL PRINT_ERROR( msgBuf , myThid )
                0132            ndCount = ndCount + 1
                0133          ENDIF
8f787f35d4 Davi*0134          IF ( diagName.EQ.'KPPmld  ' ) THEN
                0135            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0136      &             diagName, '" was retired in favor of "MXLDEPTH"'
                0137            CALL PRINT_ERROR( msgBuf , myThid )
                0138            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0139      &              '=> need to change "data.diagnostics" accordingly'
                0140            CALL PRINT_ERROR( msgBuf , myThid )
                0141            ndCount = ndCount + 1
                0142          ENDIF
e5d131eed7 Jean*0143          IF ( diagName.EQ.'KPPghat ' ) THEN
                0144            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0145      &             diagName, '" was retired in favor of "KPPghatK"'
                0146            CALL PRINT_ERROR( msgBuf , myThid )
                0147            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0148      &              '=> need to change "data.diagnostics" accordingly'
                0149            CALL PRINT_ERROR( msgBuf , myThid )
                0150            ndCount = ndCount + 1
                0151          ENDIF
f251ade60c Gael*0152          IF ( diagName.EQ.'SIyneg  ' ) THEN
                0153            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0154      &             diagName, '" was retired in favor of "SIdHbOCN"'
                0155            CALL PRINT_ERROR( msgBuf , myThid )
                0156            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0157      &              '=> need to change "data.diagnostics" accordingly'
                0158            CALL PRINT_ERROR( msgBuf , myThid )
                0159            ndCount = ndCount + 1
                0160          ENDIF
                0161          IF ( diagName.EQ.'SIfice  ' ) THEN
                0162            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0163      &             diagName, '" was retired in favor of "SIdHbATC"'
                0164            CALL PRINT_ERROR( msgBuf , myThid )
                0165            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0166      &              '=> need to change "data.diagnostics" accordingly'
                0167            CALL PRINT_ERROR( msgBuf , myThid )
                0168            ndCount = ndCount + 1
                0169          ENDIF
                0170          IF ( diagName.EQ.'SIsnwice' ) THEN
                0171            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0172      &             diagName, '" was retired in favor of "SIdHbFLO"'
                0173            CALL PRINT_ERROR( msgBuf , myThid )
                0174            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0175      &              '=> need to change "data.diagnostics" accordingly'
                0176            CALL PRINT_ERROR( msgBuf , myThid )
                0177            ndCount = ndCount + 1
                0178          ENDIF
                0179          IF ( diagName.EQ.'SIthdgrh' ) THEN
                0180            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0181      &             diagName, '" was retired in favor of "SIdHb*"'
                0182            CALL PRINT_ERROR( msgBuf , myThid )
                0183            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0184      &              '=> need to change "data.diagnostics" accordingly'
                0185            CALL PRINT_ERROR( msgBuf , myThid )
                0186            ndCount = ndCount + 1
                0187          ENDIF
1b12829e5f Jean*0188          IF ( diagName.EQ.'SI_FrcFx' ) THEN
                0189            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
                0190      &             diagName, '" was retired (identical to "SI_Fract")'
                0191            CALL PRINT_ERROR( msgBuf , myThid )
                0192            WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
                0193      &              '=> need to change "data.diagnostics" accordingly'
                0194            CALL PRINT_ERROR( msgBuf , myThid )
                0195            ndCount = ndCount + 1
                0196          ENDIF
                0197 
16d76554fb Jean*0198 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0199         ENDIF
                0200         IF ( ndCount.EQ.0 ) RETURN
                0201 
                0202        ENDDO
                0203        m1 = 1
                0204       ENDDO
                0205 
                0206       _END_MASTER(myThid)
                0207 
                0208       RETURN
                0209       END