| 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 |