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

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

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


Revision 1.6 - (show annotations) (download)
Sun Jan 19 14:42:58 2014 UTC (10 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
Changes since 1.5: +2 -5 lines
minor fix

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_list_check.F,v 1.5 2013/06/11 01:34:13 jmc Exp $
2 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 I ld, md,
14 I nbLists, nbFlds, fldsList, myThid )
15
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 INTEGER nbFlds(numLists)
39 CHARACTER*8 fldsList(numperList,numLists)
40 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 C- File names:
56 m1 = md
57 DO n = ld,nbLists
58 DO m = m1,nbFlds(n)
59
60 diagName = fldsList(m,n)
61 found = .FALSE.
62 IF ( ndCount.GT.0 ) THEN
63 C Search all possible model diagnostics
64 DO i=1,ndiagt
65 IF ( diagName.EQ.cdiag(i) ) found = .TRUE.
66 ENDDO
67 ENDIF
68 IF ( .NOT.found ) THEN
69 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
70 IF ( diagName.EQ.'PRESSURE' ) THEN
71 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
72 & diagName, '" was replaced by "RCENTER "'
73 CALL PRINT_ERROR( msgBuf , myThid )
74 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
75 & '=> need to change "data.diagnostics" accordingly'
76 CALL PRINT_ERROR( msgBuf , myThid )
77 ndCount = ndCount + 1
78 ENDIF
79 IF ( diagName.EQ.'TICE ' ) THEN
80 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
81 & diagName, '" was replaced by "oceFreez"'
82 CALL PRINT_ERROR( msgBuf , myThid )
83 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
84 & '=> need to change "data.diagnostics" accordingly'
85 CALL PRINT_ERROR( msgBuf , myThid )
86 ndCount = ndCount + 1
87 ENDIF
88 IF ( diagName.EQ.'TAUX ' ) THEN
89 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
90 & diagName, '" was replaced by "oceTAUX "'
91 CALL PRINT_ERROR( msgBuf , myThid )
92 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
93 & '=> need to change "data.diagnostics" accordingly'
94 CALL PRINT_ERROR( msgBuf , myThid )
95 ndCount = ndCount + 1
96 ENDIF
97 IF ( diagName.EQ.'TAUY ' ) THEN
98 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
99 & diagName, '" was replaced by "oceTAUY "'
100 CALL PRINT_ERROR( msgBuf , myThid )
101 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
102 & '=> need to change "data.diagnostics" accordingly'
103 CALL PRINT_ERROR( msgBuf , myThid )
104 ndCount = ndCount + 1
105 ENDIF
106 IF ( diagName.EQ.'SWFLUX ' ) THEN
107 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
108 & diagName, '" was replaced by "oceQsw "'
109 CALL PRINT_ERROR( msgBuf , myThid )
110 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
111 & '=> need to change "data.diagnostics" accordingly'
112 CALL PRINT_ERROR( msgBuf , myThid )
113 ndCount = ndCount + 1
114 ENDIF
115 IF ( diagName(1:5).EQ.'DIFx_' .OR.
116 & diagName(1:5).EQ.'DIFxT' ) THEN
117 WRITE(msgBuf,'(5A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
118 & diagName, '" was replaced by "DFxE',
119 & diagName(5:8), '"'
120 CALL PRINT_ERROR( msgBuf , myThid )
121 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
122 & '=> need to change "data.diagnostics" accordingly'
123 CALL PRINT_ERROR( msgBuf , myThid )
124 ndCount = ndCount + 1
125 ENDIF
126 IF ( diagName(1:5).EQ.'DIFy_' .OR.
127 & diagName(1:5).EQ.'DIFyT' ) THEN
128 WRITE(msgBuf,'(5A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
129 & diagName, '" was replaced by "DFyE',
130 & diagName(5:8), '"'
131 CALL PRINT_ERROR( msgBuf , myThid )
132 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
133 & '=> need to change "data.diagnostics" accordingly'
134 CALL PRINT_ERROR( msgBuf , myThid )
135 ndCount = ndCount + 1
136 ENDIF
137 IF ( diagName.EQ.'KPPmld ' ) THEN
138 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
139 & diagName, '" was retired in favor of "MXLDEPTH"'
140 CALL PRINT_ERROR( msgBuf , myThid )
141 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
142 & '=> need to change "data.diagnostics" accordingly'
143 CALL PRINT_ERROR( msgBuf , myThid )
144 ndCount = ndCount + 1
145 ENDIF
146 IF ( diagName.EQ.'KPPghat ' ) THEN
147 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
148 & diagName, '" was retired in favor of "KPPghatK"'
149 CALL PRINT_ERROR( msgBuf , myThid )
150 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
151 & '=> need to change "data.diagnostics" accordingly'
152 CALL PRINT_ERROR( msgBuf , myThid )
153 ndCount = ndCount + 1
154 ENDIF
155 IF ( diagName.EQ.'SIyneg ' ) THEN
156 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
157 & diagName, '" was retired in favor of "SIdHbOCN"'
158 CALL PRINT_ERROR( msgBuf , myThid )
159 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
160 & '=> need to change "data.diagnostics" accordingly'
161 CALL PRINT_ERROR( msgBuf , myThid )
162 ndCount = ndCount + 1
163 ENDIF
164 IF ( diagName.EQ.'SIfice ' ) THEN
165 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
166 & diagName, '" was retired in favor of "SIdHbATC"'
167 CALL PRINT_ERROR( msgBuf , myThid )
168 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
169 & '=> need to change "data.diagnostics" accordingly'
170 CALL PRINT_ERROR( msgBuf , myThid )
171 ndCount = ndCount + 1
172 ENDIF
173 IF ( diagName.EQ.'SIsnwice' ) THEN
174 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
175 & diagName, '" was retired in favor of "SIdHbFLO"'
176 CALL PRINT_ERROR( msgBuf , myThid )
177 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
178 & '=> need to change "data.diagnostics" accordingly'
179 CALL PRINT_ERROR( msgBuf , myThid )
180 ndCount = ndCount + 1
181 ENDIF
182 IF ( diagName.EQ.'SIthdgrh' ) THEN
183 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
184 & diagName, '" was retired in favor of "SIdHb*"'
185 CALL PRINT_ERROR( msgBuf , myThid )
186 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
187 & '=> need to change "data.diagnostics" accordingly'
188 CALL PRINT_ERROR( msgBuf , myThid )
189 ndCount = ndCount + 1
190 ENDIF
191 IF ( diagName.EQ.'SI_FrcFx' ) THEN
192 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: diagnostic "',
193 & diagName, '" was retired (identical to "SI_Fract")'
194 CALL PRINT_ERROR( msgBuf , myThid )
195 WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_LIST_CHECK: ',
196 & '=> need to change "data.diagnostics" accordingly'
197 CALL PRINT_ERROR( msgBuf , myThid )
198 ndCount = ndCount + 1
199 ENDIF
200
201 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
202 ENDIF
203 IF ( ndCount.EQ.0 ) RETURN
204
205 ENDDO
206 m1 = 1
207 ENDDO
208
209 _END_MASTER(myThid)
210
211 RETURN
212 END

  ViewVC Help
Powered by ViewVC 1.1.22