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

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

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


Revision 1.11 - (show annotations) (download)
Wed Jul 7 03:10:14 2004 UTC (19 years, 10 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint54e_post, checkpoint54b_post, checkpoint54d_post, checkpoint54c_post
Changes since 1.10: +209 -206 lines
 o more protex-ing
 o numerous formatting cleanups

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_fill_state.F,v 1.10 2004/07/06 03:55:53 edhill Exp $
2 C $Name: $
3
4 #include "DIAG_OPTIONS.h"
5
6 subroutine diagnostics_fill_state(myThid)
7
8 implicit none
9 #include "SIZE.h"
10 #include "EEPARAMS.h"
11 #include "GRID.h"
12 #include "DYNVARS.h"
13
14 integer myThid
15
16 #ifdef ALLOW_DIAGNOSTICS
17 _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
18 _RL dummys(1-OLx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
19 integer i,j,K,bi,bj
20 integer km1
21
22 call fill_diagnostics(myThid,'ETAN ',0,1,0,1,1,etaN)
23
24 do bj = myByLo(myThid), myByHi(myThid)
25 do bi = myBxLo(myThid), myBxHi(myThid)
26 do j = 1,sNy
27 do i = 1,sNx
28 dummys(i,j,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
29 enddo
30 enddo
31 enddo
32 enddo
33 call fill_diagnostics(myThid,'ETANSQ ',0,1,0,1,1,dummys)
34
35 call fill_diagnostics(myThid,'UVEL ',0,Nr,0,1,1,uVel)
36 call fill_diagnostics(myThid,'VVEL ',0,Nr,0,1,1,vVel)
37 call fill_diagnostics(myThid,'WVEL ',0,Nr,0,1,1,wVel)
38 call fill_diagnostics(myThid,'THETA ',0,Nr,0,1,1,theta)
39 call fill_diagnostics(myThid,'SALT ',0,Nr,0,1,1,salt)
40
41 do bj = myByLo(myThid), myByHi(myThid)
42 do bi = myBxLo(myThid), myBxHi(myThid)
43 do K=1,Nr
44 do j = 1,sNy
45 do i = 1,sNx
46 dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
47 enddo
48 enddo
49 enddo
50 enddo
51 enddo
52 call fill_diagnostics(myThid,'UVELSQ ',0,Nr,0,1,1,dummy)
53
54 do bj = myByLo(myThid), myByHi(myThid)
55 do bi = myBxLo(myThid), myBxHi(myThid)
56 do K=1,Nr
57 do j = 1,sNy
58 do i = 1,sNx
59 dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
60 enddo
61 enddo
62 enddo
63 enddo
64 enddo
65 call fill_diagnostics(myThid,'VVELSQ ',0,Nr,0,1,1,dummy)
66
67 do bj = myByLo(myThid), myByHi(myThid)
68 do bi = myBxLo(myThid), myBxHi(myThid)
69 do K=1,Nr
70 do j = 1,sNy
71 do i = 1,sNx
72 dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
73 enddo
74 enddo
75 enddo
76 enddo
77 enddo
78 call fill_diagnostics(myThid,'WVELSQ ',0,Nr,0,1,1,dummy)
79
80 do bj = myByLo(myThid), myByHi(myThid)
81 do bi = myBxLo(myThid), myBxHi(myThid)
82 do K=1,Nr
83 do j = 1,sNy
84 do i = 1,sNx
85 dummy(i,j,K,bi,bj)
86 & = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
87 enddo
88 enddo
89 enddo
90 enddo
91 enddo
92 call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)
93
94 do bj = myByLo(myThid), myByHi(myThid)
95 do bi = myBxLo(myThid), myBxHi(myThid)
96 do K=1,Nr
97 do j = 1,sNy
98 do i = 1,sNx
99 dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
100 enddo
101 enddo
102 enddo
103 enddo
104 enddo
105 call fill_diagnostics(myThid,'SALTSQ ',0,Nr,0,1,1,dummy)
106
107 do bj = myByLo(myThid), myByHi(myThid)
108 do bi = myBxLo(myThid), myBxHi(myThid)
109 do K=1,Nr
110 do j = 1,sNy
111 do i = 1,sNx
112 dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
113 enddo
114 enddo
115 enddo
116 enddo
117 enddo
118 call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)
119
120 do bj = myByLo(myThid), myByHi(myThid)
121 do bi = myBxLo(myThid), myBxHi(myThid)
122 do K=1,Nr
123 do j = 1,sNy
124 do i = 1,sNx
125 dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
126 & 0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
127 enddo
128 enddo
129 enddo
130 enddo
131 enddo
132 call fill_diagnostics(myThid,'UVELTH ',0,Nr,0,1,1,dummy)
133
134 do bj = myByLo(myThid), myByHi(myThid)
135 do bi = myBxLo(myThid), myBxHi(myThid)
136 do K=1,Nr
137 do j = 1,sNy
138 do i = 1,sNx
139 dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
140 & 0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
141 enddo
142 enddo
143 enddo
144 enddo
145 enddo
146 call fill_diagnostics(myThid,'VVELTH ',0,Nr,0,1,1,dummy)
147
148 do bj = myByLo(myThid), myByHi(myThid)
149 do bi = myBxLo(myThid), myBxHi(myThid)
150 do K=1,Nr
151 km1 = MAX(k-1,1)
152 do j = 1,sNy
153 do i = 1,sNx
154 dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
155 & (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
156 enddo
157 enddo
158 enddo
159 enddo
160 enddo
161 call fill_diagnostics(myThid,'WVELTH ',0,Nr,0,1,1,dummy)
162
163 do bj = myByLo(myThid), myByHi(myThid)
164 do bi = myBxLo(myThid), myBxHi(myThid)
165 do K=1,Nr
166 do j = 1,sNy
167 do i = 1,sNx
168 dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
169 & 0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
170 enddo
171 enddo
172 enddo
173 enddo
174 enddo
175 call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)
176
177 do bj = myByLo(myThid), myByHi(myThid)
178 do bi = myBxLo(myThid), myBxHi(myThid)
179 do K=1,Nr
180 do j = 1,sNy
181 do i = 1,sNx
182 dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
183 & 0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
184 enddo
185 enddo
186 enddo
187 enddo
188 enddo
189 call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)
190
191 do bj = myByLo(myThid), myByHi(myThid)
192 do bi = myBxLo(myThid), myBxHi(myThid)
193 do K=1,Nr
194 km1 = MAX(k-1,1)
195 do j = 1,sNy
196 do i = 1,sNx
197 dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
198 & (salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
199 enddo
200 enddo
201 enddo
202 enddo
203 enddo
204 call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)
205
206 do bj = myByLo(myThid), myByHi(myThid)
207 do bi = myBxLo(myThid), myBxHi(myThid)
208 do K=1,Nr
209 do j = 1,sNy
210 do i = 1,sNx
211 dummy(i,j,K,bi,bj)
212 & = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
213 enddo
214 enddo
215 enddo
216 enddo
217 enddo
218 call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,dummy)
219
220 do bj = myByLo(myThid), myByHi(myThid)
221 do bi = myBxLo(myThid), myBxHi(myThid)
222 do K=1,Nr
223 do j = 1,sNy
224 do i = 1,sNx
225 dummy(i,j,K,bi,bj)
226 & = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
227 enddo
228 enddo
229 enddo
230 enddo
231 enddo
232 call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)
233
234 do bj = myByLo(myThid), myByHi(myThid)
235 do bi = myBxLo(myThid), myBxHi(myThid)
236 do K=1,Nr
237 do j = 1,sNy
238 do i = 1,sNx
239 dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
240 & 0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
241 & * hFacW(i,j,K,bi,bj)
242 enddo
243 enddo
244 enddo
245 enddo
246 enddo
247 call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)
248
249 do bj = myByLo(myThid), myByHi(myThid)
250 do bi = myBxLo(myThid), myBxHi(myThid)
251 do K=1,Nr
252 do j = 1,sNy
253 do i = 1,sNx
254 dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
255 & 0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
256 & * hFacS(i,j,K,bi,bj)
257 enddo
258 enddo
259 enddo
260 enddo
261 enddo
262 call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)
263
264 do bj = myByLo(myThid), myByHi(myThid)
265 do bi = myBxLo(myThid), myBxHi(myThid)
266 do K=1,Nr
267 do j = 1,sNy
268 do i = 1,sNx
269 dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
270 & 0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
271 & * hFacW(i,j,K,bi,bj)
272 enddo
273 enddo
274 enddo
275 enddo
276 enddo
277 call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)
278
279 do bj = myByLo(myThid), myByHi(myThid)
280 do bi = myBxLo(myThid), myBxHi(myThid)
281 do K=1,Nr
282 do j = 1,sNy
283 do i = 1,sNx
284 dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
285 & 0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
286 & * hFacS(i,j,K,bi,bj)
287 enddo
288 enddo
289 enddo
290 enddo
291 enddo
292 call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)
293
294
295 #endif /* ALLOW_DIAGNOSTICS */
296
297 return
298 end

  ViewVC Help
Powered by ViewVC 1.1.22