/[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.1 - (show annotations) (download)
Sun Nov 19 21:59:56 2006 UTC (17 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: mitgcm_mapl_00, checkpoint58u_post, checkpoint58w_post, checkpoint60, checkpoint61, checkpoint58x_post, checkpoint58t_post, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint59, checkpoint58y_post, checkpoint58v_post, checkpoint58s_post, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a
new S/R: check for retired (or renamed) diagnostics.

1 C $Header: $
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, nbFlds, fldsList, myThid )
14
15 C !DESCRIPTION:
16 C Check a list of fields for disable diagnostics,
17 C starting with the current one:
18 C print relevant error message and return the number
19 C of disable diagnostics that this list contains.
20
21 C !USES:
22 IMPLICIT NONE
23 #include "SIZE.h"
24 #include "EEPARAMS.h"
25 #include "PARAMS.h"
26 #include "DIAGNOSTICS_SIZE.h"
27 #include "DIAGNOSTICS.h"
28
29 C !INPUT PARAMETERS:
30 C ld :: current ouput stream number
31 C md :: current field in ouput stream ld
32 C nbLists :: number of output streams
33 C nbFlds(n):: number of diagnostics for output stream # n
34 C fldsList :: list of field names to check
35 C myThid :: my Thread Id. number
36 INTEGER ld, md, nbLists
37 INTEGER nbFlds(numlists)
38 CHARACTER*8 fldsList(numperlist,numlists)
39 INTEGER myThid
40 C !OUTPUT PARAMETERS:
41 C ndCount :: number of disable diagnostics in list "fldsList"
42 INTEGER ndCount
43 CEOP
44
45 C !LOCAL VARIABLES:
46 CHARACTER*(MAX_LEN_MBUF) msgBuf
47 LOGICAL found
48 CHARACTER*8 diagName
49 INTEGER n,m,m1,i
50
51 ndCount = 0.
52 _BEGIN_MASTER(myThid)
53
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 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
138 ENDIF
139 IF ( ndCount.EQ.0 ) RETURN
140
141 ENDDO
142 m1 = 1
143 ENDDO
144
145 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
146
147 _END_MASTER(myThid)
148
149 RETURN
150 END

  ViewVC Help
Powered by ViewVC 1.1.22