/[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.18 - (hide annotations) (download)
Thu May 5 16:41:54 2005 UTC (19 years ago) by dimitri
Branch: MAIN
Changes since 1.17: +32 -1 lines
added pkg/exf, SALTanom, and SALTSQan diagnostics

1 dimitri 1.18 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_fill_state.F,v 1.17 2005/02/10 16:30:39 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 dimitri 1.18 IF ( DIAGNOSTICS_IS_ON('SALTanom',myThid) ) THEN
348     DO bj = myByLo(myThid), myByHi(myThid)
349     DO bi = myBxLo(myThid), myBxHi(myThid)
350     DO K=1,Nr
351     DO j = 1,sNy
352     DO i = 1,sNx
353     tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)-35
354     ENDDO
355     ENDDO
356     ENDDO
357     ENDDO
358     ENDDO
359     CALL DIAGNOSTICS_FILL(tmpMk,'SALTanom',0,Nr,0,1,1,myThid)
360     ENDIF
361    
362     IF ( DIAGNOSTICS_IS_ON('SALTSQan',myThid) ) THEN
363     DO bj = myByLo(myThid), myByHi(myThid)
364     DO bi = myBxLo(myThid), myBxHi(myThid)
365     DO K=1,Nr
366     DO j = 1,sNy
367     DO i = 1,sNx
368     tmpMk(i,j,K,bi,bj) =
369     & (salt(i,j,K,bi,bj)-35)*(salt(i,j,K,bi,bj)-35)
370     ENDDO
371     ENDDO
372     ENDDO
373     ENDDO
374     ENDDO
375     CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQan',0,Nr,0,1,1,myThid)
376     ENDIF
377    
378 jmc 1.15 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
379 jmc 1.13
380 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
381     DO bj = myByLo(myThid), myByHi(myThid)
382     DO bi = myBxLo(myThid), myBxHi(myThid)
383     DO K=1,Nr
384 jmc 1.13 DO j = 1,sNy
385     DO i = 1,sNx
386     tmpMk(i,j,K,bi,bj)
387 edhill 1.11 & = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
388 jmc 1.13 ENDDO
389     ENDDO
390 jmc 1.15 ENDDO
391 jmc 1.13 ENDDO
392 jmc 1.15 ENDDO
393     CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
394     ENDIF
395    
396     IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
397     DO bj = myByLo(myThid), myByHi(myThid)
398     DO bi = myBxLo(myThid), myBxHi(myThid)
399     DO K=1,Nr
400 jmc 1.13 DO j = 1,sNy
401     DO i = 1,sNx
402     tmpMk(i,j,K,bi,bj)
403 edhill 1.11 & = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
404 jmc 1.13 ENDDO
405     ENDDO
406 jmc 1.15 ENDDO
407 jmc 1.13 ENDDO
408 jmc 1.15 ENDDO
409     CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
410     ENDIF
411    
412     CALL DIAGNOSTICS_FILL(wVel, 'WVELMASS',0,Nr,0,1,1,myThid)
413 jmc 1.13
414 jmc 1.15 IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
415     DO bj = myByLo(myThid), myByHi(myThid)
416     DO bi = myBxLo(myThid), myBxHi(myThid)
417     DO K=1,Nr
418 jmc 1.13 DO j = 1,sNy
419 jmc 1.15 DO i = 1,sNx+1
420     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
421 jmc 1.13 & *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
422     & * hFacW(i,j,K,bi,bj)
423 jmc 1.15 ENDDO
424 jmc 1.13 ENDDO
425 jmc 1.15 ENDDO
426 jmc 1.13 ENDDO
427 jmc 1.15 ENDDO
428     CALL DIAGNOSTICS_FILL(tmpMk,'UTHMASS ',0,Nr,0,1,1,myThid)
429     ENDIF
430    
431     IF ( DIAGNOSTICS_IS_ON('VTHMASS ',myThid) ) THEN
432     DO bj = myByLo(myThid), myByHi(myThid)
433     DO bi = myBxLo(myThid), myBxHi(myThid)
434     DO K=1,Nr
435     DO j = 1,sNy+1
436     DO i = 1,sNx
437     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
438 jmc 1.13 & *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
439     & * hFacS(i,j,K,bi,bj)
440 jmc 1.15 ENDDO
441     ENDDO
442     ENDDO
443     ENDDO
444     ENDDO
445     CALL DIAGNOSTICS_FILL(tmpMk,'VTHMASS ',0,Nr,0,1,1,myThid)
446     ENDIF
447    
448     IF ( DIAGNOSTICS_IS_ON('WTHMASS ',myThid) ) THEN
449     DO bj = myByLo(myThid), myByHi(myThid)
450     DO bi = myBxLo(myThid), myBxHi(myThid)
451     DO K=1,Nr
452     km1 = MAX(k-1,1)
453     DO j = 1,sNy
454     DO i = 1,sNx
455     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
456     & *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
457     ENDDO
458 jmc 1.13 ENDDO
459 jmc 1.15 ENDDO
460 jmc 1.13 ENDDO
461 jmc 1.15 ENDDO
462     CALL DIAGNOSTICS_FILL(tmpMk,'WTHMASS ',0,Nr,0,1,1,myThid)
463     ENDIF
464    
465     IF ( DIAGNOSTICS_IS_ON('USLTMASS',myThid) ) THEN
466     DO bj = myByLo(myThid), myByHi(myThid)
467     DO bi = myBxLo(myThid), myBxHi(myThid)
468     DO K=1,Nr
469 jmc 1.13 DO j = 1,sNy
470 jmc 1.15 DO i = 1,sNx+1
471     tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
472 jmc 1.13 & *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
473     & * hFacW(i,j,K,bi,bj)
474 jmc 1.15 ENDDO
475 jmc 1.13 ENDDO
476 jmc 1.15 ENDDO
477 jmc 1.13 ENDDO
478 jmc 1.15 ENDDO
479     CALL DIAGNOSTICS_FILL(tmpMk,'USLTMASS',0,Nr,0,1,1,myThid)
480     ENDIF
481    
482     IF ( DIAGNOSTICS_IS_ON('VSLTMASS',myThid) ) THEN
483     DO bj = myByLo(myThid), myByHi(myThid)
484     DO bi = myBxLo(myThid), myBxHi(myThid)
485     DO K=1,Nr
486     DO j = 1,sNy+1
487     DO i = 1,sNx
488     tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
489 jmc 1.13 & *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
490     & * hFacS(i,j,K,bi,bj)
491 jmc 1.15 ENDDO
492     ENDDO
493     ENDDO
494     ENDDO
495     ENDDO
496     CALL DIAGNOSTICS_FILL(tmpMk,'VSLTMASS',0,Nr,0,1,1,myThid)
497     ENDIF
498    
499     IF ( DIAGNOSTICS_IS_ON('WSLTMASS',myThid) ) THEN
500     DO bj = myByLo(myThid), myByHi(myThid)
501     DO bi = myBxLo(myThid), myBxHi(myThid)
502     DO K=1,Nr
503     km1 = MAX(k-1,1)
504     DO j = 1,sNy
505     DO i = 1,sNx
506     tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
507     & *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
508     ENDDO
509 jmc 1.13 ENDDO
510 jmc 1.15 ENDDO
511 jmc 1.13 ENDDO
512 jmc 1.15 ENDDO
513     CALL DIAGNOSTICS_FILL(tmpMk,'WSLTMASS',0,Nr,0,1,1,myThid)
514     ENDIF
515    
516     C-- fill tracer state-var diagnostics: end
517 jmc 1.13 ENDIF
518 jmc 1.15
519 jmc 1.7 #endif /* ALLOW_DIAGNOSTICS */
520 edhill 1.11
521 jmc 1.13 RETURN
522     END

  ViewVC Help
Powered by ViewVC 1.1.22