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

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

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


Revision 1.16 - (show annotations) (download)
Fri Jan 15 00:24:37 2010 UTC (14 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.15: +5 -1 lines
add internal flag to check if adding diag to the list from the right place.

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_init_early.F,v 1.15 2010/01/11 19:45:11 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_INIT_EARLY
9
10 C !INTERFACE:
11 SUBROUTINE DIAGNOSTICS_INIT_EARLY( myThid )
12
13 C !DESCRIPTION:
14 C Initialize available diagnostics list: set the following attributes:
15 C name (=cdiag), parsing code (=gdiag), units (=udiag), and title (=tdiag)
16 C Note: 1) diagnostics defined here are not presently filled. To use
17 C one of them, one just needs to add a call to S/R DIAGNOSTICS_FILL
18 C with the diagnostic name 'SDIAG...' or 'UDIAG...'
19 C 2) GDIAG is defined as character*16 and can be to character*1
20 C parse(16) with the following codes currently defined:
21
22 C \begin{center}
23 C \begin{tabular}[h]{|c|c|}\hline
24 C \textbf{Positions} & \textbf{Characters}
25 C & \textbf{Meanings} \\\hline
26 C parse(1) & S & scalar \\
27 C & U & vector component in X direction \\
28 C & V & vector component in Y direction \\
29 C & W & vector component in vertical direction \\
30 C parse(2) & U & C-grid U-Point \\
31 C & V & C-grid V-Point \\
32 C & M & C-grid Mass Point \\
33 C & Z & C-grid Corner Point \\
34 C parse(3) & & Used for Level Integrated output: cumulate levels \\
35 C & r & same but cumulate product by model level thickness \\
36 C & R & same but cumulate product by hFac & level thickness \\
37 C parse(4) & P & positive definite \\
38 C parse(5 ) & C & with counter array \\
39 C & D & disable an array for output \\
40 C parse(6--8) & '123' & retired, formerly: 3-digit mate number \\
41 C parse(9) & U & model-level plus 1/2 \\
42 C & M & model-level middle \\
43 C & L & model-level minus 1/2 \\
44 C parse(10) & 0 & levels = 0 \\
45 C & 1 & levels = 1 \\
46 C & R & levels = Nr \\
47 C & L & levels = MAX(Nr,NrPhys) \\
48 C & M & levels = MAX(Nr,NrPhys) - 1 \\
49 C & G & levels = Ground_level Number \\
50 C & I & levels = sea-Ice_level Number \\
51 C & X & free levels option (need to be set explicitly) \\
52 C \end{tabular}
53 C \end{center}
54
55 C !USES:
56 IMPLICIT NONE
57 #include "SIZE.h"
58 #include "EEPARAMS.h"
59 #include "PARAMS.h"
60 #include "DIAGNOSTICS_SIZE.h"
61 #include "DIAGNOSTICS.h"
62
63 C !INPUT PARAMETERS:
64 INTEGER myThid
65 CEOP
66
67 C !LOCAL VARIABLES:
68 INTEGER n
69
70 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
71
72 _BEGIN_MASTER( myThid )
73
74 DO n=1,ndiagMax
75 kdiag(n) = 0
76 hdiag(n) = 0
77 cdiag(n) = ' '
78 gdiag(n) = ' '
79 udiag(n) = ' '
80 tdiag(n) = ' '
81 ENDDO
82
83 C-- Diagnostics definition/setting starts here (can now add diags to list)
84 settingDiags = .TRUE.
85
86 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
87 C For each output variable,
88 C specify Name (cdiag, 8c), Descriptions (tdiag, *c), Units (udiag, 16c)
89 C and parsing code (location on C grid, 2D/3D, ...) (gdiag, 16c)
90 C----------------------------------------------------------------------
91 cdiag( 1) = 'SDIAG1 '
92 tdiag( 1) = 'User-Defined Surface Diagnostic #1 '
93 udiag( 1) = 'user-defined '
94 gdiag( 1) = 'SM L1 '
95
96 cdiag( 2) = 'SDIAG2 '
97 tdiag( 2) = 'User-Defined Surface Diagnostic #2 '
98 udiag( 2) = 'user-defined '
99 gdiag( 2) = 'SM L1 '
100
101 cdiag( 3) = 'SDIAG3 '
102 tdiag( 3) = 'User-Defined Surface Diagnostic #3 '
103 udiag( 3) = 'user-defined '
104 gdiag( 3) = 'SM L1 '
105
106 cdiag( 4) = 'SDIAG4 '
107 tdiag( 4) = 'User-Defined Surface Diagnostic #4 '
108 udiag( 4) = 'user-defined '
109 gdiag( 4) = 'SM L1 '
110
111 cdiag( 5) = 'SDIAG5 '
112 tdiag( 5) = 'User-Defined Surface Diagnostic #5 '
113 udiag( 5) = 'user-defined '
114 gdiag( 5) = 'SM L1 '
115
116 cdiag( 6) = 'SDIAG6 '
117 tdiag( 6) = 'User-Defined Surface Diagnostic #6 '
118 udiag( 6) = 'user-defined '
119 gdiag( 6) = 'SM L1 '
120
121 cdiag( 7) = 'SDIAG7 '
122 tdiag( 7) = 'User-Defined U.pt Surface Diagnostic #7 '
123 udiag( 7) = 'user-defined '
124 gdiag( 7) = 'SU L1 '
125
126 cdiag( 8) = 'SDIAG8 '
127 tdiag( 8) = 'User-Defined V.pt Surface Diagnostic #8 '
128 udiag( 8) = 'user-defined '
129 gdiag( 8) = 'SV L1 '
130
131 cdiag( 9) = 'SDIAG9 '
132 tdiag( 9) = 'User-Defined U.vector Surface Diag. #9 '
133 udiag( 9) = 'user-defined '
134 gdiag( 9) = 'UU L1 '
135 hdiag( 9) = 10
136
137 cdiag(10) = 'SDIAG10 '
138 tdiag(10) = 'User-Defined V.vector Surface Diag. #10 '
139 udiag(10) = 'user-defined '
140 gdiag(10) = 'VV L1 '
141 hdiag(10) = 9
142
143 cdiag(11) = 'UDIAG1 '
144 tdiag(11) = 'User-Defined Model-Level Diagnostic #1 '
145 udiag(11) = 'user-defined '
146 gdiag(11) = 'SM MR '
147
148 cdiag(12) = 'UDIAG2 '
149 tdiag(12) = 'User-Defined Model-Level Diagnostic #2 '
150 udiag(12) = 'user-defined '
151 gdiag(12) = 'SM MR '
152
153 cdiag(13) = 'UDIAG3 '
154 tdiag(13) = 'User-Defined Model-Level Diagnostic #3 '
155 udiag(13) = 'user-defined '
156 gdiag(13) = 'SMR MR '
157
158 cdiag(14) = 'UDIAG4 '
159 tdiag(14) = 'User-Defined Model-Level Diagnostic #4 '
160 udiag(14) = 'user-defined '
161 gdiag(14) = 'SMR MR '
162
163 cdiag(15) = 'UDIAG5 '
164 tdiag(15) = 'User-Defined U.pt Model-Level Diag. #5 '
165 udiag(15) = 'user-defined '
166 gdiag(15) = 'SU MR '
167
168 cdiag(16) = 'UDIAG6 '
169 tdiag(16) = 'User-Defined V.pt Model-Level Diag. #6 '
170 udiag(16) = 'user-defined '
171 gdiag(16) = 'SV MR '
172
173 cdiag(17) = 'UDIAG7 '
174 tdiag(17) = 'User-Defined U.vector Model-Lev Diag.#7 '
175 udiag(17) = 'user-defined '
176 gdiag(17) = 'UUR MR '
177 hdiag(17) = 18
178
179 cdiag(18) = 'UDIAG8 '
180 tdiag(18) = 'User-Defined V.vector Model-Lev Diag.#8 '
181 udiag(18) = 'user-defined '
182 gdiag(18) = 'VVR MR '
183 hdiag(18) = 17
184
185 cdiag(19) = 'UDIAG9 '
186 tdiag(19) = 'User-Defined Phys-Level Diagnostic #9 '
187 udiag(19) = 'user-defined '
188 gdiag(19) = 'SM ML '
189
190 cdiag(20) = 'UDIAG10 '
191 tdiag(20) = 'User-Defined Phys-Level Diagnostic #10 '
192 udiag(20) = 'user-defined '
193 gdiag(20) = 'SM ML '
194
195 cdiag(21) = 'SDIAGC '
196 tdiag(21) = 'User-Defined Counted Surface Diagnostic '
197 udiag(21) = 'user-defined '
198 gdiag(21) = 'SM C L1 '
199 hdiag(21) = 22
200
201 cdiag(22) = 'SDIAGCC '
202 tdiag(22) = 'User-Defined Surface Diagnostic Counter '
203 udiag(22) = 'count '
204 gdiag(22) = 'SM L1 '
205
206 C- set the total number of available diagnostics
207 ndiagt = 22
208
209 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
210
211 _END_MASTER( myThid )
212 _BARRIER
213
214 RETURN
215 END

  ViewVC Help
Powered by ViewVC 1.1.22