/[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.5 - (show annotations) (download)
Fri Apr 16 17:50:43 2004 UTC (20 years ago) by molod
Branch: MAIN
CVS Tags: checkpoint52m_post
Changes since 1.4: +1 -0 lines
Add packages_config.h to list of includes (code uses ALLOW_....!)

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

  ViewVC Help
Powered by ViewVC 1.1.22