96 |
CHARACTER*8 diagName |
CHARACTER*8 diagName |
97 |
CHARACTER*4 THSICE_DIAG_SUFX, diagSufx |
CHARACTER*4 THSICE_DIAG_SUFX, diagSufx |
98 |
EXTERNAL THSICE_DIAG_SUFX |
EXTERNAL THSICE_DIAG_SUFX |
99 |
|
LOGICAL DIAGNOSTICS_IS_ON |
100 |
|
EXTERNAL DIAGNOSTICS_IS_ON |
101 |
|
_RL tmpFac |
102 |
#endif |
#endif |
103 |
#ifdef ALLOW_DBUG_THSICE |
#ifdef ALLOW_DBUG_THSICE |
104 |
_RL tmpVar, sumVar1, sumVar2 |
_RL tmpVar, sumVar1, sumVar2 |
277 |
& 'ICE_ADV: uIce=', uIce(i,j), uIce(i+1,j), |
& 'ICE_ADV: uIce=', uIce(i,j), uIce(i+1,j), |
278 |
& ' , vIce=', vIce(i,j), vIce(i,j+1) |
& ' , vIce=', vIce(i,j), vIce(i,j+1) |
279 |
WRITE(6,'(2(A,1P2E14.6))') |
WRITE(6,'(2(A,1P2E14.6))') |
280 |
c & 'ICE_ADV: heff_b,a=', HEFF(i,j,2,bi,bj),HEFF(i,j,1,bi,bj) |
& 'ICE_ADV: area_b,a=', iceMask(i,j,bi,bj), iceFrc(i,j), |
281 |
c WRITE(6,'(A,1P4E14.6)') 'ICE_ADV: mFx=', gFld(i,j) |
& ' , Heff_b,a=', oldVol(i,j)*recip_rA(i,j,bi,bj), |
282 |
|
& iceHeight(i,j,bi,bj)*iceFrc(i,j) |
283 |
ENDIF |
ENDIF |
284 |
ENDDO |
ENDDO |
285 |
ENDDO |
ENDDO |
420 |
DO j=1,sNy |
DO j=1,sNy |
421 |
DO i=1,sNx |
DO i=1,sNx |
422 |
IF ( iceFrc(i,j) .GT. 1. _d 0 ) THEN |
IF ( iceFrc(i,j) .GT. 1. _d 0 ) THEN |
423 |
|
c IF ( dBug(i,j,bi,bj) ) |
424 |
iceMask(i,j,bi,bj) = 1. _d 0 |
iceMask(i,j,bi,bj) = 1. _d 0 |
425 |
iceHeight(i,j,bi,bj) = iceHeight(i,j,bi,bj) *iceFrc(i,j) |
iceHeight(i,j,bi,bj) = iceHeight(i,j,bi,bj) *iceFrc(i,j) |
426 |
snowHeight(i,j,bi,bj) = snowHeight(i,j,bi,bj)*iceFrc(i,j) |
snowHeight(i,j,bi,bj) = snowHeight(i,j,bi,bj)*iceFrc(i,j) |
427 |
ELSEIF ( iceFrc(i,j) .LT. iceMaskMin ) THEN |
ELSEIF ( iceFrc(i,j) .LT. iceMaskMin ) THEN |
428 |
|
c IF ( dBug(i,j,bi,bj) ) |
429 |
iceMask(i,j,bi,bj) = iceMaskMin |
iceMask(i,j,bi,bj) = iceMaskMin |
430 |
iceHeight(i,j,bi,bj) = iceHeight(i,j,bi,bj) |
iceHeight(i,j,bi,bj) = iceHeight(i,j,bi,bj) |
431 |
& *iceFrc(i,j)*r_minArea |
& *iceFrc(i,j)*r_minArea |
456 |
& *( Qice1(i,j,bi,bj) |
& *( Qice1(i,j,bi,bj) |
457 |
& +Qice2(i,j,bi,bj) )*0.5 _d 0 |
& +Qice2(i,j,bi,bj) )*0.5 _d 0 |
458 |
& )*iceMask(i,j,bi,bj)/thSIce_deltaT |
& )*iceMask(i,j,bi,bj)/thSIce_deltaT |
459 |
|
c IF ( dBug(i,j,bi,bj) ) |
460 |
C- - |
C- - |
461 |
c flx2oc (i,j) = flx2oc (i,j) + |
c flx2oc (i,j) = flx2oc (i,j) + |
462 |
c frw2oc (i,j) = frw2oc (i,j) + |
c frw2oc (i,j) = frw2oc (i,j) + |
499 |
C--- end if multiDimAdvection |
C--- end if multiDimAdvection |
500 |
ENDIF |
ENDIF |
501 |
|
|
502 |
|
#ifdef ALLOW_DIAGNOSTICS |
503 |
|
IF ( useDiagnostics ) THEN |
504 |
|
CALL DIAGNOSTICS_FILL(iceMask,'SI_AdvFr',0,1,1,bi,bj,myThid) |
505 |
|
C- Ice-fraction weighted quantities: |
506 |
|
tmpFac = 1. _d 0 |
507 |
|
CALL DIAGNOSTICS_FRACT_FILL( |
508 |
|
I iceHeight, iceMask,tmpFac,1,'SI_AdvHi', |
509 |
|
I 0,1,1,bi,bj,myThid) |
510 |
|
CALL DIAGNOSTICS_FRACT_FILL( |
511 |
|
I snowHeight,iceMask,tmpFac,1,'SI_AdvHs', |
512 |
|
I 0,1,1,bi,bj,myThid) |
513 |
|
C- Ice-Volume weighted quantities: |
514 |
|
IF ( DIAGNOSTICS_IS_ON('SI_AdvQ1',myThid) .OR. |
515 |
|
& DIAGNOSTICS_IS_ON('SI_AdvQ2',myThid) ) THEN |
516 |
|
DO j=1,sNy |
517 |
|
DO i=1,sNx |
518 |
|
iceVol(i,j) = iceMask(i,j,bi,bj)*iceHeight(i,j,bi,bj) |
519 |
|
ENDDO |
520 |
|
ENDDO |
521 |
|
CALL DIAGNOSTICS_FRACT_FILL( |
522 |
|
I Qice1(1-OLx,1-OLy,bi,bj), |
523 |
|
I iceVol,tmpFac,1,'SI_AdvQ1', |
524 |
|
I 0,1,2,bi,bj,myThid) |
525 |
|
CALL DIAGNOSTICS_FRACT_FILL( |
526 |
|
I Qice2(1-OLx,1-OLy,bi,bj), |
527 |
|
I iceVol,tmpFac,1,'SI_AdvQ2', |
528 |
|
I 0,1,2,bi,bj,myThid) |
529 |
|
ENDIF |
530 |
|
ENDIF |
531 |
|
#endif /* ALLOW_DIAGNOSTICS */ |
532 |
|
|
533 |
#endif /* ALLOW_THSICE */ |
#endif /* ALLOW_THSICE */ |
534 |
|
|
535 |
RETURN |
RETURN |