Back to home page

darwin3

 
 

    


File indexing completed on 2024-12-17 18:34:10 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
3ae5f90260 Jean*0001 #include "DIAG_OPTIONS.h"
                0002 
                0003 CBOP 0
                0004 C     !ROUTINE: DIAGNOSTICS_CLEAR
                0005 C     !INTERFACE:
                0006       SUBROUTINE DIAGNOSTICS_CLEAR (listId, myThid)
                0007 
                0008 C     !DESCRIPTION:
                0009 C***********************************************************************
                0010 C     Driver to clear diagnostics specified in diagnostic index list
                0011 C***********************************************************************
                0012 
                0013 C     !USES:
                0014       IMPLICIT NONE
                0015 
                0016 C     == Global variables ===
                0017 #include "EEPARAMS.h"
                0018 #include "SIZE.h"
                0019 #include "DIAGNOSTICS_SIZE.h"
                0020 #include "DIAGNOSTICS.h"
                0021 
                0022 C     !INPUT PARAMETERS:
                0023 C     listId   ::  diagnostics list number
                0024 C     myThid :: my Thread Id number
                0025       INTEGER listId, myThid
                0026 CEOP
                0027 
                0028 C     !LOCAL VARIABLES:
666b944083 Jean*0029       INTEGER m, ndId, ipt, nLev
3ae5f90260 Jean*0030 
                0031       DO m=1,nActive(listId)
                0032        IF ( idiag(m,listId).GT.0 ) THEN
b38beaf3c1 Jean*0033          ndId  = ABS(jdiag(m,listId))
3ae5f90260 Jean*0034          ipt   = idiag(m,listId)
666b944083 Jean*0035          nLev  = kdiag(ndId)*averageCycle(listId)
4c72df725e Jean*0036 c        WRITE(0,'(2(A,I3),2A,2(A,I5))') 'CLRDIAG (listId=',listId,
                0037 c    &     ' )',nLev,' levs, diag: ',cdiag(ndId),
                0038 c    &     ' ipt=',ipt,' , ndiag=',ndiag(ipt,1,1)
666b944083 Jean*0039          CALL DIAGNOSTICS_CLRDIAG( ipt, nLev, myThid )
3ae5f90260 Jean*0040        ENDIF
                0041       ENDDO
                0042 
                0043       RETURN
                0044       END
                0045 
                0046 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0047 
                0048 CBOP 0
                0049 C     !ROUTINE: DIAGNOSTICS_CLRDIAG
                0050 C     !INTERFACE:
666b944083 Jean*0051       SUBROUTINE DIAGNOSTICS_CLRDIAG ( ipt, nLev, myThid )
3ae5f90260 Jean*0052 
                0053 C     !DESCRIPTION:
                0054 C***********************************************************************
                0055 C     Zero out model diagnostic array elements
                0056 C***********************************************************************
                0057 
                0058 C     !USES:
                0059       IMPLICIT NONE
                0060 
                0061 C     == Global variables ===
                0062 #include "EEPARAMS.h"
                0063 #include "SIZE.h"
                0064 #include "DIAGNOSTICS_SIZE.h"
                0065 #include "DIAGNOSTICS.h"
                0066 
                0067 C     !INPUT PARAMETERS:
                0068 C     ipt    :: diagnostic pointer to storage array
666b944083 Jean*0069 C     nLev   :: number of levels (in storage array) to reset
3ae5f90260 Jean*0070 C     myThid :: my Thread Id number
666b944083 Jean*0071       INTEGER ipt, nLev
3ae5f90260 Jean*0072       INTEGER myThid
                0073 CEOP
                0074 
                0075 C     !LOCAL VARIABLES:
                0076       INTEGER bi,bj
                0077       INTEGER i,j,k
666b944083 Jean*0078       INTEGER kl
3ae5f90260 Jean*0079 
                0080 C **********************************************************************
                0081 C ****              SET DIAGNOSTIC AND COUNTER TO ZERO              ****
                0082 C **********************************************************************
                0083 
                0084       DO bj=myByLo(myThid), myByHi(myThid)
                0085        DO bi=myBxLo(myThid), myBxHi(myThid)
666b944083 Jean*0086         DO k = 1,nLev
                0087          kl = ipt+k-1
                0088          ndiag(kl,bi,bj) = 0
3ae5f90260 Jean*0089          DO j = 1-OLy,sNy+OLy
                0090           DO i = 1-OLx,sNx+OLx
666b944083 Jean*0091            qdiag(i,j,kl,bi,bj) = 0.0
3ae5f90260 Jean*0092           ENDDO
                0093          ENDDO
                0094         ENDDO
                0095        ENDDO
                0096       ENDDO
                0097 
                0098       RETURN
                0099       END