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

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

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


Revision 1.5 - (hide annotations) (download)
Tue Jun 11 01:34:13 2013 UTC (10 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64i, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n
Changes since 1.4: +13 -4 lines
- remove diagnostics 'SI_FrcFx' (now identical to 'SI_Fract')

1 jmc 1.5 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_list_check.F,v 1.4 2011/06/12 16:08:04 gforget Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "DIAG_OPTIONS.h"
5    
6     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7     CBOP 0
8     C !ROUTINE: DIAGNOSTICS_LIST_CHECK
9    
10     C !INTERFACE:
11     SUBROUTINE DIAGNOSTICS_LIST_CHECK(
12     O ndCount,
13 dfer 1.2 I ld, md,
14     I nbLists, nbFlds, fldsList, myThid )
15 jmc 1.1
16     C !DESCRIPTION:
17     C Check a list of fields for disable diagnostics,
18     C starting with the current one:
19     C print relevant error message and return the number
20     C of disable diagnostics that this list contains.
21    
22     C !USES:
23     IMPLICIT NONE
24     #include "SIZE.h"
25     #include "EEPARAMS.h"
26     #include "PARAMS.h"
27     #include "DIAGNOSTICS_SIZE.h"
28     #include "DIAGNOSTICS.h"
29    
30     C !INPUT PARAMETERS:
31     C ld :: current ouput stream number
32     C md :: current field in ouput stream ld
33     C nbLists :: number of output streams
34     C nbFlds(n):: number of diagnostics for output stream # n
35     C fldsList :: list of field names to check
36     C myThid :: my Thread Id. number
37     INTEGER ld, md, nbLists
38 jmc 1.5 INTEGER nbFlds(numLists)
39     CHARACTER*8 fldsList(numperList,numLists)
40 jmc 1.1 INTEGER myThid
41     C !OUTPUT PARAMETERS:
42     C ndCount :: number of disable diagnostics in list "fldsList"
43     INTEGER ndCount
44     CEOP
45    
46     C !LOCAL VARIABLES:
47     CHARACTER*(MAX_LEN_MBUF) msgBuf
48     LOGICAL found
49     CHARACTER*8 diagName
50     INTEGER n,m,m1,i
51    
52     ndCount = 0.
53     _BEGIN_MASTER(myThid)
54    
55    
56     C- File names:
57     m1 = md
58     DO n = ld,nbLists
59     DO m = m1,nbFlds(n)
60    
61     diagName = fldsList(m,n)
62     found = .FALSE.
63     IF ( ndCount.GT.0 ) THEN
64     C Search all possible model diagnostics
65     DO i=1,ndiagt
66     IF ( diagName.EQ.cdiag(i) ) found = .TRUE.
67     ENDDO
68     ENDIF
69     IF ( .NOT.found ) THEN
70     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
71     IF ( diagName.EQ.'PRESSURE' ) THEN
72     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
73     & diagName, '" was replaced by "RCENTER "'
74     CALL PRINT_ERROR( msgBuf , myThid )
75     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
76     & '=> need to change "data.diagnostics" accordingly'
77     CALL PRINT_ERROR( msgBuf , myThid )
78     ndCount = ndCount + 1
79     ENDIF
80     IF ( diagName.EQ.'TICE ' ) THEN
81     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
82     & diagName, '" was replaced by "oceFreez"'
83     CALL PRINT_ERROR( msgBuf , myThid )
84     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
85     & '=> need to change "data.diagnostics" accordingly'
86     CALL PRINT_ERROR( msgBuf , myThid )
87     ndCount = ndCount + 1
88     ENDIF
89     IF ( diagName.EQ.'TAUX ' ) THEN
90     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
91     & diagName, '" was replaced by "oceTAUX "'
92     CALL PRINT_ERROR( msgBuf , myThid )
93     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
94     & '=> need to change "data.diagnostics" accordingly'
95     CALL PRINT_ERROR( msgBuf , myThid )
96     ndCount = ndCount + 1
97     ENDIF
98     IF ( diagName.EQ.'TAUY ' ) THEN
99     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
100     & diagName, '" was replaced by "oceTAUY "'
101     CALL PRINT_ERROR( msgBuf , myThid )
102     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
103     & '=> need to change "data.diagnostics" accordingly'
104     CALL PRINT_ERROR( msgBuf , myThid )
105     ndCount = ndCount + 1
106     ENDIF
107     IF ( diagName.EQ.'SWFLUX ' ) THEN
108     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
109     & diagName, '" was replaced by "oceQsw "'
110     CALL PRINT_ERROR( msgBuf , myThid )
111     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
112     & '=> need to change "data.diagnostics" accordingly'
113     CALL PRINT_ERROR( msgBuf , myThid )
114     ndCount = ndCount + 1
115     ENDIF
116     IF ( diagName(1:5).EQ.'DIFx_' .OR.
117     & diagName(1:5).EQ.'DIFxT' ) THEN
118     WRITE(msgBuf,'(5A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
119     & diagName, '" was replaced by "DFxE',
120     & diagName(5:8), '"'
121     CALL PRINT_ERROR( msgBuf , myThid )
122     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
123     & '=> need to change "data.diagnostics" accordingly'
124     CALL PRINT_ERROR( msgBuf , myThid )
125     ndCount = ndCount + 1
126     ENDIF
127     IF ( diagName(1:5).EQ.'DIFy_' .OR.
128     & diagName(1:5).EQ.'DIFyT' ) THEN
129     WRITE(msgBuf,'(5A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
130     & diagName, '" was replaced by "DFyE',
131     & diagName(5:8), '"'
132     CALL PRINT_ERROR( msgBuf , myThid )
133     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
134     & '=> need to change "data.diagnostics" accordingly'
135     CALL PRINT_ERROR( msgBuf , myThid )
136     ndCount = ndCount + 1
137     ENDIF
138 dfer 1.2 IF ( diagName.EQ.'KPPmld ' ) THEN
139     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
140     & diagName, '" was retired in favor of "MXLDEPTH"'
141     CALL PRINT_ERROR( msgBuf , myThid )
142     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
143     & '=> need to change "data.diagnostics" accordingly'
144     CALL PRINT_ERROR( msgBuf , myThid )
145     ndCount = ndCount + 1
146     ENDIF
147 jmc 1.3 IF ( diagName.EQ.'KPPghat ' ) THEN
148     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
149     & diagName, '" was retired in favor of "KPPghatK"'
150     CALL PRINT_ERROR( msgBuf , myThid )
151     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
152     & '=> need to change "data.diagnostics" accordingly'
153     CALL PRINT_ERROR( msgBuf , myThid )
154     ndCount = ndCount + 1
155     ENDIF
156 gforget 1.4 IF ( diagName.EQ.'SIyneg ' ) THEN
157     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
158     & diagName, '" was retired in favor of "SIdHbOCN"'
159     CALL PRINT_ERROR( msgBuf , myThid )
160     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
161     & '=> need to change "data.diagnostics" accordingly'
162     CALL PRINT_ERROR( msgBuf , myThid )
163     ndCount = ndCount + 1
164     ENDIF
165     IF ( diagName.EQ.'SIfice ' ) THEN
166     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
167     & diagName, '" was retired in favor of "SIdHbATC"'
168     CALL PRINT_ERROR( msgBuf , myThid )
169     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
170     & '=> need to change "data.diagnostics" accordingly'
171     CALL PRINT_ERROR( msgBuf , myThid )
172     ndCount = ndCount + 1
173     ENDIF
174     IF ( diagName.EQ.'SIsnwice' ) THEN
175     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
176     & diagName, '" was retired in favor of "SIdHbFLO"'
177     CALL PRINT_ERROR( msgBuf , myThid )
178     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
179     & '=> need to change "data.diagnostics" accordingly'
180     CALL PRINT_ERROR( msgBuf , myThid )
181     ndCount = ndCount + 1
182     ENDIF
183     IF ( diagName.EQ.'SIthdgrh' ) THEN
184     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
185     & diagName, '" was retired in favor of "SIdHb*"'
186     CALL PRINT_ERROR( msgBuf , myThid )
187     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
188     & '=> need to change "data.diagnostics" accordingly'
189     CALL PRINT_ERROR( msgBuf , myThid )
190     ndCount = ndCount + 1
191     ENDIF
192 jmc 1.5 IF ( diagName.EQ.'SI_FrcFx' ) THEN
193     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
194     & diagName, '" was retired (identical to "SI_Fract")'
195     CALL PRINT_ERROR( msgBuf , myThid )
196     WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
197     & '=> need to change "data.diagnostics" accordingly'
198     CALL PRINT_ERROR( msgBuf , myThid )
199     ndCount = ndCount + 1
200     ENDIF
201    
202 jmc 1.1 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
203     ENDIF
204     IF ( ndCount.EQ.0 ) RETURN
205    
206     ENDDO
207     m1 = 1
208     ENDDO
209    
210     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
211    
212     _END_MASTER(myThid)
213    
214     RETURN
215     END

  ViewVC Help
Powered by ViewVC 1.1.22