/[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.5 - (hide 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 molod 1.1 subroutine diagnostics_fill_state(myThid)
2 molod 1.2 implicit none
3 molod 1.5 #include "PACKAGES_CONFIG.h"
4 molod 1.1 #include "SIZE.h"
5     #include "EEPARAMS.h"
6 molod 1.2 #include "CPP_OPTIONS.h"
7 molod 1.1 #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 molod 1.4 do j = 1,sNy
22     do i = 1,sNx
23 molod 1.3 dummy(i,j,1,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
24 molod 1.1 enddo
25     enddo
26     enddo
27     enddo
28 molod 1.3 call fill_diagnostics(myThid,'ETANSQ ',0,1,0,1,1,dummy)
29 molod 1.1
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 molod 1.4 do j = 1,sNy
40     do i = 1,sNx
41 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'UVELSQ ',0,Nr,0,1,1,dummy)
48 molod 1.1
49     do bj = myByLo(myThid), myByHi(myThid)
50     do bi = myBxLo(myThid), myBxHi(myThid)
51     do K=1,Nr
52 molod 1.4 do j = 1,sNy
53     do i = 1,sNx
54 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'VVELSQ ',0,Nr,0,1,1,dummy)
61 molod 1.1
62     do bj = myByLo(myThid), myByHi(myThid)
63     do bi = myBxLo(myThid), myBxHi(myThid)
64     do K=1,Nr
65 molod 1.4 do j = 1,sNy
66     do i = 1,sNx
67 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'WVELSQ ',0,Nr,0,1,1,dummy)
74 molod 1.1
75     do bj = myByLo(myThid), myByHi(myThid)
76     do bi = myBxLo(myThid), myBxHi(myThid)
77     do K=1,Nr
78 molod 1.4 do j = 1,sNy
79     do i = 1,sNx
80 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)
87 molod 1.1
88     do bj = myByLo(myThid), myByHi(myThid)
89     do bi = myBxLo(myThid), myBxHi(myThid)
90     do K=1,Nr
91 molod 1.4 do j = 1,sNy
92     do i = 1,sNx
93 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'SALTSQ ',0,Nr,0,1,1,dummy)
100 molod 1.1
101     do bj = myByLo(myThid), myByHi(myThid)
102     do bi = myBxLo(myThid), myBxHi(myThid)
103     do K=1,Nr
104 molod 1.4 do j = 1,sNy
105     do i = 1,sNx
106 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)
113 molod 1.1
114     do bj = myByLo(myThid), myByHi(myThid)
115     do bi = myBxLo(myThid), myBxHi(myThid)
116     do K=1,Nr
117 molod 1.4 do j = 1,sNy
118     do i = 1,sNx
119 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'UVELTH ',0,Nr,0,1,1,dummy)
126 molod 1.1
127     do bj = myByLo(myThid), myByHi(myThid)
128     do bi = myBxLo(myThid), myBxHi(myThid)
129     do K=1,Nr
130 molod 1.4 do j = 1,sNy
131     do i = 1,sNx
132 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'VVELTH ',0,Nr,0,1,1,dummy)
139 molod 1.1
140     do bj = myByLo(myThid), myByHi(myThid)
141     do bi = myBxLo(myThid), myBxHi(myThid)
142 molod 1.4 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 molod 1.1 enddo
159     enddo
160     enddo
161     enddo
162     enddo
163 molod 1.3 call fill_diagnostics(myThid,'WVELTH ',0,Nr,0,1,1,dummy)
164 molod 1.1
165     do bj = myByLo(myThid), myByHi(myThid)
166     do bi = myBxLo(myThid), myBxHi(myThid)
167     do K=1,Nr
168 molod 1.4 do j = 1,sNy
169     do i = 1,sNx
170 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)
177 molod 1.1
178     do bj = myByLo(myThid), myByHi(myThid)
179     do bi = myBxLo(myThid), myBxHi(myThid)
180     do K=1,Nr
181 molod 1.4 do j = 1,sNy
182     do i = 1,sNx
183 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)
190 molod 1.1
191     do bj = myByLo(myThid), myByHi(myThid)
192     do bi = myBxLo(myThid), myBxHi(myThid)
193     do K=1,Nr
194 molod 1.4 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 molod 1.1 enddo
199     enddo
200     enddo
201     enddo
202     enddo
203 molod 1.3 call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)
204 molod 1.1
205     do bj = myByLo(myThid), myByHi(myThid)
206     do bi = myBxLo(myThid), myBxHi(myThid)
207     do K=1,Nr
208 molod 1.4 do j = 1,sNy
209     do i = 1,sNx
210 molod 1.1 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 molod 1.4 do j = 1,sNy
222     do i = 1,sNx
223 molod 1.1 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 molod 1.3 call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)
230 molod 1.1
231     do bj = myByLo(myThid), myByHi(myThid)
232     do bi = myBxLo(myThid), myBxHi(myThid)
233     do K=1,Nr
234 molod 1.4 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 molod 1.1 . * hFacW(i,j,K,bi,bj)
239     enddo
240     enddo
241     enddo
242     enddo
243     enddo
244 molod 1.3 call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)
245 molod 1.1
246     do bj = myByLo(myThid), myByHi(myThid)
247     do bi = myBxLo(myThid), myBxHi(myThid)
248     do K=1,Nr
249 molod 1.4 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 molod 1.1 . * hFacW(i,j,K,bi,bj)
254     enddo
255     enddo
256     enddo
257     enddo
258     enddo
259 molod 1.3 call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)
260 molod 1.1
261     do bj = myByLo(myThid), myByHi(myThid)
262     do bi = myBxLo(myThid), myBxHi(myThid)
263     do K=1,Nr
264 molod 1.4 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 molod 1.1 . * hFacW(i,j,K,bi,bj)
269     enddo
270     enddo
271     enddo
272     enddo
273     enddo
274 molod 1.3 call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)
275 molod 1.1
276     do bj = myByLo(myThid), myByHi(myThid)
277     do bi = myBxLo(myThid), myBxHi(myThid)
278     do K=1,Nr
279 molod 1.4 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 molod 1.1 . * hFacW(i,j,K,bi,bj)
284     enddo
285     enddo
286     enddo
287     enddo
288     enddo
289 molod 1.3 call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)
290 molod 1.1
291    
292     return
293     end

  ViewVC Help
Powered by ViewVC 1.1.22