/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_fill_state.F
ViewVC logotype

Contents of /MITgcm/pkg/diagnostics/diagnostics_fill_state.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.21 - (show annotations) (download)
Mon Jul 11 18:59:07 2005 UTC (18 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.20: +21 -103 lines
add option to fill a squared diagnostics directly.

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

  ViewVC Help
Powered by ViewVC 1.1.22