/[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.17 - (hide annotations) (download)
Thu Feb 10 16:30:39 2005 UTC (19 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint57d_post, checkpoint57g_post, checkpoint57e_post, checkpoint57g_pre, checkpoint57f_pre, eckpoint57e_pre, checkpoint57f_post
Changes since 1.16: +3 -3 lines
fix the WU_VEL,WV_VEL diagnostics

1 jmc 1.17 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_fill_state.F,v 1.16 2005/02/10 15:01:34 jmc Exp $
2 edhill 1.6 C $Name: $
3    
4 edhill 1.10 #include "DIAG_OPTIONS.h"
5 jmc 1.7
6 jmc 1.15 CBOP
7     C !ROUTINE: DIAGNOSTICS_FILL_STATE
8     C !INTERFACE:
9     SUBROUTINE DIAGNOSTICS_FILL_STATE( selectVars, myThid )
10    
11     C !DESCRIPTION: \bv
12     C *==========================================================*
13     C | SUBROUTINE DIAGNOSTICS_FILL_STATE
14     C | o Fill-in main code, state-variables diagnostics
15     C *==========================================================*
16     C \ev
17    
18     C !USES:
19     IMPLICIT NONE
20     C == Global variables ===
21 molod 1.1 #include "SIZE.h"
22     #include "EEPARAMS.h"
23     #include "GRID.h"
24     #include "DYNVARS.h"
25 jmc 1.12 #include "SURFACE.h"
26 molod 1.1
27 jmc 1.15 C !INPUT/OUTPUT PARAMETERS:
28     C == Routine arguments ==
29     C selectVars :: select which group of dianostics variables to fill-in
30     C = 1 :: fill-in diagnostics for tracer variables only
31     C = 2 :: fill-in diagnostics for momentum variables only
32     C = 3 :: fill-in diagnostics for momentum & tracer variables
33     C myThid :: my Thread Id number
34     INTEGER selectVars
35 jmc 1.13 INTEGER myThid
36 jmc 1.7
37     #ifdef ALLOW_DIAGNOSTICS
38 jmc 1.15 C !LOCAL VARIABLES:
39     C == Local variables ==
40 jmc 1.13 LOGICAL DIAGNOSTICS_IS_ON
41     EXTERNAL DIAGNOSTICS_IS_ON
42     _RL tmpMk(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
43     _RL tmp1k(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
44     INTEGER i,j,K,bi,bj
45     INTEGER km1
46    
47 jmc 1.15 IF ( selectVars .GE. 2 ) THEN
48     C-- fill momentum state-var diagnostics:
49    
50     CALL DIAGNOSTICS_FILL(etaN,'ETAN ',0,1,0,1,1,myThid)
51 jmc 1.13
52 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('ETANSQ ',myThid) ) THEN
53     DO bj = myByLo(myThid), myByHi(myThid)
54     DO bi = myBxLo(myThid), myBxHi(myThid)
55     DO j = 1,sNy
56 jmc 1.13 DO i = 1,sNx
57     tmp1k(i,j,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
58     ENDDO
59 jmc 1.15 ENDDO
60 jmc 1.13 ENDDO
61 jmc 1.15 ENDDO
62     CALL DIAGNOSTICS_FILL(tmp1k,'ETANSQ ',0,1,0,1,1,myThid)
63     ENDIF
64 jmc 1.14
65 jmc 1.12 #ifdef EXACT_CONSERV
66 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
67     DO bj = myByLo(myThid), myByHi(myThid)
68     DO bi = myBxLo(myThid), myBxHi(myThid)
69     DO j = 1,sNy
70 jmc 1.13 DO i = 1,sNx
71     tmp1k(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)
72     ENDDO
73 jmc 1.15 ENDDO
74 jmc 1.13 ENDDO
75 jmc 1.15 ENDDO
76     CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
77     ENDIF
78 jmc 1.12 #endif
79    
80 jmc 1.15 CALL DIAGNOSTICS_FILL(uVel, 'UVEL ',0,Nr,0,1,1,myThid)
81     CALL DIAGNOSTICS_FILL(vVel, 'VVEL ',0,Nr,0,1,1,myThid)
82     CALL DIAGNOSTICS_FILL(wVel, 'WVEL ',0,Nr,0,1,1,myThid)
83    
84     IF ( DIAGNOSTICS_IS_ON('UVELSQ ',myThid) ) THEN
85     DO bj = myByLo(myThid), myByHi(myThid)
86     DO bi = myBxLo(myThid), myBxHi(myThid)
87     DO K=1,Nr
88     DO j = 1,sNy
89     DO i = 1,sNx+1
90     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
91     ENDDO
92     ENDDO
93     ENDDO
94     ENDDO
95     ENDDO
96     CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ ',0,Nr,0,1,1,myThid)
97     ENDIF
98    
99     IF ( DIAGNOSTICS_IS_ON('VVELSQ ',myThid) ) THEN
100     DO bj = myByLo(myThid), myByHi(myThid)
101     DO bi = myBxLo(myThid), myBxHi(myThid)
102     DO K=1,Nr
103     DO j = 1,sNy+1
104     DO i = 1,sNx
105     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
106     ENDDO
107     ENDDO
108     ENDDO
109     ENDDO
110     ENDDO
111     CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ ',0,Nr,0,1,1,myThid)
112     ENDIF
113    
114     IF ( DIAGNOSTICS_IS_ON('WVELSQ ',myThid) ) THEN
115     DO bj = myByLo(myThid), myByHi(myThid)
116     DO bi = myBxLo(myThid), myBxHi(myThid)
117     DO K=1,Nr
118     DO j = 1,sNy
119     DO i = 1,sNx
120     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
121     ENDDO
122     ENDDO
123     ENDDO
124     ENDDO
125     ENDDO
126     CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ ',0,Nr,0,1,1,myThid)
127     ENDIF
128    
129     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
130    
131     IF ( DIAGNOSTICS_IS_ON('UV_VEL_C',myThid) ) THEN
132     DO bj = myByLo(myThid), myByHi(myThid)
133     DO bi = myBxLo(myThid), myBxHi(myThid)
134     DO K=1,Nr
135     DO j = 1,sNy
136     DO i = 1,sNx
137     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
138     & *(uVel(i,j,K,bi,bj)+uVel(i+1,j,K,bi,bj))
139     & *(vVel(i,j,K,bi,bj)+vVel(i,j+1,K,bi,bj))
140     ENDDO
141     ENDDO
142     ENDDO
143     ENDDO
144     ENDDO
145     CALL DIAGNOSTICS_FILL(tmpMk,'UV_VEL_C',0,Nr,0,1,1,myThid)
146     ENDIF
147    
148     IF ( DIAGNOSTICS_IS_ON('UV_VEL_Z',myThid) ) THEN
149     DO bj = myByLo(myThid), myByHi(myThid)
150     DO bi = myBxLo(myThid), myBxHi(myThid)
151     DO K=1,Nr
152     DO j = 1,sNy+1
153     DO i = 1,sNx+1
154     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
155     & *(uVel(i,j-1,K,bi,bj)+uVel(i,j,K,bi,bj))
156     & *(vVel(i-1,j,K,bi,bj)+vVel(i,j,K,bi,bj))
157     ENDDO
158     ENDDO
159     ENDDO
160     ENDDO
161     ENDDO
162     CALL DIAGNOSTICS_FILL(tmpMk,'UV_VEL_Z',0,Nr,0,1,1,myThid)
163     ENDIF
164    
165 jmc 1.16 IF ( DIAGNOSTICS_IS_ON('WU_VEL ',myThid) ) THEN
166     DO bj = myByLo(myThid), myByHi(myThid)
167     DO bi = myBxLo(myThid), myBxHi(myThid)
168     DO K=1,Nr
169     km1 = MAX(k-1,1)
170     DO j = 1,sNy
171     DO i = 1,sNx+1
172     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
173 jmc 1.17 & *(uVel(i,j,km1,bi,bj)+uVel(i,j,K,bi,bj))
174 jmc 1.16 & *(wVel(i-1,j,K,bi,bj)*rA(i-1,j,bi,bj)
175     & +wVel( i ,j,K,bi,bj)*rA( i ,j,bi,bj)
176     & )*recip_rAw(i,j,bi,bj)
177     ENDDO
178     ENDDO
179     ENDDO
180     ENDDO
181     ENDDO
182     CALL DIAGNOSTICS_FILL(tmpMk,'WU_VEL ',0,Nr,0,1,1,myThid)
183     ENDIF
184    
185     IF ( DIAGNOSTICS_IS_ON('WV_VEL ',myThid) ) THEN
186     DO bj = myByLo(myThid), myByHi(myThid)
187     DO bi = myBxLo(myThid), myBxHi(myThid)
188     DO K=1,Nr
189     km1 = MAX(k-1,1)
190     DO j = 1,sNy+1
191     DO i = 1,sNx
192     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
193 jmc 1.17 & *(vVel(i,j,km1,bi,bj)+vVel(i,j,K,bi,bj))
194 jmc 1.16 & *(wVel(i,j-1,K,bi,bj)*rA(i,j-1,bi,bj)
195     & +wVel(i, j ,K,bi,bj)*rA(i, j ,bi,bj)
196     & )*recip_rAs(i,j,bi,bj)
197     ENDDO
198     ENDDO
199     ENDDO
200     ENDDO
201     ENDDO
202     CALL DIAGNOSTICS_FILL(tmpMk,'WV_VEL ',0,Nr,0,1,1,myThid)
203     ENDIF
204    
205 jmc 1.15 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
206    
207     IF ( DIAGNOSTICS_IS_ON('UVELTH ',myThid) ) THEN
208     DO bj = myByLo(myThid), myByHi(myThid)
209     DO bi = myBxLo(myThid), myBxHi(myThid)
210     DO K=1,Nr
211 jmc 1.13 DO j = 1,sNy
212 jmc 1.15 DO i = 1,sNx+1
213     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
214     & *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
215     ENDDO
216 jmc 1.13 ENDDO
217 jmc 1.15 ENDDO
218 jmc 1.13 ENDDO
219 jmc 1.15 ENDDO
220     CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH ',0,Nr,0,1,1,myThid)
221     ENDIF
222    
223     IF ( DIAGNOSTICS_IS_ON('VVELTH ',myThid) ) THEN
224     DO bj = myByLo(myThid), myByHi(myThid)
225     DO bi = myBxLo(myThid), myBxHi(myThid)
226     DO K=1,Nr
227     DO j = 1,sNy+1
228     DO i = 1,sNx
229     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
230     & *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
231     ENDDO
232 jmc 1.13 ENDDO
233 jmc 1.15 ENDDO
234 jmc 1.13 ENDDO
235 jmc 1.15 ENDDO
236     CALL DIAGNOSTICS_FILL(tmpMk,'VVELTH ',0,Nr,0,1,1,myThid)
237     ENDIF
238    
239     IF ( DIAGNOSTICS_IS_ON('WVELTH ',myThid) ) THEN
240     DO bj = myByLo(myThid), myByHi(myThid)
241     DO bi = myBxLo(myThid), myBxHi(myThid)
242     DO K=1,Nr
243     km1 = MAX(k-1,1)
244 jmc 1.13 DO j = 1,sNy
245 jmc 1.15 DO i = 1,sNx
246     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
247     & *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
248     ENDDO
249 jmc 1.13 ENDDO
250 jmc 1.15 ENDDO
251 jmc 1.13 ENDDO
252 jmc 1.15 ENDDO
253     CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH ',0,Nr,0,1,1,myThid)
254     ENDIF
255 jmc 1.13
256 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
257     DO bj = myByLo(myThid), myByHi(myThid)
258     DO bi = myBxLo(myThid), myBxHi(myThid)
259     DO K=1,Nr
260 jmc 1.13 DO j = 1,sNy
261 jmc 1.15 DO i = 1,sNx+1
262     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
263     & *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
264     ENDDO
265 jmc 1.13 ENDDO
266 jmc 1.15 ENDDO
267 jmc 1.13 ENDDO
268 jmc 1.15 ENDDO
269     CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
270     ENDIF
271    
272     IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
273     DO bj = myByLo(myThid), myByHi(myThid)
274     DO bi = myBxLo(myThid), myBxHi(myThid)
275     DO K=1,Nr
276     DO j = 1,sNy+1
277     DO i = 1,sNx
278     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
279     & *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
280     ENDDO
281 jmc 1.13 ENDDO
282 jmc 1.15 ENDDO
283 jmc 1.13 ENDDO
284 jmc 1.15 ENDDO
285     CALL DIAGNOSTICS_FILL(tmpMk,'VVELSLT ',0,Nr,0,1,1,myThid)
286     ENDIF
287    
288     IF ( DIAGNOSTICS_IS_ON('WVELSLT ',myThid) ) THEN
289     DO bj = myByLo(myThid), myByHi(myThid)
290     DO bi = myBxLo(myThid), myBxHi(myThid)
291     DO K=1,Nr
292     km1 = MAX(k-1,1)
293 jmc 1.13 DO j = 1,sNy
294 jmc 1.15 DO i = 1,sNx
295     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
296     & *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
297     ENDDO
298 jmc 1.13 ENDDO
299 jmc 1.15 ENDDO
300 jmc 1.13 ENDDO
301 jmc 1.15 ENDDO
302     CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
303     ENDIF
304 jmc 1.13
305 jmc 1.15 C-- fill momentum state-var diagnostics: end
306 jmc 1.13 ENDIF
307 jmc 1.15
308     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
309    
310     IF ( selectVars.EQ.1 .OR. selectVars.EQ.3 ) THEN
311     C-- fill tracer state-var diagnostics:
312    
313     CALL DIAGNOSTICS_FILL(theta,'THETA ',0,Nr,0,1,1,myThid)
314     CALL DIAGNOSTICS_FILL(salt, 'SALT ',0,Nr,0,1,1,myThid)
315    
316     IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
317     DO bj = myByLo(myThid), myByHi(myThid)
318     DO bi = myBxLo(myThid), myBxHi(myThid)
319     DO K=1,Nr
320 jmc 1.13 DO j = 1,sNy
321 jmc 1.15 DO i = 1,sNx
322     tmpMk(i,j,K,bi,bj)
323     & = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
324     ENDDO
325 jmc 1.13 ENDDO
326 jmc 1.15 ENDDO
327 jmc 1.13 ENDDO
328 jmc 1.15 ENDDO
329     CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
330     ENDIF
331 jmc 1.13
332 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('SALTSQ ',myThid) ) THEN
333     DO bj = myByLo(myThid), myByHi(myThid)
334     DO bi = myBxLo(myThid), myBxHi(myThid)
335     DO K=1,Nr
336 jmc 1.13 DO j = 1,sNy
337 jmc 1.15 DO i = 1,sNx
338     tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
339     ENDDO
340 jmc 1.13 ENDDO
341 jmc 1.15 ENDDO
342 jmc 1.13 ENDDO
343 jmc 1.15 ENDDO
344     CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ ',0,Nr,0,1,1,myThid)
345     ENDIF
346 jmc 1.13
347 jmc 1.15 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
348 jmc 1.13
349 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
350     DO bj = myByLo(myThid), myByHi(myThid)
351     DO bi = myBxLo(myThid), myBxHi(myThid)
352     DO K=1,Nr
353 jmc 1.13 DO j = 1,sNy
354     DO i = 1,sNx
355     tmpMk(i,j,K,bi,bj)
356 edhill 1.11 & = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
357 jmc 1.13 ENDDO
358     ENDDO
359 jmc 1.15 ENDDO
360 jmc 1.13 ENDDO
361 jmc 1.15 ENDDO
362     CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
363     ENDIF
364    
365     IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
366     DO bj = myByLo(myThid), myByHi(myThid)
367     DO bi = myBxLo(myThid), myBxHi(myThid)
368     DO K=1,Nr
369 jmc 1.13 DO j = 1,sNy
370     DO i = 1,sNx
371     tmpMk(i,j,K,bi,bj)
372 edhill 1.11 & = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
373 jmc 1.13 ENDDO
374     ENDDO
375 jmc 1.15 ENDDO
376 jmc 1.13 ENDDO
377 jmc 1.15 ENDDO
378     CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
379     ENDIF
380    
381     CALL DIAGNOSTICS_FILL(wVel, 'WVELMASS',0,Nr,0,1,1,myThid)
382 jmc 1.13
383 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
384     DO bj = myByLo(myThid), myByHi(myThid)
385     DO bi = myBxLo(myThid), myBxHi(myThid)
386     DO K=1,Nr
387 jmc 1.13 DO j = 1,sNy
388 jmc 1.15 DO i = 1,sNx+1
389     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
390 jmc 1.13 & *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
391     & * hFacW(i,j,K,bi,bj)
392 jmc 1.15 ENDDO
393 jmc 1.13 ENDDO
394 jmc 1.15 ENDDO
395 jmc 1.13 ENDDO
396 jmc 1.15 ENDDO
397     CALL DIAGNOSTICS_FILL(tmpMk,'UTHMASS ',0,Nr,0,1,1,myThid)
398     ENDIF
399    
400     IF ( DIAGNOSTICS_IS_ON('VTHMASS ',myThid) ) THEN
401     DO bj = myByLo(myThid), myByHi(myThid)
402     DO bi = myBxLo(myThid), myBxHi(myThid)
403     DO K=1,Nr
404     DO j = 1,sNy+1
405     DO i = 1,sNx
406     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
407 jmc 1.13 & *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
408     & * hFacS(i,j,K,bi,bj)
409 jmc 1.15 ENDDO
410     ENDDO
411     ENDDO
412     ENDDO
413     ENDDO
414     CALL DIAGNOSTICS_FILL(tmpMk,'VTHMASS ',0,Nr,0,1,1,myThid)
415     ENDIF
416    
417     IF ( DIAGNOSTICS_IS_ON('WTHMASS ',myThid) ) THEN
418     DO bj = myByLo(myThid), myByHi(myThid)
419     DO bi = myBxLo(myThid), myBxHi(myThid)
420     DO K=1,Nr
421     km1 = MAX(k-1,1)
422     DO j = 1,sNy
423     DO i = 1,sNx
424     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
425     & *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
426     ENDDO
427 jmc 1.13 ENDDO
428 jmc 1.15 ENDDO
429 jmc 1.13 ENDDO
430 jmc 1.15 ENDDO
431     CALL DIAGNOSTICS_FILL(tmpMk,'WTHMASS ',0,Nr,0,1,1,myThid)
432     ENDIF
433    
434     IF ( DIAGNOSTICS_IS_ON('USLTMASS',myThid) ) THEN
435     DO bj = myByLo(myThid), myByHi(myThid)
436     DO bi = myBxLo(myThid), myBxHi(myThid)
437     DO K=1,Nr
438 jmc 1.13 DO j = 1,sNy
439 jmc 1.15 DO i = 1,sNx+1
440     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
441 jmc 1.13 & *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
442     & * hFacW(i,j,K,bi,bj)
443 jmc 1.15 ENDDO
444 jmc 1.13 ENDDO
445 jmc 1.15 ENDDO
446 jmc 1.13 ENDDO
447 jmc 1.15 ENDDO
448     CALL DIAGNOSTICS_FILL(tmpMk,'USLTMASS',0,Nr,0,1,1,myThid)
449     ENDIF
450    
451     IF ( DIAGNOSTICS_IS_ON('VSLTMASS',myThid) ) THEN
452     DO bj = myByLo(myThid), myByHi(myThid)
453     DO bi = myBxLo(myThid), myBxHi(myThid)
454     DO K=1,Nr
455     DO j = 1,sNy+1
456     DO i = 1,sNx
457     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
458 jmc 1.13 & *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
459     & * hFacS(i,j,K,bi,bj)
460 jmc 1.15 ENDDO
461     ENDDO
462     ENDDO
463     ENDDO
464     ENDDO
465     CALL DIAGNOSTICS_FILL(tmpMk,'VSLTMASS',0,Nr,0,1,1,myThid)
466     ENDIF
467    
468     IF ( DIAGNOSTICS_IS_ON('WSLTMASS',myThid) ) THEN
469     DO bj = myByLo(myThid), myByHi(myThid)
470     DO bi = myBxLo(myThid), myBxHi(myThid)
471     DO K=1,Nr
472     km1 = MAX(k-1,1)
473     DO j = 1,sNy
474     DO i = 1,sNx
475     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
476     & *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
477     ENDDO
478 jmc 1.13 ENDDO
479 jmc 1.15 ENDDO
480 jmc 1.13 ENDDO
481 jmc 1.15 ENDDO
482     CALL DIAGNOSTICS_FILL(tmpMk,'WSLTMASS',0,Nr,0,1,1,myThid)
483     ENDIF
484    
485     C-- fill tracer state-var diagnostics: end
486 jmc 1.13 ENDIF
487 jmc 1.15
488 jmc 1.7 #endif /* ALLOW_DIAGNOSTICS */
489 edhill 1.11
490 jmc 1.13 RETURN
491     END

  ViewVC Help
Powered by ViewVC 1.1.22