29 |
CEOP |
CEOP |
30 |
|
|
31 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
32 |
INTEGER m, ndId, ipt |
INTEGER m, ndId, ipt, nLev |
33 |
|
|
34 |
DO m=1,nActive(listId) |
DO m=1,nActive(listId) |
35 |
IF ( idiag(m,listId).GT.0 ) THEN |
IF ( idiag(m,listId).GT.0 ) THEN |
36 |
ndId = jdiag(m,listId) |
ndId = jdiag(m,listId) |
37 |
ipt = idiag(m,listId) |
ipt = idiag(m,listId) |
38 |
CALL DIAGNOSTICS_CLRDIAG ( ndId, ipt, myThid ) |
nLev = kdiag(ndId)*averageCycle(listId) |
39 |
|
CALL DIAGNOSTICS_CLRDIAG( ipt, nLev, myThid ) |
40 |
ENDIF |
ENDIF |
41 |
ENDDO |
ENDDO |
42 |
|
|
48 |
CBOP 0 |
CBOP 0 |
49 |
C !ROUTINE: DIAGNOSTICS_CLRDIAG |
C !ROUTINE: DIAGNOSTICS_CLRDIAG |
50 |
C !INTERFACE: |
C !INTERFACE: |
51 |
SUBROUTINE DIAGNOSTICS_CLRDIAG ( ndId, ipt, myThid ) |
SUBROUTINE DIAGNOSTICS_CLRDIAG ( ipt, nLev, myThid ) |
52 |
|
|
53 |
C !DESCRIPTION: |
C !DESCRIPTION: |
54 |
C*********************************************************************** |
C*********************************************************************** |
65 |
#include "DIAGNOSTICS.h" |
#include "DIAGNOSTICS.h" |
66 |
|
|
67 |
C !INPUT PARAMETERS: |
C !INPUT PARAMETERS: |
|
C ndId :: diagnostic Id number (in available diagnostics list) |
|
68 |
C ipt :: diagnostic pointer to storage array |
C ipt :: diagnostic pointer to storage array |
69 |
|
C nLev :: number of levels (in storage array) to reset |
70 |
C myThid :: my Thread Id number |
C myThid :: my Thread Id number |
71 |
INTEGER ndId, ipt |
INTEGER ipt, nLev |
72 |
INTEGER myThid |
INTEGER myThid |
73 |
CEOP |
CEOP |
74 |
|
|
75 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
76 |
INTEGER bi,bj |
INTEGER bi,bj |
77 |
INTEGER i,j,k |
INTEGER i,j,k |
78 |
|
INTEGER kl |
79 |
|
|
80 |
C ********************************************************************** |
C ********************************************************************** |
81 |
C **** SET DIAGNOSTIC AND COUNTER TO ZERO **** |
C **** SET DIAGNOSTIC AND COUNTER TO ZERO **** |
83 |
|
|
84 |
DO bj=myByLo(myThid), myByHi(myThid) |
DO bj=myByLo(myThid), myByHi(myThid) |
85 |
DO bi=myBxLo(myThid), myBxHi(myThid) |
DO bi=myBxLo(myThid), myBxHi(myThid) |
86 |
DO k = 1,kdiag(ndId) |
DO k = 1,nLev |
87 |
|
kl = ipt+k-1 |
88 |
|
ndiag(kl,bi,bj) = 0 |
89 |
DO j = 1-OLy,sNy+OLy |
DO j = 1-OLy,sNy+OLy |
90 |
DO i = 1-OLx,sNx+OLx |
DO i = 1-OLx,sNx+OLx |
91 |
qdiag(i,j,ipt+k-1,bi,bj) = 0.0 |
qdiag(i,j,kl,bi,bj) = 0.0 |
92 |
ENDDO |
ENDDO |
93 |
ENDDO |
ENDDO |
94 |
ENDDO |
ENDDO |
|
ndiag(ipt,bi,bj) = 0 |
|
95 |
ENDDO |
ENDDO |
96 |
ENDDO |
ENDDO |
97 |
|
|