424 |
CEOP |
CEOP |
425 |
#ifdef ALLOW_SALT_PLUME |
#ifdef ALLOW_SALT_PLUME |
426 |
_RL saltPlume |
_RL saltPlume |
427 |
|
integer two2 |
428 |
|
_RL minusone |
429 |
|
parameter (two2=2,minusone=-1.) |
430 |
|
_RL plumekb(two2) |
431 |
|
_RL SPdepth(two2) |
432 |
|
INTEGER kp1 |
433 |
#endif /* ALLOW_SALT_PLUME */ |
#endif /* ALLOW_SALT_PLUME */ |
434 |
|
|
435 |
IF ( fluidIsAir ) THEN |
IF ( fluidIsAir ) THEN |
497 |
C Duffy et al. (GRL 1999) |
C Duffy et al. (GRL 1999) |
498 |
DO j=1,sNy |
DO j=1,sNy |
499 |
DO i=1,sNx |
DO i=1,sNx |
500 |
|
C Penetrating saltplume fraction: |
501 |
|
plumekb(1)=abs(rF(klev)) |
502 |
|
plumekb(2)=abs(rF(klev+1)) |
503 |
|
SPdepth(1)=SaltPlumeDepth(i,j,bi,bj) |
504 |
|
SPdepth(2)=SaltPlumeDepth(i,j,bi,bj) |
505 |
|
CALL PLUMEFRAC( |
506 |
|
I two2,minusone,SPdepth, |
507 |
|
U plumekb, |
508 |
|
I myTime, 1, myThid ) |
509 |
|
kp1 = klev+1 |
510 |
|
IF (klev.EQ.Nr) THEN |
511 |
|
kp1 = klev |
512 |
|
plumekb(2)=0. _d 0 |
513 |
|
ENDIF |
514 |
saltPlume = 0. |
saltPlume = 0. |
515 |
#ifdef ALLOW_SEAICE |
#ifdef ALLOW_SEAICE |
516 |
IF ( saltFlux(i,j,bi,bj) .GT. 0. .AND. |
IF ( saltFlux(i,j,bi,bj) .GT. 0. .AND. |
517 |
& salt(i,j,kSurface,bi,bj) .GT. SEAICE_salinity ) THEN |
& salt(i,j,kSurface,bi,bj) .GT. SEAICE_salinity ) THEN |
518 |
saltPlume = (salt(i,j,kSurface,bi,bj)-SEAICE_salinity) * |
saltPlume = saltPlumeFlux(i,j,bi,bj) |
|
& saltFlux(i,j,bi,bj) / salt(i,j,kSurface,bi,bj) |
|
519 |
ENDIF |
ENDIF |
520 |
#endif /* ALLOW_SEAICE */ |
#endif /* ALLOW_SEAICE */ |
521 |
IF ( SaltPlumeDepth(i,j,bi,bj) .GT. -rF(kLev) ) THEN |
IF ( SaltPlumeDepth(i,j,bi,bj) .GT. -rF(kLev) ) THEN |
522 |
gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj) |
gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj) |
523 |
& +saltPlume*mass2rUnit |
& +saltPlume*(plumekb(1)*maskC(i,j,klev,bi,bj) |
524 |
|
& -plumekb(2)*maskC(i,j,kp1, bi,bj)) |
525 |
|
& *horiVertRatio*recip_rhoConst |
526 |
& *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj) |
& *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj) |
|
& *min(drF(kLev),SaltPlumeDepth(i,j,bi,bj)+rF(kLev)) |
|
|
& /SaltPlumeDepth(i,j,bi,bj) |
|
527 |
ENDIF |
ENDIF |
528 |
ENDDO |
ENDDO |
529 |
ENDDO |
ENDDO |