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 |