40 |
LOGICAL DIAGNOSTICS_IS_ON |
LOGICAL DIAGNOSTICS_IS_ON |
41 |
EXTERNAL DIAGNOSTICS_IS_ON |
EXTERNAL DIAGNOSTICS_IS_ON |
42 |
_RL tmpMk(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_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) |
_RL tmp1k(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
45 |
INTEGER i,j,K,bi,bj |
INTEGER i,j,K,bi,bj |
46 |
INTEGER km1 |
INTEGER km1 |
82 |
CALL DIAGNOSTICS_FILL(vVel, 'VVEL ',0,Nr,0,1,1,myThid) |
CALL DIAGNOSTICS_FILL(vVel, 'VVEL ',0,Nr,0,1,1,myThid) |
83 |
CALL DIAGNOSTICS_FILL(wVel, 'WVEL ',0,Nr,0,1,1,myThid) |
CALL DIAGNOSTICS_FILL(wVel, 'WVEL ',0,Nr,0,1,1,myThid) |
84 |
|
|
85 |
|
IF ( DIAGNOSTICS_IS_ON('UVEL_k2 ',myThid) ) THEN |
86 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
87 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
88 |
|
DO j = 1,sNy |
89 |
|
DO i = 1,sNx |
90 |
|
tmp1k(i,j,bi,bj) = UVEL(i,j,2,bi,bj) |
91 |
|
ENDDO |
92 |
|
ENDDO |
93 |
|
ENDDO |
94 |
|
ENDDO |
95 |
|
CALL DIAGNOSTICS_FILL(tmp1k,'UVEL_k2 ',0,1,0,1,1,myThid) |
96 |
|
ENDIF |
97 |
|
|
98 |
|
IF ( DIAGNOSTICS_IS_ON('VVEL_k2 ',myThid) ) THEN |
99 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
100 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
101 |
|
DO j = 1,sNy |
102 |
|
DO i = 1,sNx |
103 |
|
tmp1k(i,j,bi,bj) = VVEL(i,j,2,bi,bj) |
104 |
|
ENDDO |
105 |
|
ENDDO |
106 |
|
ENDDO |
107 |
|
ENDDO |
108 |
|
CALL DIAGNOSTICS_FILL(tmp1k,'VVEL_k2 ',0,1,0,1,1,myThid) |
109 |
|
ENDIF |
110 |
|
|
111 |
IF ( DIAGNOSTICS_IS_ON('UVELSQ ',myThid) ) THEN |
IF ( DIAGNOSTICS_IS_ON('UVELSQ ',myThid) ) THEN |
112 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
113 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
189 |
CALL DIAGNOSTICS_FILL(tmpMk,'UV_VEL_Z',0,Nr,0,1,1,myThid) |
CALL DIAGNOSTICS_FILL(tmpMk,'UV_VEL_Z',0,Nr,0,1,1,myThid) |
190 |
ENDIF |
ENDIF |
191 |
|
|
192 |
|
IF ( DIAGNOSTICS_IS_ON('WU_VEL ',myThid) ) THEN |
193 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
194 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
195 |
|
DO K=1,Nr |
196 |
|
km1 = MAX(k-1,1) |
197 |
|
DO j = 1,sNy |
198 |
|
DO i = 1,sNx+1 |
199 |
|
tmpMk(i,j,K,bi,bj) = 0.25 _d 0 |
200 |
|
& *(uVel(i,j,km1,bi,bj)+uVel(i,j,K,bi,bj)) |
201 |
|
& *(wVel(i-1,j,K,bi,bj)*rA(i-1,j,bi,bj) |
202 |
|
& +wVel( i ,j,K,bi,bj)*rA( i ,j,bi,bj) |
203 |
|
& )*recip_rAw(i,j,bi,bj) |
204 |
|
ENDDO |
205 |
|
ENDDO |
206 |
|
ENDDO |
207 |
|
ENDDO |
208 |
|
ENDDO |
209 |
|
CALL DIAGNOSTICS_FILL(tmpMk,'WU_VEL ',0,Nr,0,1,1,myThid) |
210 |
|
ENDIF |
211 |
|
|
212 |
|
IF ( DIAGNOSTICS_IS_ON('WV_VEL ',myThid) ) THEN |
213 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
214 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
215 |
|
DO K=1,Nr |
216 |
|
km1 = MAX(k-1,1) |
217 |
|
DO j = 1,sNy+1 |
218 |
|
DO i = 1,sNx |
219 |
|
tmpMk(i,j,K,bi,bj) = 0.25 _d 0 |
220 |
|
& *(vVel(i,j,km1,bi,bj)+vVel(i,j,K,bi,bj)) |
221 |
|
& *(wVel(i,j-1,K,bi,bj)*rA(i,j-1,bi,bj) |
222 |
|
& +wVel(i, j ,K,bi,bj)*rA(i, j ,bi,bj) |
223 |
|
& )*recip_rAs(i,j,bi,bj) |
224 |
|
ENDDO |
225 |
|
ENDDO |
226 |
|
ENDDO |
227 |
|
ENDDO |
228 |
|
ENDDO |
229 |
|
CALL DIAGNOSTICS_FILL(tmpMk,'WV_VEL ',0,Nr,0,1,1,myThid) |
230 |
|
ENDIF |
231 |
|
|
232 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
233 |
|
|
234 |
IF ( DIAGNOSTICS_IS_ON('UVELTH ',myThid) ) THEN |
IF ( DIAGNOSTICS_IS_ON('UVELTH ',myThid) ) THEN |
329 |
CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid) |
CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid) |
330 |
ENDIF |
ENDIF |
331 |
|
|
332 |
|
IF ( DIAGNOSTICS_IS_ON('PRESSURE',myThid) ) THEN |
333 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
334 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
335 |
|
do j = 1,sNy |
336 |
|
do i = 1,sNx |
337 |
|
do K = 1,Nr |
338 |
|
tmpMk1(i,j,K,bi,bj) = 0. |
339 |
|
enddo |
340 |
|
enddo |
341 |
|
enddo |
342 |
|
do j = 1,sNy |
343 |
|
do i = 1,sNx |
344 |
|
if(ksurfC(i,j,bi,bj).ne.0.) |
345 |
|
. tmpMk1(i,j,ksurfC(i,j,bi,bj),bi,bj) = |
346 |
|
. (Ro_surf(i,j,bi,bj) + etaH(i,j,bi,bj)) |
347 |
|
enddo |
348 |
|
enddo |
349 |
|
do j = 1,sNy |
350 |
|
do i = 1,sNx |
351 |
|
do K = ksurfC(i,j,bi,bj)+1,Nr+1 |
352 |
|
tmpMk1(i,j,K,bi,bj) = tmpMk1(i,j,K-1,bi,bj) - |
353 |
|
. drF(K-1)*hfacC(i,j,K-1,bi,bj) |
354 |
|
enddo |
355 |
|
do K = 1,Nr |
356 |
|
tmpMk(i,j,K,bi,bj) = |
357 |
|
. (tmpMk1(i,j,K,bi,bj) + tmpMk1(i,j,K+1,bi,bj)) /2. |
358 |
|
enddo |
359 |
|
enddo |
360 |
|
enddo |
361 |
|
ENDDO |
362 |
|
ENDDO |
363 |
|
CALL DIAGNOSTICS_FILL(tmpMk,'PRESSURE',0,Nr,0,1,1,myThid) |
364 |
|
ENDIF |
365 |
|
|
366 |
C-- fill momentum state-var diagnostics: end |
C-- fill momentum state-var diagnostics: end |
367 |
ENDIF |
ENDIF |
368 |
|
|
373 |
|
|
374 |
CALL DIAGNOSTICS_FILL(theta,'THETA ',0,Nr,0,1,1,myThid) |
CALL DIAGNOSTICS_FILL(theta,'THETA ',0,Nr,0,1,1,myThid) |
375 |
CALL DIAGNOSTICS_FILL(salt, 'SALT ',0,Nr,0,1,1,myThid) |
CALL DIAGNOSTICS_FILL(salt, 'SALT ',0,Nr,0,1,1,myThid) |
376 |
|
|
377 |
|
IF ( DIAGNOSTICS_IS_ON('SST ',myThid) ) THEN |
378 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
379 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
380 |
|
DO j = 1,sNy |
381 |
|
DO i = 1,sNx |
382 |
|
tmp1k(i,j,bi,bj) = THETA(i,j,1,bi,bj) |
383 |
|
ENDDO |
384 |
|
ENDDO |
385 |
|
ENDDO |
386 |
|
ENDDO |
387 |
|
CALL DIAGNOSTICS_FILL(tmp1k,'SST ',0,1,0,1,1,myThid) |
388 |
|
ENDIF |
389 |
|
|
390 |
|
IF ( DIAGNOSTICS_IS_ON('SSS ',myThid) ) THEN |
391 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
392 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
393 |
|
DO j = 1,sNy |
394 |
|
DO i = 1,sNx |
395 |
|
tmp1k(i,j,bi,bj) = SALT(i,j,1,bi,bj) |
396 |
|
ENDDO |
397 |
|
ENDDO |
398 |
|
ENDDO |
399 |
|
ENDDO |
400 |
|
CALL DIAGNOSTICS_FILL(tmp1k,'SSS ',0,1,0,1,1,myThid) |
401 |
|
ENDIF |
402 |
|
|
403 |
IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN |
IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN |
404 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
431 |
CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ ',0,Nr,0,1,1,myThid) |
CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ ',0,Nr,0,1,1,myThid) |
432 |
ENDIF |
ENDIF |
433 |
|
|
434 |
|
IF ( DIAGNOSTICS_IS_ON('SALTanom',myThid) ) THEN |
435 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
436 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
437 |
|
DO K=1,Nr |
438 |
|
DO j = 1,sNy |
439 |
|
DO i = 1,sNx |
440 |
|
tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)-35 |
441 |
|
ENDDO |
442 |
|
ENDDO |
443 |
|
ENDDO |
444 |
|
ENDDO |
445 |
|
ENDDO |
446 |
|
CALL DIAGNOSTICS_FILL(tmpMk,'SALTanom',0,Nr,0,1,1,myThid) |
447 |
|
ENDIF |
448 |
|
|
449 |
|
IF ( DIAGNOSTICS_IS_ON('SALTSQan',myThid) ) THEN |
450 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
451 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
452 |
|
DO K=1,Nr |
453 |
|
DO j = 1,sNy |
454 |
|
DO i = 1,sNx |
455 |
|
tmpMk(i,j,K,bi,bj) = |
456 |
|
& (salt(i,j,K,bi,bj)-35)*(salt(i,j,K,bi,bj)-35) |
457 |
|
ENDDO |
458 |
|
ENDDO |
459 |
|
ENDDO |
460 |
|
ENDDO |
461 |
|
ENDDO |
462 |
|
CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQan',0,Nr,0,1,1,myThid) |
463 |
|
ENDIF |
464 |
|
|
465 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
466 |
|
|
467 |
IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN |
IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN |