343 |
#endif |
#endif |
344 |
cph) |
cph) |
345 |
|
|
|
c------------------------------------------------------------------------ |
|
|
c friction velocity, turbulent and radiative surface buoyancy forcing |
|
|
c ------------------------------------------------------------------- |
|
|
c taux / rho = surfaceForcingU (N/m^2) |
|
|
c tauy / rho = surfaceForcingV (N/m^2) |
|
|
c ustar = sqrt( sqrt( taux^2 + tauy^2 ) / rho ) (m/s) |
|
|
c bo = - g * ( alpha*surfaceForcingT + |
|
|
c beta *surfaceForcingS ) / rho (m^2/s^3) |
|
|
c bosol = - g * alpha * Qsw * drF(1) / rho (m^2/s^3) |
|
|
c------------------------------------------------------------------------ |
|
|
|
|
|
c initialize arrays to zero |
|
|
DO j = 1-OLy, sNy+OLy |
|
|
DO i = 1-OLx, sNx+OLx |
|
|
ustar(i,j) = p0 |
|
|
bo (I,J) = p0 |
|
|
bosol(I,J) = p0 |
|
|
END DO |
|
|
END DO |
|
|
|
|
|
DO j = jmin, jmax |
|
|
jp1 = j + 1 |
|
|
DO i = imin, imax |
|
|
ip1 = i+1 |
|
|
work3(i,j) = |
|
|
& (surfaceForcingU(i,j,bi,bj) + surfaceForcingU(ip1,j,bi,bj)) * |
|
|
& (surfaceForcingU(i,j,bi,bj) + surfaceForcingU(ip1,j,bi,bj)) + |
|
|
& (surfaceForcingV(i,j,bi,bj) + surfaceForcingV(i,jp1,bi,bj)) * |
|
|
& (surfaceForcingV(i,j,bi,bj) + surfaceForcingV(i,jp1,bi,bj)) |
|
|
END DO |
|
|
END DO |
|
|
cph( |
|
|
CADJ store work3 = comlev1_kpp, key = ikppkey |
|
|
cph) |
|
|
DO j = jmin, jmax |
|
|
jp1 = j + 1 |
|
|
DO i = imin, imax |
|
|
ip1 = i+1 |
|
|
|
|
|
if ( work3(i,j) .lt. (phepsi*phepsi*drF(1)*drF(1)) ) then |
|
|
ustar(i,j) = SQRT( phepsi * p5 * drF(1) ) |
|
|
else |
|
|
tempVar2 = SQRT( work3(i,j) ) * p5 |
|
|
ustar(i,j) = SQRT( tempVar2 ) |
|
|
endif |
|
|
|
|
|
END DO |
|
|
END DO |
|
|
|
|
346 |
CML#ifdef ALLOW_SHELFICE |
CML#ifdef ALLOW_SHELFICE |
347 |
CMLC For the pbl parameterisation to work underneath the ice shelves |
CMLC For the pbl parameterisation to work underneath the ice shelves |
348 |
CMLC it needs to know the surface (ice-ocean) fluxes. However, masking |
CMLC it needs to know the surface (ice-ocean) fluxes. However, masking |
349 |
CMLC and indexing problems make this part of the code not work |
CMLC and indexing problems make this part of the code not work |
350 |
CMLC underneath the ice shelves and the following lines are only here |
CMLC underneath the ice shelves and the following lines are only here |
351 |
CMLC to remind me that this still needs to be sorted out. |
CMLC to remind me that this still needs to be sorted out. |
352 |
CML IF ( useShelfIce ) THEN |
CML shelfIceFac = 0. _d 0 |
353 |
|
CML IF ( useShelfIce ) selfIceFac = 1. _d 0 |
354 |
CML DO j = jmin, jmax |
CML DO j = jmin, jmax |
|
CML jp1 = j + 1 |
|
355 |
CML DO i = imin, imax |
CML DO i = imin, imax |
356 |
CML ip1 = i+1 |
CML surfForcT = surfaceForcingT(i,j,bi,bj) |
357 |
CML k = kTopC(I,J,bi,bj) |
CML & + shelficeForcingT(i,j,bi,bj) * shelfIceFac |
358 |
CML bo(I,J) = - gravity * |
CML surfForcS = surfaceForcingS(i,j,bi,bj) |
359 |
CML & ( TTALPHA(I,J,K) * ( maskC(I,J,1,bi,bj) |
CML & + shelficeForcingS(i,j,bi,bj) * shelfIceFac |
|
CML & * ( surfaceForcingT(i,j,bi,bj) |
|
|
CML & + surfaceForcingTice(i,j,bi,bj) ) |
|
|
CML & + shelficeForcingT(i,j,bi,bj) ) |
|
|
CML & + SSBETA(I,J,K) * ( maskC(I,J,1,bi,bj) |
|
|
CML & * surfaceForcingS(i,j,bi,bj) |
|
|
CML & + shelficeForcingS(i,j,bi,bj) ) ) |
|
|
CML & / work2(I,J) |
|
|
CML |
|
|
CML bosol(I,J) = gravity * TTALPHA(I,J,1) * Qsw(i,j,bi,bj) |
|
|
CML & * maskC(I,J,1,bi,bj) * recip_Cp*recip_rhoConst |
|
|
CML & / work2(I,J) |
|
|
CML |
|
360 |
CML END DO |
CML END DO |
361 |
CML END DO |
CML END DO |
|
CML ELSE |
|
|
CML#endif /* ALLOW_SHELFICE */ |
|
|
DO j = jmin, jmax |
|
|
jp1 = j + 1 |
|
|
DO i = imin, imax |
|
|
ip1 = i+1 |
|
|
|
|
|
bo(I,J) = - gravity * |
|
|
& ( TTALPHA(I,J,1) * (surfaceForcingT(i,j,bi,bj)+ |
|
|
& surfaceForcingTice(i,j,bi,bj)) + |
|
|
& SSBETA(I,J,1) * surfaceForcingS(i,j,bi,bj) ) |
|
|
& / work2(I,J) |
|
|
|
|
|
bosol(I,J) = gravity * TTALPHA(I,J,1) * Qsw(i,j,bi,bj) * |
|
|
& recip_Cp*recip_rhoConst |
|
|
& / work2(I,J) |
|
|
|
|
|
END DO |
|
|
END DO |
|
|
CML#ifdef ALLOW_SHELFICE |
|
|
CML ENDIF |
|
362 |
CML#endif /* ALLOW_SHELFICE */ |
CML#endif /* ALLOW_SHELFICE */ |
|
|
|
|
cph( |
|
|
CADJ store ustar = comlev1_kpp, key = ikppkey |
|
|
cph) |
|
363 |
|
|
364 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
365 |
|
c friction velocity, turbulent and radiative surface buoyancy forcing |
366 |
|
c ------------------------------------------------------------------- |
367 |
|
c taux / rho = surfaceForcingU (N/m^2) |
368 |
|
c tauy / rho = surfaceForcingV (N/m^2) |
369 |
|
c ustar = sqrt( sqrt( taux^2 + tauy^2 ) / rho ) (m/s) |
370 |
|
c bo = - g * ( alpha*surfaceForcingT + |
371 |
|
c beta *surfaceForcingS ) / rho (m^2/s^3) |
372 |
|
c bosol = - g * alpha * Qsw * drF(1) / rho (m^2/s^3) |
373 |
|
c------------------------------------------------------------------------ |
374 |
c velocity shear |
c velocity shear |
375 |
c -------------- |
c -------------- |
376 |
c Get velocity shear squared, averaged from "u,v-grid" |
c Get velocity shear squared, averaged from "u,v-grid" |
377 |
c onto "t-grid" (in (m/s)**2): |
c onto "t-grid" (in (m/s)**2): |
378 |
c dVsq(k)=(Uref-U(k))**2+(Vref-V(k))**2 at grid levels |
c dVsq(k)=(Uref-U(k))**2+(Vref-V(k))**2 at grid levels |
379 |
c shsq(k)=(U(k)-U(k+1))**2+(V(k)-V(k+1))**2 at interfaces |
c shsq(k)=(U(k)-U(k+1))**2+(V(k)-V(k+1))**2 at interfaces |
380 |
|
c |
381 |
|
c note: Vref can depend on the surface fluxes that is why we compute |
382 |
|
c dVsq in the subroutine that does the surface related stuff |
383 |
|
c (admittedly this is a bit messy) |
384 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
385 |
|
|
386 |
|
CALL KPP_FORCING_SURF( |
387 |
|
I work2, surfaceForcingU, surfaceForcingV, |
388 |
|
I surfaceForcingT, surfaceForcingS, surfaceForcingTice, |
389 |
|
I Qsw, ttalpha, ssbeta, |
390 |
|
O ustar, bo, bosol, dVsq, |
391 |
|
I ikppkey, iMin, iMax, jMin, jMax, bi, bj, myTime, myThid ) |
392 |
|
|
393 |
|
CMLcph( |
394 |
|
CMLCADJ store ustar = comlev1_kpp, key = ikppkey |
395 |
|
CMLcph) |
396 |
|
|
397 |
c initialize arrays to zero |
c initialize arrays to zero |
398 |
DO k = 1, Nr |
DO k = 1, Nr |
399 |
DO j = 1-OLy, sNy+OLy |
DO j = 1-OLy, sNy+OLy |
400 |
DO i = 1-OLx, sNx+OLx |
DO i = 1-OLx, sNx+OLx |
401 |
shsq(i,j,k) = p0 |
shsq(i,j,k) = p0 |
402 |
dVsq(i,j,k) = p0 |
END DO |
403 |
END DO |
END DO |
|
END DO |
|
|
END DO |
|
|
|
|
|
c dVsq computation |
|
|
|
|
|
#ifdef KPP_ESTIMATE_UREF |
|
|
|
|
|
c Get rid of vertical resolution dependence of dVsq term by |
|
|
c estimating a surface velocity that is independent of first level |
|
|
c thickness in the model. First determine mixed layer depth hMix. |
|
|
c Second zRef = espilon * hMix. Third determine roughness length |
|
|
c scale z0. Third estimate reference velocity. |
|
|
|
|
|
DO j = jmin, jmax |
|
|
jp1 = j + 1 |
|
|
DO i = imin, imax |
|
|
ip1 = i + 1 |
|
|
|
|
|
c Determine mixed layer depth hMix as the shallowest depth at which |
|
|
c dB/dz exceeds 5.2e-5 s^-2. |
|
|
work1(i,j) = nzmax(i,j,bi,bj) |
|
|
DO k = 1, Nr |
|
|
IF ( k .LT. nzmax(i,j,bi,bj) .AND. |
|
|
& maskC(I,J,k,bi,bj) .GT. 0. .AND. |
|
|
& dbloc(i,j,k) / drC(k+1) .GT. dB_dz ) |
|
|
& work1(i,j) = k |
|
|
END DO |
|
|
|
|
|
c Linearly interpolate to find hMix. |
|
|
k = work1(i,j) |
|
|
IF ( k .EQ. 0 .OR. nzmax(i,j,bi,bj) .EQ. 1 ) THEN |
|
|
zRef(i,j) = p0 |
|
|
ELSEIF ( k .EQ. 1) THEN |
|
|
dBdz2 = dbloc(i,j,1) / drC(2) |
|
|
zRef(i,j) = drF(1) * dB_dz / dBdz2 |
|
|
ELSEIF ( k .LT. nzmax(i,j,bi,bj) ) THEN |
|
|
dBdz1 = dbloc(i,j,k-1) / drC(k ) |
|
|
dBdz2 = dbloc(i,j,k ) / drC(k+1) |
|
|
zRef(i,j) = rF(k) + drF(k) * (dB_dz - dBdz1) / |
|
|
& MAX ( phepsi, dBdz2 - dBdz1 ) |
|
|
ELSE |
|
|
zRef(i,j) = rF(k+1) |
|
|
ENDIF |
|
|
|
|
|
c Compute roughness length scale z0 subject to 0 < z0 |
|
|
tempVar1 = p5 * ( |
|
|
& (uVel(i, j, 1,bi,bj)-uVel(i, j, 2,bi,bj)) * |
|
|
& (uVel(i, j, 1,bi,bj)-uVel(i, j, 2,bi,bj)) + |
|
|
& (uVel(ip1,j, 1,bi,bj)-uVel(ip1,j, 2,bi,bj)) * |
|
|
& (uVel(ip1,j, 1,bi,bj)-uVel(ip1,j, 2,bi,bj)) + |
|
|
& (vVel(i, j, 1,bi,bj)-vVel(i, j, 2,bi,bj)) * |
|
|
& (vVel(i, j, 1,bi,bj)-vVel(i, j, 2,bi,bj)) + |
|
|
& (vVel(i, jp1,1,bi,bj)-vVel(i, jp1,2,bi,bj)) * |
|
|
& (vVel(i, jp1,1,bi,bj)-vVel(i, jp1,2,bi,bj)) ) |
|
|
if ( tempVar1 .lt. (epsln*epsln) ) then |
|
|
tempVar2 = epsln |
|
|
else |
|
|
tempVar2 = SQRT ( tempVar1 ) |
|
|
endif |
|
|
z0(i,j) = rF(2) * |
|
|
& ( rF(3) * LOG ( rF(3) / rF(2) ) / |
|
|
& ( rF(3) - rF(2) ) - |
|
|
& tempVar2 * vonK / |
|
|
& MAX ( ustar(i,j), phepsi ) ) |
|
|
z0(i,j) = MAX ( z0(i,j), phepsi ) |
|
|
|
|
|
c zRef is set to 0.1 * hMix subject to z0 <= zRef <= drF(1) |
|
|
zRef(i,j) = MAX ( epsilon * zRef(i,j), z0(i,j) ) |
|
|
zRef(i,j) = MIN ( zRef(i,j), drF(1) ) |
|
|
|
|
|
c Estimate reference velocity uRef and vRef. |
|
|
uRef(i,j) = p5 * |
|
|
& ( uVel(i,j,1,bi,bj) + uVel(ip1,j,1,bi,bj) ) |
|
|
vRef(i,j) = p5 * |
|
|
& ( vVel(i,j,1,bi,bj) + vVel(i,jp1,1,bi,bj) ) |
|
|
IF ( zRef(i,j) .LT. drF(1) ) THEN |
|
|
ustarX = ( surfaceForcingU(i, j,bi,bj) + |
|
|
& surfaceForcingU(ip1,j,bi,bj) ) * p5 |
|
|
& *recip_drF(1) |
|
|
ustarY = ( surfaceForcingV(i,j, bi,bj) + |
|
|
& surfaceForcingV(i,jp1,bi,bj) ) * p5 |
|
|
& *recip_drF(1) |
|
|
tempVar1 = ustarX * ustarX + ustarY * ustarY |
|
|
if ( tempVar1 .lt. (epsln*epsln) ) then |
|
|
tempVar2 = epsln |
|
|
else |
|
|
tempVar2 = SQRT ( tempVar1 ) |
|
|
endif |
|
|
tempVar2 = ustar(i,j) * |
|
|
& ( LOG ( zRef(i,j) / rF(2) ) + |
|
|
& z0(i,j) / zRef(i,j) - z0(i,j) / rF(2) ) / |
|
|
& vonK / tempVar2 |
|
|
uRef(i,j) = uRef(i,j) + ustarX * tempVar2 |
|
|
vRef(i,j) = vRef(i,j) + ustarY * tempVar2 |
|
|
ENDIF |
|
|
|
|
|
END DO |
|
|
END DO |
|
|
|
|
|
DO k = 1, Nr |
|
|
DO j = jmin, jmax |
|
|
jm1 = j - 1 |
|
|
jp1 = j + 1 |
|
|
DO i = imin, imax |
|
|
im1 = i - 1 |
|
|
ip1 = i + 1 |
|
|
dVsq(i,j,k) = p5 * ( |
|
|
$ (uRef(i,j) - uVel(i, j, k,bi,bj)) * |
|
|
$ (uRef(i,j) - uVel(i, j, k,bi,bj)) + |
|
|
$ (uRef(i,j) - uVel(ip1,j, k,bi,bj)) * |
|
|
$ (uRef(i,j) - uVel(ip1,j, k,bi,bj)) + |
|
|
$ (vRef(i,j) - vVel(i, j, k,bi,bj)) * |
|
|
$ (vRef(i,j) - vVel(i, j, k,bi,bj)) + |
|
|
$ (vRef(i,j) - vVel(i, jp1,k,bi,bj)) * |
|
|
$ (vRef(i,j) - vVel(i, jp1,k,bi,bj)) ) |
|
|
#ifdef KPP_SMOOTH_DVSQ |
|
|
dVsq(i,j,k) = p5 * dVsq(i,j,k) + p125 * ( |
|
|
$ (uRef(i,j) - uVel(i, jm1,k,bi,bj)) * |
|
|
$ (uRef(i,j) - uVel(i, jm1,k,bi,bj)) + |
|
|
$ (uRef(i,j) - uVel(ip1,jm1,k,bi,bj)) * |
|
|
$ (uRef(i,j) - uVel(ip1,jm1,k,bi,bj)) + |
|
|
$ (uRef(i,j) - uVel(i, jp1,k,bi,bj)) * |
|
|
$ (uRef(i,j) - uVel(i, jp1,k,bi,bj)) + |
|
|
$ (uRef(i,j) - uVel(ip1,jp1,k,bi,bj)) * |
|
|
$ (uRef(i,j) - uVel(ip1,jp1,k,bi,bj)) + |
|
|
$ (vRef(i,j) - vVel(im1,j, k,bi,bj)) * |
|
|
$ (vRef(i,j) - vVel(im1,j, k,bi,bj)) + |
|
|
$ (vRef(i,j) - vVel(im1,jp1,k,bi,bj)) * |
|
|
$ (vRef(i,j) - vVel(im1,jp1,k,bi,bj)) + |
|
|
$ (vRef(i,j) - vVel(ip1,j, k,bi,bj)) * |
|
|
$ (vRef(i,j) - vVel(ip1,j, k,bi,bj)) + |
|
|
$ (vRef(i,j) - vVel(ip1,jp1,k,bi,bj)) * |
|
|
$ (vRef(i,j) - vVel(ip1,jp1,k,bi,bj)) ) |
|
|
#endif /* KPP_SMOOTH_DVSQ */ |
|
|
END DO |
|
|
END DO |
|
|
END DO |
|
|
|
|
|
#else /* KPP_ESTIMATE_UREF */ |
|
|
|
|
|
DO k = 1, Nr |
|
|
DO j = jmin, jmax |
|
|
jm1 = j - 1 |
|
|
jp1 = j + 1 |
|
|
DO i = imin, imax |
|
|
im1 = i - 1 |
|
|
ip1 = i + 1 |
|
|
dVsq(i,j,k) = p5 * ( |
|
|
$ (uVel(i, j, 1,bi,bj)-uVel(i, j, k,bi,bj)) * |
|
|
$ (uVel(i, j, 1,bi,bj)-uVel(i, j, k,bi,bj)) + |
|
|
$ (uVel(ip1,j, 1,bi,bj)-uVel(ip1,j, k,bi,bj)) * |
|
|
$ (uVel(ip1,j, 1,bi,bj)-uVel(ip1,j, k,bi,bj)) + |
|
|
$ (vVel(i, j, 1,bi,bj)-vVel(i, j, k,bi,bj)) * |
|
|
$ (vVel(i, j, 1,bi,bj)-vVel(i, j, k,bi,bj)) + |
|
|
$ (vVel(i, jp1,1,bi,bj)-vVel(i, jp1,k,bi,bj)) * |
|
|
$ (vVel(i, jp1,1,bi,bj)-vVel(i, jp1,k,bi,bj)) ) |
|
|
#ifdef KPP_SMOOTH_DVSQ |
|
|
dVsq(i,j,k) = p5 * dVsq(i,j,k) + p125 * ( |
|
|
$ (uVel(i, jm1,1,bi,bj)-uVel(i, jm1,k,bi,bj)) * |
|
|
$ (uVel(i, jm1,1,bi,bj)-uVel(i, jm1,k,bi,bj)) + |
|
|
$ (uVel(ip1,jm1,1,bi,bj)-uVel(ip1,jm1,k,bi,bj)) * |
|
|
$ (uVel(ip1,jm1,1,bi,bj)-uVel(ip1,jm1,k,bi,bj)) + |
|
|
$ (uVel(i, jp1,1,bi,bj)-uVel(i, jp1,k,bi,bj)) * |
|
|
$ (uVel(i, jp1,1,bi,bj)-uVel(i, jp1,k,bi,bj)) + |
|
|
$ (uVel(ip1,jp1,1,bi,bj)-uVel(ip1,jp1,k,bi,bj)) * |
|
|
$ (uVel(ip1,jp1,1,bi,bj)-uVel(ip1,jp1,k,bi,bj)) + |
|
|
$ (vVel(im1,j, 1,bi,bj)-vVel(im1,j, k,bi,bj)) * |
|
|
$ (vVel(im1,j, 1,bi,bj)-vVel(im1,j, k,bi,bj)) + |
|
|
$ (vVel(im1,jp1,1,bi,bj)-vVel(im1,jp1,k,bi,bj)) * |
|
|
$ (vVel(im1,jp1,1,bi,bj)-vVel(im1,jp1,k,bi,bj)) + |
|
|
$ (vVel(ip1,j, 1,bi,bj)-vVel(ip1,j, k,bi,bj)) * |
|
|
$ (vVel(ip1,j, 1,bi,bj)-vVel(ip1,j, k,bi,bj)) + |
|
|
$ (vVel(ip1,jp1,1,bi,bj)-vVel(ip1,jp1,k,bi,bj)) * |
|
|
$ (vVel(ip1,jp1,1,bi,bj)-vVel(ip1,jp1,k,bi,bj)) ) |
|
|
#endif /* KPP_SMOOTH_DVSQ */ |
|
|
END DO |
|
|
END DO |
|
404 |
END DO |
END DO |
405 |
|
|
|
#endif /* KPP_ESTIMATE_UREF */ |
|
|
|
|
406 |
c shsq computation |
c shsq computation |
407 |
DO k = 1, Nrm1 |
DO k = 1, Nrm1 |
408 |
kp1 = k + 1 |
kp1 = k + 1 |
409 |
DO j = jmin, jmax |
DO j = jmin, jmax |
410 |
jm1 = j - 1 |
jm1 = j - 1 |
411 |
jp1 = j + 1 |
jp1 = j + 1 |
412 |
DO i = imin, imax |
DO i = imin, imax |
413 |
im1 = i - 1 |
im1 = i - 1 |
414 |
ip1 = i + 1 |
ip1 = i + 1 |
415 |
shsq(i,j,k) = p5 * ( |
shsq(i,j,k) = p5 * ( |
416 |
$ (uVel(i, j, k,bi,bj)-uVel(i, j, kp1,bi,bj)) * |
$ (uVel(i, j, k,bi,bj)-uVel(i, j, kp1,bi,bj)) * |
417 |
$ (uVel(i, j, k,bi,bj)-uVel(i, j, kp1,bi,bj)) + |
$ (uVel(i, j, k,bi,bj)-uVel(i, j, kp1,bi,bj)) + |
418 |
$ (uVel(ip1,j, k,bi,bj)-uVel(ip1,j, kp1,bi,bj)) * |
$ (uVel(ip1,j, k,bi,bj)-uVel(ip1,j, kp1,bi,bj)) * |
419 |
$ (uVel(ip1,j, k,bi,bj)-uVel(ip1,j, kp1,bi,bj)) + |
$ (uVel(ip1,j, k,bi,bj)-uVel(ip1,j, kp1,bi,bj)) + |
420 |
$ (vVel(i, j, k,bi,bj)-vVel(i, j, kp1,bi,bj)) * |
$ (vVel(i, j, k,bi,bj)-vVel(i, j, kp1,bi,bj)) * |
421 |
$ (vVel(i, j, k,bi,bj)-vVel(i, j, kp1,bi,bj)) + |
$ (vVel(i, j, k,bi,bj)-vVel(i, j, kp1,bi,bj)) + |
422 |
$ (vVel(i, jp1,k,bi,bj)-vVel(i, jp1,kp1,bi,bj)) * |
$ (vVel(i, jp1,k,bi,bj)-vVel(i, jp1,kp1,bi,bj)) * |
423 |
$ (vVel(i, jp1,k,bi,bj)-vVel(i, jp1,kp1,bi,bj)) ) |
$ (vVel(i, jp1,k,bi,bj)-vVel(i, jp1,kp1,bi,bj)) ) |
424 |
#ifdef KPP_SMOOTH_SHSQ |
#ifdef KPP_SMOOTH_SHSQ |
425 |
shsq(i,j,k) = p5 * shsq(i,j,k) + p125 * ( |
shsq(i,j,k) = p5 * shsq(i,j,k) + p125 * ( |
426 |
$ (uVel(i, jm1,k,bi,bj)-uVel(i, jm1,kp1,bi,bj)) * |
$ (uVel(i, jm1,k,bi,bj)-uVel(i, jm1,kp1,bi,bj)) * |
427 |
$ (uVel(i, jm1,k,bi,bj)-uVel(i, jm1,kp1,bi,bj)) + |
$ (uVel(i, jm1,k,bi,bj)-uVel(i, jm1,kp1,bi,bj)) + |
428 |
$ (uVel(ip1,jm1,k,bi,bj)-uVel(ip1,jm1,kp1,bi,bj)) * |
$ (uVel(ip1,jm1,k,bi,bj)-uVel(ip1,jm1,kp1,bi,bj)) * |
429 |
$ (uVel(ip1,jm1,k,bi,bj)-uVel(ip1,jm1,kp1,bi,bj)) + |
$ (uVel(ip1,jm1,k,bi,bj)-uVel(ip1,jm1,kp1,bi,bj)) + |
430 |
$ (uVel(i, jp1,k,bi,bj)-uVel(i, jp1,kp1,bi,bj)) * |
$ (uVel(i, jp1,k,bi,bj)-uVel(i, jp1,kp1,bi,bj)) * |
431 |
$ (uVel(i, jp1,k,bi,bj)-uVel(i, jp1,kp1,bi,bj)) + |
$ (uVel(i, jp1,k,bi,bj)-uVel(i, jp1,kp1,bi,bj)) + |
432 |
$ (uVel(ip1,jp1,k,bi,bj)-uVel(ip1,jp1,kp1,bi,bj)) * |
$ (uVel(ip1,jp1,k,bi,bj)-uVel(ip1,jp1,kp1,bi,bj)) * |
433 |
$ (uVel(ip1,jp1,k,bi,bj)-uVel(ip1,jp1,kp1,bi,bj)) + |
$ (uVel(ip1,jp1,k,bi,bj)-uVel(ip1,jp1,kp1,bi,bj)) + |
434 |
$ (vVel(im1,j, k,bi,bj)-vVel(im1,j, kp1,bi,bj)) * |
$ (vVel(im1,j, k,bi,bj)-vVel(im1,j, kp1,bi,bj)) * |
435 |
$ (vVel(im1,j, k,bi,bj)-vVel(im1,j, kp1,bi,bj)) + |
$ (vVel(im1,j, k,bi,bj)-vVel(im1,j, kp1,bi,bj)) + |
436 |
$ (vVel(im1,jp1,k,bi,bj)-vVel(im1,jp1,kp1,bi,bj)) * |
$ (vVel(im1,jp1,k,bi,bj)-vVel(im1,jp1,kp1,bi,bj)) * |
437 |
$ (vVel(im1,jp1,k,bi,bj)-vVel(im1,jp1,kp1,bi,bj)) + |
$ (vVel(im1,jp1,k,bi,bj)-vVel(im1,jp1,kp1,bi,bj)) + |
438 |
$ (vVel(ip1,j, k,bi,bj)-vVel(ip1,j, kp1,bi,bj)) * |
$ (vVel(ip1,j, k,bi,bj)-vVel(ip1,j, kp1,bi,bj)) * |
439 |
$ (vVel(ip1,j, k,bi,bj)-vVel(ip1,j, kp1,bi,bj)) + |
$ (vVel(ip1,j, k,bi,bj)-vVel(ip1,j, kp1,bi,bj)) + |
440 |
$ (vVel(ip1,jp1,k,bi,bj)-vVel(ip1,jp1,kp1,bi,bj)) * |
$ (vVel(ip1,jp1,k,bi,bj)-vVel(ip1,jp1,kp1,bi,bj)) * |
441 |
$ (vVel(ip1,jp1,k,bi,bj)-vVel(ip1,jp1,kp1,bi,bj)) ) |
$ (vVel(ip1,jp1,k,bi,bj)-vVel(ip1,jp1,kp1,bi,bj)) ) |
442 |
#endif |
#endif |
443 |
END DO |
END DO |
444 |
END DO |
END DO |
445 |
END DO |
END DO |
446 |
|
|
447 |
cph( |
cph( |