| 72 |
c ustar (imt) - surface friction velocity (m/s) |
c ustar (imt) - surface friction velocity (m/s) |
| 73 |
c bo (imt) - surface turbulent buoy. forcing (m^2/s^3) |
c bo (imt) - surface turbulent buoy. forcing (m^2/s^3) |
| 74 |
c bosol (imt) - radiative buoyancy forcing (m^2/s^3) |
c bosol (imt) - radiative buoyancy forcing (m^2/s^3) |
| 75 |
c boplume(imt) - haline buoyancy forcing (m^2/s^3) |
c boplume(imt,Nr) - haline buoyancy forcing (m^2/s^3) |
| 76 |
c dbloc (imt,Nr) - local delta buoyancy across interfaces (m/s^2) |
c dbloc (imt,Nr) - local delta buoyancy across interfaces (m/s^2) |
| 77 |
c dblocSm(imt,Nr) - horizontally smoothed dbloc (m/s^2) |
c dblocSm(imt,Nr) - horizontally smoothed dbloc (m/s^2) |
| 78 |
c stored in ghat to save space |
c stored in ghat to save space |
| 95 |
_RL bo (imt ) |
_RL bo (imt ) |
| 96 |
_RL bosol (imt ) |
_RL bosol (imt ) |
| 97 |
#ifdef ALLOW_SALT_PLUME |
#ifdef ALLOW_SALT_PLUME |
| 98 |
_RL boplume (imt ) |
_RL boplume (imt,Nr) |
| 99 |
_RL SPDepth (imt ) |
_RL SPDepth (imt ) |
| 100 |
#endif /* ALLOW_SALT_PLUME */ |
#endif /* ALLOW_SALT_PLUME */ |
| 101 |
_RL dbloc (imt,Nr) |
_RL dbloc (imt,Nr) |
| 339 |
_RL coriol (imt) |
_RL coriol (imt) |
| 340 |
integer ikppkey |
integer ikppkey |
| 341 |
#ifdef ALLOW_SALT_PLUME |
#ifdef ALLOW_SALT_PLUME |
| 342 |
_RL boplume (imt) |
_RL boplume (imt,Nr) |
| 343 |
_RL SPDepth (imt) |
_RL SPDepth (imt) |
| 344 |
#endif /* ALLOW_SALT_PLUME */ |
#endif /* ALLOW_SALT_PLUME */ |
| 345 |
|
|
| 368 |
_RL wm(imt), ws(imt) |
_RL wm(imt), ws(imt) |
| 369 |
_RL worka(imt) |
_RL worka(imt) |
| 370 |
_RL bvsq, vtsq, hekman, hmonob, hlimit, tempVar1, tempVar2 |
_RL bvsq, vtsq, hekman, hmonob, hlimit, tempVar1, tempVar2 |
| 371 |
integer i, kl |
integer i, k, kl |
| 372 |
|
|
| 373 |
_RL p5 , eins |
_RL p5 , eins |
| 374 |
parameter ( p5=0.5, eins=1.0 ) |
parameter ( p5=0.5, eins=1.0 ) |
| 446 |
worka(i) = zgrid(kl) |
worka(i) = zgrid(kl) |
| 447 |
enddo |
enddo |
| 448 |
#ifndef SALT_PLUME_VOLUME |
#ifndef SALT_PLUME_VOLUME |
| 449 |
catn: in original way: accumulate all fractions of boplume above hbl |
catn: in original way: accumulate all fractions of boplume above zgrid(kl) |
| 450 |
call SALT_PLUME_FRAC( |
call SALT_PLUME_FRAC( |
| 451 |
I imt, hbf,SPDepth, |
I imt, hbf,SPDepth, |
| 452 |
U worka, |
U worka, |
| 453 |
I myTime, myIter, myThid) |
I myTime, myIter, myThid) |
| 454 |
do i = 1, imt |
do i = 1, imt |
| 455 |
bfsfc(i) = bfsfc(i) + boplume(i)*(worka(i)) |
bfsfc(i) = bfsfc(i) + boplume(i,1)*(worka(i)) |
| 456 |
enddo |
enddo |
| 457 |
#else /* def SALT_PLUME_VOLUME */ |
#else /* def SALT_PLUME_VOLUME */ |
| 458 |
catn: in vol way: need to integrate down to hbl, so first locate |
catn: in vol way: need to integrate down to hbl, so first locate |
| 459 |
c k level associated with this hbl, then sum up all SPforc[T,S] |
c k level associated with this hbl, then sum up all SPforc[T,S] |
| 460 |
DO i = 1, imt |
DO i = 1, imt |
| 461 |
DO k = 1, Nr |
DO k = 1, kl |
| 462 |
IF (hbl.GE.abs(rF(k)) THEN |
IF (abs(worka(i)).GE.abs( zgrid(k)-hwide(k)/2.0 )) THEN |
| 463 |
bfsfc(i) = bfsfc(i) + boplume(i,k) |
bfsfc(i) = bfsfc(i) + boplume(i,k) |
| 464 |
ENDIF |
ENDIF |
| 465 |
ENDDO |
ENDDO |
| 603 |
#else /* def SALT_PLUME_VOLUME */ |
#else /* def SALT_PLUME_VOLUME */ |
| 604 |
DO i = 1, imt |
DO i = 1, imt |
| 605 |
DO k = 1, Nr |
DO k = 1, Nr |
| 606 |
IF (hbl.GE.abs(rF(k)) THEN |
IF (hbl(i).GE.abs( zgrid(k)-hwide(k)/2.0 )) THEN |
| 607 |
bfsfc(i) = bfsfc(i) + boplume(i,k) |
bfsfc(i) = bfsfc(i) + boplume(i,k) |
| 608 |
ENDIF |
ENDIF |
| 609 |
ENDDO |
ENDDO |
| 709 |
#else /* def SALT_PLUME_VOLUME */ |
#else /* def SALT_PLUME_VOLUME */ |
| 710 |
DO i = 1, imt |
DO i = 1, imt |
| 711 |
DO k = 1, Nr |
DO k = 1, Nr |
| 712 |
IF (hbl.GE.abs(rF(k)) THEN |
IF (hbl(i).GE.abs( zgrid(k)-hwide(k)/2.0 )) THEN |
| 713 |
bfsfc(i) = bfsfc(i) + boplume(i,k) |
bfsfc(i) = bfsfc(i) + boplume(i,k) |
| 714 |
ENDIF |
ENDIF |
| 715 |
ENDDO |
ENDDO |