/[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.7 - (show annotations) (download)
Mon Jun 14 21:54:47 2004 UTC (19 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.6: +38 -40 lines
fix few little problems.

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

  ViewVC Help
Powered by ViewVC 1.1.22