| 314 |
ENDDO |
ENDDO |
| 315 |
ENDDO |
ENDDO |
| 316 |
|
|
| 317 |
|
#ifdef ALLOW_DIAGNOSTICS |
| 318 |
|
IF ( useDiagnostics ) THEN |
| 319 |
|
CALL DIAGNOSTICS_FILL(fZon,'ADVx_Um ',k,1,2,bi,bj,myThid) |
| 320 |
|
CALL DIAGNOSTICS_FILL(fMer,'ADVy_Um ',k,1,2,bi,bj,myThid) |
| 321 |
|
CALL DIAGNOSTICS_FILL(fVerU(1-Olx,1-Oly,kUp), |
| 322 |
|
& 'ADVrE_Um',k,1,2,bi,bj,myThid) |
| 323 |
|
ENDIF |
| 324 |
|
#endif |
| 325 |
|
|
| 326 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
| 327 |
C-- account for 3.D divergence of the flow in rStar coordinate: |
C-- account for 3.D divergence of the flow in rStar coordinate: |
| 328 |
IF ( select_rStar.GT.0 ) THEN |
IF ( select_rStar.GT.0 ) THEN |
| 392 |
ENDDO |
ENDDO |
| 393 |
ENDDO |
ENDDO |
| 394 |
|
|
| 395 |
|
#ifdef ALLOW_DIAGNOSTICS |
| 396 |
|
IF ( useDiagnostics ) THEN |
| 397 |
|
CALL DIAGNOSTICS_FILL(fZon, 'VISCx_Um',k,1,2,bi,bj,myThid) |
| 398 |
|
CALL DIAGNOSTICS_FILL(fMer, 'VISCy_Um',k,1,2,bi,bj,myThid) |
| 399 |
|
IF (.NOT.implicitViscosity) |
| 400 |
|
& CALL DIAGNOSTICS_FILL(fVrUp,'VISrE_Um',k,1,2,bi,bj,myThid) |
| 401 |
|
ENDIF |
| 402 |
|
#endif |
| 403 |
|
|
| 404 |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
| 405 |
IF (no_slip_sides) THEN |
IF (no_slip_sides) THEN |
| 406 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
| 491 |
& +( fMer(i, j) - fMer(i,j-1) )*vDvdyFac |
& +( fMer(i, j) - fMer(i,j-1) )*vDvdyFac |
| 492 |
& +(fVerV(i,j,kDown) - fVerV(i,j,kUp))*rkSign*rVelDvdrFac |
& +(fVerV(i,j,kDown) - fVerV(i,j,kUp))*rkSign*rVelDvdrFac |
| 493 |
& ) |
& ) |
| 494 |
ENDDO |
ENDDO |
| 495 |
ENDDO |
ENDDO |
| 496 |
|
|
| 497 |
|
#ifdef ALLOW_DIAGNOSTICS |
| 498 |
|
IF ( useDiagnostics ) THEN |
| 499 |
|
CALL DIAGNOSTICS_FILL(fZon,'ADVx_Vm ',k,1,2,bi,bj,myThid) |
| 500 |
|
CALL DIAGNOSTICS_FILL(fMer,'ADVy_Vm ',k,1,2,bi,bj,myThid) |
| 501 |
|
CALL DIAGNOSTICS_FILL(fVerV(1-Olx,1-Oly,kUp), |
| 502 |
|
& 'ADVrE_Vm',k,1,2,bi,bj,myThid) |
| 503 |
|
ENDIF |
| 504 |
|
#endif |
| 505 |
|
|
| 506 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
| 507 |
C-- account for 3.D divergence of the flow in rStar coordinate: |
C-- account for 3.D divergence of the flow in rStar coordinate: |
| 571 |
ENDDO |
ENDDO |
| 572 |
ENDDO |
ENDDO |
| 573 |
|
|
| 574 |
|
#ifdef ALLOW_DIAGNOSTICS |
| 575 |
|
IF ( useDiagnostics ) THEN |
| 576 |
|
CALL DIAGNOSTICS_FILL(fZon, 'VISCx_Vm',k,1,2,bi,bj,myThid) |
| 577 |
|
CALL DIAGNOSTICS_FILL(fMer, 'VISCy_Vm',k,1,2,bi,bj,myThid) |
| 578 |
|
IF (.NOT.implicitViscosity) |
| 579 |
|
& CALL DIAGNOSTICS_FILL(fVrUp,'VISrE_Vm',k,1,2,bi,bj,myThid) |
| 580 |
|
ENDIF |
| 581 |
|
#endif |
| 582 |
|
|
| 583 |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
C-- No-slip and drag BCs appear as body forces in cell abutting topography |
| 584 |
IF (no_slip_sides) THEN |
IF (no_slip_sides) THEN |
| 585 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
| 650 |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+fuFac*cf(i,j) |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+fuFac*cf(i,j) |
| 651 |
ENDDO |
ENDDO |
| 652 |
ENDDO |
ENDDO |
| 653 |
|
#ifdef ALLOW_DIAGNOSTICS |
| 654 |
|
IF ( useDiagnostics ) |
| 655 |
|
& CALL DIAGNOSTICS_FILL(cf,'Um_Cori ',k,1,2,bi,bj,myThid) |
| 656 |
|
#endif |
| 657 |
CALL MOM_V_CORIOLIS(bi,bj,k,uFld,cf,myThid) |
CALL MOM_V_CORIOLIS(bi,bj,k,uFld,cf,myThid) |
| 658 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 659 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 660 |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+fvFac*cf(i,j) |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+fvFac*cf(i,j) |
| 661 |
ENDDO |
ENDDO |
| 662 |
ENDDO |
ENDDO |
| 663 |
|
#ifdef ALLOW_DIAGNOSTICS |
| 664 |
|
IF ( useDiagnostics ) |
| 665 |
|
& CALL DIAGNOSTICS_FILL(cf,'Vm_Cori ',k,1,2,bi,bj,myThid) |
| 666 |
|
#endif |
| 667 |
ENDIF |
ENDIF |
| 668 |
|
|
| 669 |
IF (nonHydrostatic.OR.quasiHydrostatic) THEN |
IF (nonHydrostatic.OR.quasiHydrostatic) THEN |
| 685 |
ENDDO |
ENDDO |
| 686 |
ENDDO |
ENDDO |
| 687 |
|
|
| 688 |
|
#ifdef ALLOW_DIAGNOSTICS |
| 689 |
|
IF ( useDiagnostics ) THEN |
| 690 |
|
IF (bottomDragTerms) |
| 691 |
|
& CALL DIAGNOSTICS_FILL(KE, 'momKE ',k,1,2,bi,bj,myThid) |
| 692 |
|
CALL DIAGNOSTICS_FILL(gU(1-Olx,1-Oly,k,bi,bj), |
| 693 |
|
& 'Um_Advec',k,1,2,bi,bj,myThid) |
| 694 |
|
CALL DIAGNOSTICS_FILL(gV(1-Olx,1-Oly,k,bi,bj), |
| 695 |
|
& 'Vm_Advec',k,1,2,bi,bj,myThid) |
| 696 |
|
IF (momViscosity) THEN |
| 697 |
|
CALL DIAGNOSTICS_FILL(guDiss,'Um_Diss ',k,1,2,bi,bj,myThid) |
| 698 |
|
CALL DIAGNOSTICS_FILL(gvDiss,'Vm_Diss ',k,1,2,bi,bj,myThid) |
| 699 |
|
ENDIF |
| 700 |
|
ENDIF |
| 701 |
|
#endif /* ALLOW_DIAGNOSTICS */ |
| 702 |
|
|
| 703 |
RETURN |
RETURN |
| 704 |
END |
END |