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

Annotation of /MITgcm/pkg/diagnostics/diagnostics_clear.F

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


Revision 1.4 - (hide annotations) (download)
Sun Jul 23 00:24:18 2017 UTC (6 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, HEAD
Changes since 1.3: +2 -3 lines
allows for negative "jdiag" (interpret |jdiag| instead)

1 jmc 1.4 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_clear.F,v 1.3 2011/06/29 21:59:55 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "DIAG_OPTIONS.h"
5    
6     CBOP 0
7     C !ROUTINE: DIAGNOSTICS_CLEAR
8     C !INTERFACE:
9     SUBROUTINE DIAGNOSTICS_CLEAR (listId, myThid)
10    
11     C !DESCRIPTION:
12     C***********************************************************************
13     C Driver to clear diagnostics specified in diagnostic index list
14     C***********************************************************************
15    
16     C !USES:
17     IMPLICIT NONE
18    
19     C == Global variables ===
20     #include "EEPARAMS.h"
21     #include "SIZE.h"
22     #include "DIAGNOSTICS_SIZE.h"
23     #include "DIAGNOSTICS.h"
24    
25     C !INPUT PARAMETERS:
26     C listId :: diagnostics list number
27     C myThid :: my Thread Id number
28     INTEGER listId, myThid
29     CEOP
30    
31     C !LOCAL VARIABLES:
32 jmc 1.2 INTEGER m, ndId, ipt, nLev
33 jmc 1.1
34     DO m=1,nActive(listId)
35     IF ( idiag(m,listId).GT.0 ) THEN
36 jmc 1.4 ndId = ABS(jdiag(m,listId))
37 jmc 1.1 ipt = idiag(m,listId)
38 jmc 1.2 nLev = kdiag(ndId)*averageCycle(listId)
39 jmc 1.3 c WRITE(0,'(2(A,I3),2A,2(A,I5))') 'CLRDIAG (listId=',listId,
40     c & ' )',nLev,' levs, diag: ',cdiag(ndId),
41     c & ' ipt=',ipt,' , ndiag=',ndiag(ipt,1,1)
42 jmc 1.2 CALL DIAGNOSTICS_CLRDIAG( ipt, nLev, myThid )
43 jmc 1.1 ENDIF
44     ENDDO
45    
46     RETURN
47     END
48    
49     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
50    
51     CBOP 0
52     C !ROUTINE: DIAGNOSTICS_CLRDIAG
53     C !INTERFACE:
54 jmc 1.2 SUBROUTINE DIAGNOSTICS_CLRDIAG ( ipt, nLev, myThid )
55 jmc 1.1
56     C !DESCRIPTION:
57     C***********************************************************************
58     C Zero out model diagnostic array elements
59     C***********************************************************************
60    
61     C !USES:
62     IMPLICIT NONE
63    
64     C == Global variables ===
65     #include "EEPARAMS.h"
66     #include "SIZE.h"
67     #include "DIAGNOSTICS_SIZE.h"
68     #include "DIAGNOSTICS.h"
69    
70     C !INPUT PARAMETERS:
71     C ipt :: diagnostic pointer to storage array
72 jmc 1.2 C nLev :: number of levels (in storage array) to reset
73 jmc 1.1 C myThid :: my Thread Id number
74 jmc 1.2 INTEGER ipt, nLev
75 jmc 1.1 INTEGER myThid
76     CEOP
77    
78     C !LOCAL VARIABLES:
79     INTEGER bi,bj
80     INTEGER i,j,k
81 jmc 1.2 INTEGER kl
82 jmc 1.1
83     C **********************************************************************
84     C **** SET DIAGNOSTIC AND COUNTER TO ZERO ****
85     C **********************************************************************
86    
87     DO bj=myByLo(myThid), myByHi(myThid)
88     DO bi=myBxLo(myThid), myBxHi(myThid)
89 jmc 1.2 DO k = 1,nLev
90     kl = ipt+k-1
91     ndiag(kl,bi,bj) = 0
92 jmc 1.1 DO j = 1-OLy,sNy+OLy
93     DO i = 1-OLx,sNx+OLx
94 jmc 1.2 qdiag(i,j,kl,bi,bj) = 0.0
95 jmc 1.1 ENDDO
96     ENDDO
97     ENDDO
98     ENDDO
99     ENDDO
100    
101     RETURN
102     END

  ViewVC Help
Powered by ViewVC 1.1.22