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

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

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


Revision 1.4 - (hide annotations) (download)
Fri Mar 26 16:40:37 2004 UTC (20 years, 1 month ago) by molod
Branch: MAIN
Changes since 1.3: +62 -45 lines
Update diagnostics code for tracers

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

  ViewVC Help
Powered by ViewVC 1.1.22