/[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.7 - (hide 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 jmc 1.7 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_fill_state.F,v 1.6 2004/05/05 00:39:21 edhill Exp $
2 edhill 1.6 C $Name: $
3    
4 jmc 1.7 #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7 molod 1.1 subroutine diagnostics_fill_state(myThid)
8 molod 1.2 implicit none
9 molod 1.1 #include "SIZE.h"
10     #include "EEPARAMS.h"
11     #include "GRID.h"
12     #include "DYNVARS.h"
13    
14     integer myThid
15 jmc 1.7
16     #ifdef ALLOW_DIAGNOSTICS
17     _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
18 molod 1.1 integer i,j,K,bi,bj
19 jmc 1.7 integer km1
20 molod 1.1
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 molod 1.4 do j = 1,sNy
26     do i = 1,sNx
27 molod 1.3 dummy(i,j,1,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
28 molod 1.1 enddo
29     enddo
30     enddo
31     enddo
32 molod 1.3 call fill_diagnostics(myThid,'ETANSQ ',0,1,0,1,1,dummy)
33 molod 1.1
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 molod 1.4 do j = 1,sNy
44     do i = 1,sNx
45 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'UVELSQ ',0,Nr,0,1,1,dummy)
52 molod 1.1
53     do bj = myByLo(myThid), myByHi(myThid)
54     do bi = myBxLo(myThid), myBxHi(myThid)
55     do K=1,Nr
56 molod 1.4 do j = 1,sNy
57     do i = 1,sNx
58 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'VVELSQ ',0,Nr,0,1,1,dummy)
65 molod 1.1
66     do bj = myByLo(myThid), myByHi(myThid)
67     do bi = myBxLo(myThid), myBxHi(myThid)
68     do K=1,Nr
69 molod 1.4 do j = 1,sNy
70     do i = 1,sNx
71 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'WVELSQ ',0,Nr,0,1,1,dummy)
78 molod 1.1
79     do bj = myByLo(myThid), myByHi(myThid)
80     do bi = myBxLo(myThid), myBxHi(myThid)
81     do K=1,Nr
82 molod 1.4 do j = 1,sNy
83     do i = 1,sNx
84 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)
91 molod 1.1
92     do bj = myByLo(myThid), myByHi(myThid)
93     do bi = myBxLo(myThid), myBxHi(myThid)
94     do K=1,Nr
95 molod 1.4 do j = 1,sNy
96     do i = 1,sNx
97 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'SALTSQ ',0,Nr,0,1,1,dummy)
104 molod 1.1
105     do bj = myByLo(myThid), myByHi(myThid)
106     do bi = myBxLo(myThid), myBxHi(myThid)
107     do K=1,Nr
108 molod 1.4 do j = 1,sNy
109     do i = 1,sNx
110 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)
117 molod 1.1
118     do bj = myByLo(myThid), myByHi(myThid)
119     do bi = myBxLo(myThid), myBxHi(myThid)
120     do K=1,Nr
121 molod 1.4 do j = 1,sNy
122     do i = 1,sNx
123 jmc 1.7 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 molod 1.1 enddo
126     enddo
127     enddo
128     enddo
129     enddo
130 molod 1.3 call fill_diagnostics(myThid,'UVELTH ',0,Nr,0,1,1,dummy)
131 molod 1.1
132     do bj = myByLo(myThid), myByHi(myThid)
133     do bi = myBxLo(myThid), myBxHi(myThid)
134     do K=1,Nr
135 molod 1.4 do j = 1,sNy
136     do i = 1,sNx
137 jmc 1.7 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 molod 1.1 enddo
140     enddo
141     enddo
142     enddo
143     enddo
144 molod 1.3 call fill_diagnostics(myThid,'VVELTH ',0,Nr,0,1,1,dummy)
145 molod 1.1
146     do bj = myByLo(myThid), myByHi(myThid)
147 jmc 1.7 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 molod 1.4 enddo
157     enddo
158     enddo
159 molod 1.3 call fill_diagnostics(myThid,'WVELTH ',0,Nr,0,1,1,dummy)
160 molod 1.1
161     do bj = myByLo(myThid), myByHi(myThid)
162     do bi = myBxLo(myThid), myBxHi(myThid)
163     do K=1,Nr
164 molod 1.4 do j = 1,sNy
165     do i = 1,sNx
166 jmc 1.7 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 molod 1.1 enddo
169     enddo
170     enddo
171     enddo
172     enddo
173 molod 1.3 call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)
174 molod 1.1
175     do bj = myByLo(myThid), myByHi(myThid)
176     do bi = myBxLo(myThid), myBxHi(myThid)
177     do K=1,Nr
178 molod 1.4 do j = 1,sNy
179     do i = 1,sNx
180 jmc 1.7 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 molod 1.1 enddo
183     enddo
184     enddo
185     enddo
186     enddo
187 molod 1.3 call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)
188 molod 1.1
189     do bj = myByLo(myThid), myByHi(myThid)
190 jmc 1.7 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 molod 1.1 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 jmc 1.7 . * hFacS(i,j,K,bi,bj)
253 molod 1.1 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 jmc 1.7 . * hFacS(i,j,K,bi,bj)
283 molod 1.1 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 jmc 1.7
291     #endif /* ALLOW_DIAGNOSTICS */
292 molod 1.1
293     return
294     end

  ViewVC Help
Powered by ViewVC 1.1.22