/[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.19 - (hide annotations) (download)
Fri May 6 03:46:40 2005 UTC (19 years ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint57h_done, checkpoint57h_pre, checkpoint57h_post
Changes since 1.18: +53 -1 lines
added SSS, SST, and 2nd level velocity diagnostics

1 dimitri 1.19 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_fill_state.F,v 1.18 2005/05/05 16:41:54 dimitri 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 dimitri 1.19 IF ( DIAGNOSTICS_IS_ON('UVEL_k2 ',myThid) ) THEN
85     DO bj = myByLo(myThid), myByHi(myThid)
86     DO bi = myBxLo(myThid), myBxHi(myThid)
87     DO j = 1,sNy
88     DO i = 1,sNx
89     tmp1k(i,j,bi,bj) = UVEL(i,j,2,bi,bj)
90     ENDDO
91     ENDDO
92     ENDDO
93     ENDDO
94     CALL DIAGNOSTICS_FILL(tmp1k,'UVEL_k2 ',0,1,0,1,1,myThid)
95     ENDIF
96    
97     IF ( DIAGNOSTICS_IS_ON('VVEL_k2 ',myThid) ) THEN
98     DO bj = myByLo(myThid), myByHi(myThid)
99     DO bi = myBxLo(myThid), myBxHi(myThid)
100     DO j = 1,sNy
101     DO i = 1,sNx
102     tmp1k(i,j,bi,bj) = VVEL(i,j,2,bi,bj)
103     ENDDO
104     ENDDO
105     ENDDO
106     ENDDO
107     CALL DIAGNOSTICS_FILL(tmp1k,'VVEL_k2 ',0,1,0,1,1,myThid)
108     ENDIF
109    
110 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UVELSQ ',myThid) ) THEN
111     DO bj = myByLo(myThid), myByHi(myThid)
112     DO bi = myBxLo(myThid), myBxHi(myThid)
113     DO K=1,Nr
114     DO j = 1,sNy
115     DO i = 1,sNx+1
116     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
117     ENDDO
118     ENDDO
119     ENDDO
120     ENDDO
121     ENDDO
122     CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ ',0,Nr,0,1,1,myThid)
123     ENDIF
124    
125     IF ( DIAGNOSTICS_IS_ON('VVELSQ ',myThid) ) THEN
126     DO bj = myByLo(myThid), myByHi(myThid)
127     DO bi = myBxLo(myThid), myBxHi(myThid)
128     DO K=1,Nr
129     DO j = 1,sNy+1
130     DO i = 1,sNx
131     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
132     ENDDO
133     ENDDO
134     ENDDO
135     ENDDO
136     ENDDO
137     CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ ',0,Nr,0,1,1,myThid)
138     ENDIF
139    
140     IF ( DIAGNOSTICS_IS_ON('WVELSQ ',myThid) ) THEN
141     DO bj = myByLo(myThid), myByHi(myThid)
142     DO bi = myBxLo(myThid), myBxHi(myThid)
143     DO K=1,Nr
144     DO j = 1,sNy
145     DO i = 1,sNx
146     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
147     ENDDO
148     ENDDO
149     ENDDO
150     ENDDO
151     ENDDO
152     CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ ',0,Nr,0,1,1,myThid)
153     ENDIF
154    
155     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
156    
157     IF ( DIAGNOSTICS_IS_ON('UV_VEL_C',myThid) ) THEN
158     DO bj = myByLo(myThid), myByHi(myThid)
159     DO bi = myBxLo(myThid), myBxHi(myThid)
160     DO K=1,Nr
161     DO j = 1,sNy
162     DO i = 1,sNx
163     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
164     & *(uVel(i,j,K,bi,bj)+uVel(i+1,j,K,bi,bj))
165     & *(vVel(i,j,K,bi,bj)+vVel(i,j+1,K,bi,bj))
166     ENDDO
167     ENDDO
168     ENDDO
169     ENDDO
170     ENDDO
171     CALL DIAGNOSTICS_FILL(tmpMk,'UV_VEL_C',0,Nr,0,1,1,myThid)
172     ENDIF
173    
174     IF ( DIAGNOSTICS_IS_ON('UV_VEL_Z',myThid) ) THEN
175     DO bj = myByLo(myThid), myByHi(myThid)
176     DO bi = myBxLo(myThid), myBxHi(myThid)
177     DO K=1,Nr
178     DO j = 1,sNy+1
179     DO i = 1,sNx+1
180     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
181     & *(uVel(i,j-1,K,bi,bj)+uVel(i,j,K,bi,bj))
182     & *(vVel(i-1,j,K,bi,bj)+vVel(i,j,K,bi,bj))
183     ENDDO
184     ENDDO
185     ENDDO
186     ENDDO
187     ENDDO
188     CALL DIAGNOSTICS_FILL(tmpMk,'UV_VEL_Z',0,Nr,0,1,1,myThid)
189     ENDIF
190    
191 jmc 1.16 IF ( DIAGNOSTICS_IS_ON('WU_VEL ',myThid) ) THEN
192     DO bj = myByLo(myThid), myByHi(myThid)
193     DO bi = myBxLo(myThid), myBxHi(myThid)
194     DO K=1,Nr
195     km1 = MAX(k-1,1)
196     DO j = 1,sNy
197     DO i = 1,sNx+1
198     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
199 jmc 1.17 & *(uVel(i,j,km1,bi,bj)+uVel(i,j,K,bi,bj))
200 jmc 1.16 & *(wVel(i-1,j,K,bi,bj)*rA(i-1,j,bi,bj)
201     & +wVel( i ,j,K,bi,bj)*rA( i ,j,bi,bj)
202     & )*recip_rAw(i,j,bi,bj)
203     ENDDO
204     ENDDO
205     ENDDO
206     ENDDO
207     ENDDO
208     CALL DIAGNOSTICS_FILL(tmpMk,'WU_VEL ',0,Nr,0,1,1,myThid)
209     ENDIF
210    
211     IF ( DIAGNOSTICS_IS_ON('WV_VEL ',myThid) ) THEN
212     DO bj = myByLo(myThid), myByHi(myThid)
213     DO bi = myBxLo(myThid), myBxHi(myThid)
214     DO K=1,Nr
215     km1 = MAX(k-1,1)
216     DO j = 1,sNy+1
217     DO i = 1,sNx
218     tmpMk(i,j,K,bi,bj) = 0.25 _d 0
219 jmc 1.17 & *(vVel(i,j,km1,bi,bj)+vVel(i,j,K,bi,bj))
220 jmc 1.16 & *(wVel(i,j-1,K,bi,bj)*rA(i,j-1,bi,bj)
221     & +wVel(i, j ,K,bi,bj)*rA(i, j ,bi,bj)
222     & )*recip_rAs(i,j,bi,bj)
223     ENDDO
224     ENDDO
225     ENDDO
226     ENDDO
227     ENDDO
228     CALL DIAGNOSTICS_FILL(tmpMk,'WV_VEL ',0,Nr,0,1,1,myThid)
229     ENDIF
230    
231 jmc 1.15 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
232    
233     IF ( DIAGNOSTICS_IS_ON('UVELTH ',myThid) ) THEN
234     DO bj = myByLo(myThid), myByHi(myThid)
235     DO bi = myBxLo(myThid), myBxHi(myThid)
236     DO K=1,Nr
237 jmc 1.13 DO j = 1,sNy
238 jmc 1.15 DO i = 1,sNx+1
239     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
240     & *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
241     ENDDO
242 jmc 1.13 ENDDO
243 jmc 1.15 ENDDO
244 jmc 1.13 ENDDO
245 jmc 1.15 ENDDO
246     CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH ',0,Nr,0,1,1,myThid)
247     ENDIF
248    
249     IF ( DIAGNOSTICS_IS_ON('VVELTH ',myThid) ) THEN
250     DO bj = myByLo(myThid), myByHi(myThid)
251     DO bi = myBxLo(myThid), myBxHi(myThid)
252     DO K=1,Nr
253     DO j = 1,sNy+1
254     DO i = 1,sNx
255     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
256     & *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
257     ENDDO
258 jmc 1.13 ENDDO
259 jmc 1.15 ENDDO
260 jmc 1.13 ENDDO
261 jmc 1.15 ENDDO
262     CALL DIAGNOSTICS_FILL(tmpMk,'VVELTH ',0,Nr,0,1,1,myThid)
263     ENDIF
264    
265     IF ( DIAGNOSTICS_IS_ON('WVELTH ',myThid) ) THEN
266     DO bj = myByLo(myThid), myByHi(myThid)
267     DO bi = myBxLo(myThid), myBxHi(myThid)
268     DO K=1,Nr
269     km1 = MAX(k-1,1)
270 jmc 1.13 DO j = 1,sNy
271 jmc 1.15 DO i = 1,sNx
272     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
273     & *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
274     ENDDO
275 jmc 1.13 ENDDO
276 jmc 1.15 ENDDO
277 jmc 1.13 ENDDO
278 jmc 1.15 ENDDO
279     CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH ',0,Nr,0,1,1,myThid)
280     ENDIF
281 jmc 1.13
282 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
283     DO bj = myByLo(myThid), myByHi(myThid)
284     DO bi = myBxLo(myThid), myBxHi(myThid)
285     DO K=1,Nr
286 jmc 1.13 DO j = 1,sNy
287 jmc 1.15 DO i = 1,sNx+1
288     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
289     & *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
290     ENDDO
291 jmc 1.13 ENDDO
292 jmc 1.15 ENDDO
293 jmc 1.13 ENDDO
294 jmc 1.15 ENDDO
295     CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
296     ENDIF
297    
298     IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
299     DO bj = myByLo(myThid), myByHi(myThid)
300     DO bi = myBxLo(myThid), myBxHi(myThid)
301     DO K=1,Nr
302     DO j = 1,sNy+1
303     DO i = 1,sNx
304     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
305     & *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
306     ENDDO
307 jmc 1.13 ENDDO
308 jmc 1.15 ENDDO
309 jmc 1.13 ENDDO
310 jmc 1.15 ENDDO
311     CALL DIAGNOSTICS_FILL(tmpMk,'VVELSLT ',0,Nr,0,1,1,myThid)
312     ENDIF
313    
314     IF ( DIAGNOSTICS_IS_ON('WVELSLT ',myThid) ) THEN
315     DO bj = myByLo(myThid), myByHi(myThid)
316     DO bi = myBxLo(myThid), myBxHi(myThid)
317     DO K=1,Nr
318     km1 = MAX(k-1,1)
319 jmc 1.13 DO j = 1,sNy
320 jmc 1.15 DO i = 1,sNx
321     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
322     & *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
323     ENDDO
324 jmc 1.13 ENDDO
325 jmc 1.15 ENDDO
326 jmc 1.13 ENDDO
327 jmc 1.15 ENDDO
328     CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
329     ENDIF
330 jmc 1.13
331 jmc 1.15 C-- fill momentum state-var diagnostics: end
332 jmc 1.13 ENDIF
333 jmc 1.15
334     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
335    
336     IF ( selectVars.EQ.1 .OR. selectVars.EQ.3 ) THEN
337     C-- fill tracer state-var diagnostics:
338    
339     CALL DIAGNOSTICS_FILL(theta,'THETA ',0,Nr,0,1,1,myThid)
340     CALL DIAGNOSTICS_FILL(salt, 'SALT ',0,Nr,0,1,1,myThid)
341 dimitri 1.19
342     IF ( DIAGNOSTICS_IS_ON('SST ',myThid) ) THEN
343     DO bj = myByLo(myThid), myByHi(myThid)
344     DO bi = myBxLo(myThid), myBxHi(myThid)
345     DO j = 1,sNy
346     DO i = 1,sNx
347     tmp1k(i,j,bi,bj) = THETA(i,j,1,bi,bj)
348     ENDDO
349     ENDDO
350     ENDDO
351     ENDDO
352     CALL DIAGNOSTICS_FILL(tmp1k,'SST ',0,1,0,1,1,myThid)
353     ENDIF
354    
355     IF ( DIAGNOSTICS_IS_ON('SSS ',myThid) ) THEN
356     DO bj = myByLo(myThid), myByHi(myThid)
357     DO bi = myBxLo(myThid), myBxHi(myThid)
358     DO j = 1,sNy
359     DO i = 1,sNx
360     tmp1k(i,j,bi,bj) = SALT(i,j,1,bi,bj)
361     ENDDO
362     ENDDO
363     ENDDO
364     ENDDO
365     CALL DIAGNOSTICS_FILL(tmp1k,'SSS ',0,1,0,1,1,myThid)
366     ENDIF
367 jmc 1.15
368     IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
369     DO bj = myByLo(myThid), myByHi(myThid)
370     DO bi = myBxLo(myThid), myBxHi(myThid)
371     DO K=1,Nr
372 jmc 1.13 DO j = 1,sNy
373 jmc 1.15 DO i = 1,sNx
374     tmpMk(i,j,K,bi,bj)
375     & = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
376     ENDDO
377 jmc 1.13 ENDDO
378 jmc 1.15 ENDDO
379 jmc 1.13 ENDDO
380 jmc 1.15 ENDDO
381     CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
382     ENDIF
383 jmc 1.13
384 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('SALTSQ ',myThid) ) THEN
385     DO bj = myByLo(myThid), myByHi(myThid)
386     DO bi = myBxLo(myThid), myBxHi(myThid)
387     DO K=1,Nr
388 jmc 1.13 DO j = 1,sNy
389 jmc 1.15 DO i = 1,sNx
390     tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
391     ENDDO
392 jmc 1.13 ENDDO
393 jmc 1.15 ENDDO
394 jmc 1.13 ENDDO
395 jmc 1.15 ENDDO
396     CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ ',0,Nr,0,1,1,myThid)
397     ENDIF
398 jmc 1.13
399 dimitri 1.18 IF ( DIAGNOSTICS_IS_ON('SALTanom',myThid) ) THEN
400     DO bj = myByLo(myThid), myByHi(myThid)
401     DO bi = myBxLo(myThid), myBxHi(myThid)
402     DO K=1,Nr
403     DO j = 1,sNy
404     DO i = 1,sNx
405     tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)-35
406     ENDDO
407     ENDDO
408     ENDDO
409     ENDDO
410     ENDDO
411     CALL DIAGNOSTICS_FILL(tmpMk,'SALTanom',0,Nr,0,1,1,myThid)
412     ENDIF
413    
414     IF ( DIAGNOSTICS_IS_ON('SALTSQan',myThid) ) THEN
415     DO bj = myByLo(myThid), myByHi(myThid)
416     DO bi = myBxLo(myThid), myBxHi(myThid)
417     DO K=1,Nr
418     DO j = 1,sNy
419     DO i = 1,sNx
420     tmpMk(i,j,K,bi,bj) =
421     & (salt(i,j,K,bi,bj)-35)*(salt(i,j,K,bi,bj)-35)
422     ENDDO
423     ENDDO
424     ENDDO
425     ENDDO
426     ENDDO
427     CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQan',0,Nr,0,1,1,myThid)
428     ENDIF
429    
430 jmc 1.15 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
431 jmc 1.13
432 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
433     DO bj = myByLo(myThid), myByHi(myThid)
434     DO bi = myBxLo(myThid), myBxHi(myThid)
435     DO K=1,Nr
436 jmc 1.13 DO j = 1,sNy
437     DO i = 1,sNx
438     tmpMk(i,j,K,bi,bj)
439 edhill 1.11 & = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
440 jmc 1.13 ENDDO
441     ENDDO
442 jmc 1.15 ENDDO
443 jmc 1.13 ENDDO
444 jmc 1.15 ENDDO
445     CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
446     ENDIF
447    
448     IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
449     DO bj = myByLo(myThid), myByHi(myThid)
450     DO bi = myBxLo(myThid), myBxHi(myThid)
451     DO K=1,Nr
452 jmc 1.13 DO j = 1,sNy
453     DO i = 1,sNx
454     tmpMk(i,j,K,bi,bj)
455 edhill 1.11 & = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
456 jmc 1.13 ENDDO
457     ENDDO
458 jmc 1.15 ENDDO
459 jmc 1.13 ENDDO
460 jmc 1.15 ENDDO
461     CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
462     ENDIF
463    
464     CALL DIAGNOSTICS_FILL(wVel, 'WVELMASS',0,Nr,0,1,1,myThid)
465 jmc 1.13
466 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
467     DO bj = myByLo(myThid), myByHi(myThid)
468     DO bi = myBxLo(myThid), myBxHi(myThid)
469     DO K=1,Nr
470 jmc 1.13 DO j = 1,sNy
471 jmc 1.15 DO i = 1,sNx+1
472     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
473 jmc 1.13 & *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
474     & * hFacW(i,j,K,bi,bj)
475 jmc 1.15 ENDDO
476 jmc 1.13 ENDDO
477 jmc 1.15 ENDDO
478 jmc 1.13 ENDDO
479 jmc 1.15 ENDDO
480     CALL DIAGNOSTICS_FILL(tmpMk,'UTHMASS ',0,Nr,0,1,1,myThid)
481     ENDIF
482    
483     IF ( DIAGNOSTICS_IS_ON('VTHMASS ',myThid) ) THEN
484     DO bj = myByLo(myThid), myByHi(myThid)
485     DO bi = myBxLo(myThid), myBxHi(myThid)
486     DO K=1,Nr
487     DO j = 1,sNy+1
488     DO i = 1,sNx
489     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
490 jmc 1.13 & *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
491     & * hFacS(i,j,K,bi,bj)
492 jmc 1.15 ENDDO
493     ENDDO
494     ENDDO
495     ENDDO
496     ENDDO
497     CALL DIAGNOSTICS_FILL(tmpMk,'VTHMASS ',0,Nr,0,1,1,myThid)
498     ENDIF
499    
500     IF ( DIAGNOSTICS_IS_ON('WTHMASS ',myThid) ) THEN
501     DO bj = myByLo(myThid), myByHi(myThid)
502     DO bi = myBxLo(myThid), myBxHi(myThid)
503     DO K=1,Nr
504     km1 = MAX(k-1,1)
505     DO j = 1,sNy
506     DO i = 1,sNx
507     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
508     & *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
509     ENDDO
510 jmc 1.13 ENDDO
511 jmc 1.15 ENDDO
512 jmc 1.13 ENDDO
513 jmc 1.15 ENDDO
514     CALL DIAGNOSTICS_FILL(tmpMk,'WTHMASS ',0,Nr,0,1,1,myThid)
515     ENDIF
516    
517     IF ( DIAGNOSTICS_IS_ON('USLTMASS',myThid) ) THEN
518     DO bj = myByLo(myThid), myByHi(myThid)
519     DO bi = myBxLo(myThid), myBxHi(myThid)
520     DO K=1,Nr
521 jmc 1.13 DO j = 1,sNy
522 jmc 1.15 DO i = 1,sNx+1
523     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
524 jmc 1.13 & *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
525     & * hFacW(i,j,K,bi,bj)
526 jmc 1.15 ENDDO
527 jmc 1.13 ENDDO
528 jmc 1.15 ENDDO
529 jmc 1.13 ENDDO
530 jmc 1.15 ENDDO
531     CALL DIAGNOSTICS_FILL(tmpMk,'USLTMASS',0,Nr,0,1,1,myThid)
532     ENDIF
533    
534     IF ( DIAGNOSTICS_IS_ON('VSLTMASS',myThid) ) THEN
535     DO bj = myByLo(myThid), myByHi(myThid)
536     DO bi = myBxLo(myThid), myBxHi(myThid)
537     DO K=1,Nr
538     DO j = 1,sNy+1
539     DO i = 1,sNx
540     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
541 jmc 1.13 & *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
542     & * hFacS(i,j,K,bi,bj)
543 jmc 1.15 ENDDO
544     ENDDO
545     ENDDO
546     ENDDO
547     ENDDO
548     CALL DIAGNOSTICS_FILL(tmpMk,'VSLTMASS',0,Nr,0,1,1,myThid)
549     ENDIF
550    
551     IF ( DIAGNOSTICS_IS_ON('WSLTMASS',myThid) ) THEN
552     DO bj = myByLo(myThid), myByHi(myThid)
553     DO bi = myBxLo(myThid), myBxHi(myThid)
554     DO K=1,Nr
555     km1 = MAX(k-1,1)
556     DO j = 1,sNy
557     DO i = 1,sNx
558     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
559     & *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
560     ENDDO
561 jmc 1.13 ENDDO
562 jmc 1.15 ENDDO
563 jmc 1.13 ENDDO
564 jmc 1.15 ENDDO
565     CALL DIAGNOSTICS_FILL(tmpMk,'WSLTMASS',0,Nr,0,1,1,myThid)
566     ENDIF
567    
568     C-- fill tracer state-var diagnostics: end
569 jmc 1.13 ENDIF
570 jmc 1.15
571 jmc 1.7 #endif /* ALLOW_DIAGNOSTICS */
572 edhill 1.11
573 jmc 1.13 RETURN
574     END

  ViewVC Help
Powered by ViewVC 1.1.22