/[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.11 - (hide 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 edhill 1.11 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_fill_state.F,v 1.10 2004/07/06 03:55:53 edhill Exp $
2 edhill 1.6 C $Name: $
3    
4 edhill 1.10 #include "DIAG_OPTIONS.h"
5 jmc 1.7
6 molod 1.1 subroutine diagnostics_fill_state(myThid)
7 edhill 1.10
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.8 _RL dummys(1-OLx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
19 molod 1.1 integer i,j,K,bi,bj
20 jmc 1.7 integer km1
21 edhill 1.11
22     call fill_diagnostics(myThid,'ETAN ',0,1,0,1,1,etaN)
23    
24     do bj = myByLo(myThid), myByHi(myThid)
25 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
26 molod 1.4 do j = 1,sNy
27 edhill 1.11 do i = 1,sNx
28     dummys(i,j,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
29     enddo
30 molod 1.1 enddo
31     enddo
32 edhill 1.11 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 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
43 edhill 1.11 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 molod 1.1 enddo
50     enddo
51 edhill 1.11 enddo
52     call fill_diagnostics(myThid,'UVELSQ ',0,Nr,0,1,1,dummy)
53 molod 1.1
54 edhill 1.11 do bj = myByLo(myThid), myByHi(myThid)
55 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
56 edhill 1.11 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 molod 1.1 enddo
63     enddo
64 edhill 1.11 enddo
65     call fill_diagnostics(myThid,'VVELSQ ',0,Nr,0,1,1,dummy)
66 molod 1.1
67 edhill 1.11 do bj = myByLo(myThid), myByHi(myThid)
68 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
69 edhill 1.11 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 molod 1.1 enddo
76     enddo
77 edhill 1.11 enddo
78     call fill_diagnostics(myThid,'WVELSQ ',0,Nr,0,1,1,dummy)
79    
80     do bj = myByLo(myThid), myByHi(myThid)
81 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
82 edhill 1.11 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 molod 1.1 enddo
90     enddo
91 edhill 1.11 enddo
92     call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)
93    
94     do bj = myByLo(myThid), myByHi(myThid)
95 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
96 edhill 1.11 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 molod 1.1 enddo
103     enddo
104 edhill 1.11 enddo
105     call fill_diagnostics(myThid,'SALTSQ ',0,Nr,0,1,1,dummy)
106    
107     do bj = myByLo(myThid), myByHi(myThid)
108 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
109 edhill 1.11 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 molod 1.1 enddo
116     enddo
117 edhill 1.11 enddo
118     call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)
119    
120     do bj = myByLo(myThid), myByHi(myThid)
121 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
122 edhill 1.11 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 molod 1.1 enddo
130     enddo
131 edhill 1.11 enddo
132     call fill_diagnostics(myThid,'UVELTH ',0,Nr,0,1,1,dummy)
133    
134     do bj = myByLo(myThid), myByHi(myThid)
135 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
136 edhill 1.11 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 molod 1.1 enddo
144     enddo
145 edhill 1.11 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 jmc 1.7 do K=1,Nr
151 edhill 1.11 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 jmc 1.7 enddo
158 molod 1.4 enddo
159     enddo
160 edhill 1.11 enddo
161     call fill_diagnostics(myThid,'WVELTH ',0,Nr,0,1,1,dummy)
162    
163     do bj = myByLo(myThid), myByHi(myThid)
164 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
165 edhill 1.11 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 molod 1.1 enddo
173     enddo
174 edhill 1.11 enddo
175     call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)
176    
177     do bj = myByLo(myThid), myByHi(myThid)
178 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
179 edhill 1.11 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 molod 1.1 enddo
187     enddo
188 edhill 1.11 enddo
189     call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)
190 molod 1.1
191 edhill 1.11 do bj = myByLo(myThid), myByHi(myThid)
192     do bi = myBxLo(myThid), myBxHi(myThid)
193 jmc 1.7 do K=1,Nr
194 edhill 1.11 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 jmc 1.7 enddo
201 molod 1.1 enddo
202     enddo
203 edhill 1.11 enddo
204     call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)
205    
206     do bj = myByLo(myThid), myByHi(myThid)
207 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
208 edhill 1.11 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 molod 1.1 enddo
216     enddo
217 edhill 1.11 enddo
218     call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,dummy)
219 molod 1.1
220 edhill 1.11 do bj = myByLo(myThid), myByHi(myThid)
221 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
222 edhill 1.11 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 molod 1.1 enddo
230     enddo
231 edhill 1.11 enddo
232     call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)
233 molod 1.1
234 edhill 1.11 do bj = myByLo(myThid), myByHi(myThid)
235 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
236 edhill 1.11 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 molod 1.1 enddo
245     enddo
246 edhill 1.11 enddo
247     call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)
248 molod 1.1
249 edhill 1.11 do bj = myByLo(myThid), myByHi(myThid)
250 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
251 edhill 1.11 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 molod 1.1 enddo
260     enddo
261 edhill 1.11 enddo
262     call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)
263    
264     do bj = myByLo(myThid), myByHi(myThid)
265 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
266 edhill 1.11 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 molod 1.1 enddo
275     enddo
276 edhill 1.11 enddo
277     call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)
278 molod 1.1
279 edhill 1.11 do bj = myByLo(myThid), myByHi(myThid)
280 molod 1.1 do bi = myBxLo(myThid), myBxHi(myThid)
281 edhill 1.11 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 molod 1.1 enddo
290     enddo
291 edhill 1.11 enddo
292     call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)
293    
294    
295 jmc 1.7 #endif /* ALLOW_DIAGNOSTICS */
296 edhill 1.11
297 molod 1.1 return
298     end

  ViewVC Help
Powered by ViewVC 1.1.22