| 128 |
C mtFacMom - Metric term |
C mtFacMom - Metric term |
| 129 |
C uDudxFac, AhDudxFac, etc ... individual term parameters for switching terms off |
C uDudxFac, AhDudxFac, etc ... individual term parameters for switching terms off |
| 130 |
_RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
| 131 |
|
_RS h0FacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
| 132 |
_RS r_hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS r_hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
| 133 |
_RS xA(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS xA(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
| 134 |
_RS yA(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RS yA(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
| 258 |
ENDIF |
ENDIF |
| 259 |
|
|
| 260 |
C-- Calculate open water fraction at vorticity points |
C-- Calculate open water fraction at vorticity points |
| 261 |
CALL MOM_CALC_HFACZ(bi,bj,k,hFacZ,r_hFacZ,myThid) |
CALL MOM_CALC_HFACZ( bi,bj,k,hFacZ,r_hFacZ,myThid ) |
| 262 |
|
|
| 263 |
C---- Calculate common quantities used in both U and V equations |
C---- Calculate common quantities used in both U and V equations |
| 264 |
C Calculate tracer cell face open areas |
C Calculate tracer cell face open areas |
| 268 |
& *drF(k)*_hFacW(i,j,k,bi,bj) |
& *drF(k)*_hFacW(i,j,k,bi,bj) |
| 269 |
yA(i,j) = _dxG(i,j,bi,bj)*deepFacC(k) |
yA(i,j) = _dxG(i,j,bi,bj)*deepFacC(k) |
| 270 |
& *drF(k)*_hFacS(i,j,k,bi,bj) |
& *drF(k)*_hFacS(i,j,k,bi,bj) |
| 271 |
|
h0FacZ(i,j) = hFacZ(i,j) |
| 272 |
ENDDO |
ENDDO |
| 273 |
ENDDO |
ENDDO |
| 274 |
|
#ifdef NONLIN_FRSURF |
| 275 |
|
IF ( momViscosity .AND. no_slip_sides |
| 276 |
|
& .AND. nonlinFreeSurf.GT.0 ) THEN |
| 277 |
|
DO j=2-OLy,sNy+OLy |
| 278 |
|
DO i=2-OLx,sNx+OLx |
| 279 |
|
h0FacZ(i,j) = MIN( |
| 280 |
|
& MIN( h0FacW(i,j,k,bi,bj), h0FacW(i,j-1,k,bi,bj) ), |
| 281 |
|
& MIN( h0FacS(i,j,k,bi,bj), h0FacS(i-1,j,k,bi,bj) ) ) |
| 282 |
|
ENDDO |
| 283 |
|
ENDDO |
| 284 |
|
ENDIF |
| 285 |
|
#endif /* NONLIN_FRSURF */ |
| 286 |
|
|
| 287 |
C Make local copies of horizontal flow field |
C Make local copies of horizontal flow field |
| 288 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
| 301 |
ENDDO |
ENDDO |
| 302 |
ENDDO |
ENDDO |
| 303 |
|
|
| 304 |
CALL MOM_CALC_KE(bi,bj,k,2,uFld,vFld,KE,myThid) |
CALL MOM_CALC_KE( bi,bj,k,2,uFld,vFld,KE,myThid ) |
| 305 |
IF ( momViscosity) THEN |
IF ( momViscosity ) THEN |
| 306 |
CALL MOM_CALC_HDIV(bi,bj,k,2,uFld,vFld,hDiv,myThid) |
CALL MOM_CALC_HDIV( bi,bj,k,2,uFld,vFld,hDiv,myThid ) |
| 307 |
CALL MOM_CALC_RELVORT3(bi,bj,k,uFld,vFld,hFacZ,vort3,myThid) |
CALL MOM_CALC_RELVORT3( bi,bj,k,uFld,vFld,hFacZ,vort3,myThid ) |
| 308 |
CALL MOM_CALC_TENSION(bi,bj,k,uFld,vFld,tension,myThid) |
CALL MOM_CALC_TENSION( bi,bj,k,uFld,vFld,tension,myThid ) |
| 309 |
CALL MOM_CALC_STRAIN(bi,bj,k,uFld,vFld,hFacZ,strain,myThid) |
CALL MOM_CALC_STRAIN( bi,bj,k,uFld,vFld,hFacZ,strain,myThid ) |
| 310 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
| 311 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
| 312 |
IF ( hFacZ(i,j).EQ.0. ) THEN |
IF ( hFacZ(i,j).EQ.0. ) THEN |
| 352 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
| 353 |
CALL MOM_CALC_RTRANS( k, bi, bj, |
CALL MOM_CALC_RTRANS( k, bi, bj, |
| 354 |
O rTransU, rTransV, |
O rTransU, rTransV, |
| 355 |
I myTime, myIter, myThid) |
I myTime, myIter, myThid ) |
| 356 |
|
|
| 357 |
C- Free surface correction term (flux at k=1) |
C- Free surface correction term (flux at k=1) |
| 358 |
CALL MOM_U_ADV_WU( bi,bj,k,uVel,wVel,rTransU, |
CALL MOM_U_ADV_WU( bi,bj,k,uVel,wVel,rTransU, |
| 368 |
IF (momAdvection) THEN |
IF (momAdvection) THEN |
| 369 |
CALL MOM_CALC_RTRANS( k+1, bi, bj, |
CALL MOM_CALC_RTRANS( k+1, bi, bj, |
| 370 |
O rTransU, rTransV, |
O rTransU, rTransV, |
| 371 |
I myTime, myIter, myThid) |
I myTime, myIter, myThid ) |
| 372 |
ENDIF |
ENDIF |
| 373 |
|
|
| 374 |
#ifdef MOM_BOUNDARY_CONSERVE |
#ifdef MOM_BOUNDARY_CONSERVE |
| 416 |
#else /* MOM_BOUNDARY_CONSERVE */ |
#else /* MOM_BOUNDARY_CONSERVE */ |
| 417 |
C-- Zonal flux (fZon is at east face of "u" cell) |
C-- Zonal flux (fZon is at east face of "u" cell) |
| 418 |
C Mean flow component of zonal flux -> fZon |
C Mean flow component of zonal flux -> fZon |
| 419 |
CALL MOM_U_ADV_UU(bi,bj,k,uTrans,uFld,fZon,myThid) |
CALL MOM_U_ADV_UU( bi,bj,k,uTrans,uFld,fZon,myThid ) |
| 420 |
|
|
| 421 |
C-- Meridional flux (fMer is at south face of "u" cell) |
C-- Meridional flux (fMer is at south face of "u" cell) |
| 422 |
C Mean flow component of meridional flux -> fMer |
C Mean flow component of meridional flux -> fMer |
| 423 |
CALL MOM_U_ADV_VU(bi,bj,k,vTrans,uFld,fMer,myThid) |
CALL MOM_U_ADV_VU( bi,bj,k,vTrans,uFld,fMer,myThid ) |
| 424 |
|
|
| 425 |
C-- Vertical flux (fVer is at upper face of "u" cell) |
C-- Vertical flux (fVer is at upper face of "u" cell) |
| 426 |
C Mean flow component of vertical flux (at k+1) -> fVer |
C Mean flow component of vertical flux (at k+1) -> fVer |
| 508 |
|
|
| 509 |
C Bi-harmonic term del^2 U -> v4F |
C Bi-harmonic term del^2 U -> v4F |
| 510 |
IF ( useBiharmonicVisc ) |
IF ( useBiharmonicVisc ) |
| 511 |
& CALL MOM_U_DEL2U(bi,bj,k,uFld,hFacZ,v4f,myThid) |
& CALL MOM_U_DEL2U( bi, bj, k, uFld, hFacZ, h0FacZ, |
| 512 |
|
O v4f, myThid ) |
| 513 |
|
|
| 514 |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
| 515 |
CALL MOM_U_XVISCFLUX(bi,bj,k,uFld,v4F,fZon, |
CALL MOM_U_XVISCFLUX( bi,bj,k,uFld,v4F,fZon, |
| 516 |
I viscAh_D,viscA4_D,myThid) |
I viscAh_D,viscA4_D,myThid ) |
| 517 |
|
|
| 518 |
C Laplacian and bi-harmonic termis, Merid Fluxes -> fMer |
C Laplacian and bi-harmonic termis, Merid Fluxes -> fMer |
| 519 |
CALL MOM_U_YVISCFLUX(bi,bj,k,uFld,v4F,hFacZ,fMer, |
CALL MOM_U_YVISCFLUX( bi,bj,k,uFld,v4F,hFacZ,fMer, |
| 520 |
I viscAh_Z,viscA4_Z,myThid) |
I viscAh_Z,viscA4_Z,myThid ) |
| 521 |
|
|
| 522 |
C Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw |
C Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw |
| 523 |
IF (.NOT.implicitViscosity) THEN |
IF (.NOT.implicitViscosity) THEN |
| 524 |
CALL MOM_U_RVISCFLUX(bi,bj, k, uVel,KappaRU,fVrUp,myThid) |
CALL MOM_U_RVISCFLUX( bi,bj, k, uVel,KappaRU,fVrUp,myThid ) |
| 525 |
CALL MOM_U_RVISCFLUX(bi,bj,k+1,uVel,KappaRU,fVrDw,myThid) |
CALL MOM_U_RVISCFLUX( bi,bj,k+1,uVel,KappaRU,fVrDw,myThid ) |
| 526 |
ENDIF |
ENDIF |
| 527 |
|
|
| 528 |
C-- Tendency is minus divergence of the fluxes |
C-- Tendency is minus divergence of the fluxes |
| 558 |
IF (no_slip_sides) THEN |
IF (no_slip_sides) THEN |
| 559 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
| 560 |
CALL MOM_U_SIDEDRAG( bi, bj, k, |
CALL MOM_U_SIDEDRAG( bi, bj, k, |
| 561 |
I uFld, v4f, hFacZ, |
I uFld, v4f, h0FacZ, |
| 562 |
I viscAh_Z, viscA4_Z, |
I viscAh_Z, viscA4_Z, |
| 563 |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
| 564 |
O vF, |
O vF, |
| 571 |
ENDIF |
ENDIF |
| 572 |
C- No-slip BCs impose a drag at bottom |
C- No-slip BCs impose a drag at bottom |
| 573 |
IF (bottomDragTerms) THEN |
IF (bottomDragTerms) THEN |
| 574 |
CALL MOM_U_BOTTOMDRAG(bi,bj,k,uFld,KE,KappaRU,vF,myThid) |
CALL MOM_U_BOTTOMDRAG( bi,bj,k,uFld,KE,KappaRU,vF,myThid ) |
| 575 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 576 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 577 |
gUdiss(i,j) = gUdiss(i,j) + vF(i,j) |
gUdiss(i,j) = gUdiss(i,j) + vF(i,j) |
| 581 |
|
|
| 582 |
#ifdef ALLOW_SHELFICE |
#ifdef ALLOW_SHELFICE |
| 583 |
IF (useShelfIce) THEN |
IF (useShelfIce) THEN |
| 584 |
CALL SHELFICE_U_DRAG(bi,bj,k,uFld,KE,KappaRU,vF,myThid) |
CALL SHELFICE_U_DRAG( bi,bj,k,uFld,KE,KappaRU,vF,myThid ) |
| 585 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 586 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 587 |
gUdiss(i,j) = gUdiss(i,j) + vF(i,j) |
gUdiss(i,j) = gUdiss(i,j) + vF(i,j) |
| 602 |
C-- Metric terms for curvilinear grid systems |
C-- Metric terms for curvilinear grid systems |
| 603 |
IF (useNHMTerms) THEN |
IF (useNHMTerms) THEN |
| 604 |
C o Non-Hydrostatic (spherical) metric terms |
C o Non-Hydrostatic (spherical) metric terms |
| 605 |
CALL MOM_U_METRIC_NH(bi,bj,k,uFld,wVel,mT,myThid) |
CALL MOM_U_METRIC_NH( bi,bj,k,uFld,wVel,mT,myThid ) |
| 606 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 607 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 608 |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mtNHFacU*mT(i,j) |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mtNHFacU*mT(i,j) |
| 611 |
ENDIF |
ENDIF |
| 612 |
IF ( usingSphericalPolarGrid .AND. metricTerms ) THEN |
IF ( usingSphericalPolarGrid .AND. metricTerms ) THEN |
| 613 |
C o Spherical polar grid metric terms |
C o Spherical polar grid metric terms |
| 614 |
CALL MOM_U_METRIC_SPHERE(bi,bj,k,uFld,vFld,mT,myThid) |
CALL MOM_U_METRIC_SPHERE( bi,bj,k,uFld,vFld,mT,myThid ) |
| 615 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 616 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 617 |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mtFacU*mT(i,j) |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mtFacU*mT(i,j) |
| 620 |
ENDIF |
ENDIF |
| 621 |
IF ( usingCylindricalGrid .AND. metricTerms ) THEN |
IF ( usingCylindricalGrid .AND. metricTerms ) THEN |
| 622 |
C o Cylindrical grid metric terms |
C o Cylindrical grid metric terms |
| 623 |
CALL MOM_U_METRIC_CYLINDER(bi,bj,k,uFld,vFld,mT,myThid) |
CALL MOM_U_METRIC_CYLINDER( bi,bj,k,uFld,vFld,mT,myThid ) |
| 624 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 625 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 626 |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mtFacU*mT(i,j) |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mtFacU*mT(i,j) |
| 734 |
C--- Calculate eddy fluxes (dissipation) between cells for meridional flow. |
C--- Calculate eddy fluxes (dissipation) between cells for meridional flow. |
| 735 |
C Bi-harmonic term del^2 V -> v4F |
C Bi-harmonic term del^2 V -> v4F |
| 736 |
IF ( useBiharmonicVisc ) |
IF ( useBiharmonicVisc ) |
| 737 |
& CALL MOM_V_DEL2V(bi,bj,k,vFld,hFacZ,v4f,myThid) |
& CALL MOM_V_DEL2V( bi, bj, k, vFld, hFacZ, h0FacZ, |
| 738 |
|
O v4f, myThid ) |
| 739 |
|
|
| 740 |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
C Laplacian and bi-harmonic terms, Zonal Fluxes -> fZon |
| 741 |
CALL MOM_V_XVISCFLUX(bi,bj,k,vFld,v4f,hFacZ,fZon, |
CALL MOM_V_XVISCFLUX( bi,bj,k,vFld,v4f,hFacZ,fZon, |
| 742 |
I viscAh_Z,viscA4_Z,myThid) |
I viscAh_Z,viscA4_Z,myThid ) |
| 743 |
|
|
| 744 |
C Laplacian and bi-harmonic termis, Merid Fluxes -> fMer |
C Laplacian and bi-harmonic termis, Merid Fluxes -> fMer |
| 745 |
CALL MOM_V_YVISCFLUX(bi,bj,k,vFld,v4f,fMer, |
CALL MOM_V_YVISCFLUX( bi,bj,k,vFld,v4f,fMer, |
| 746 |
I viscAh_D,viscA4_D,myThid) |
I viscAh_D,viscA4_D,myThid ) |
| 747 |
|
|
| 748 |
C Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw |
C Eddy component of vertical flux (interior component only) -> fVrUp & fVrDw |
| 749 |
IF (.NOT.implicitViscosity) THEN |
IF (.NOT.implicitViscosity) THEN |
| 750 |
CALL MOM_V_RVISCFLUX(bi,bj, k, vVel,KappaRV,fVrUp,myThid) |
CALL MOM_V_RVISCFLUX( bi,bj, k, vVel,KappaRV,fVrUp,myThid ) |
| 751 |
CALL MOM_V_RVISCFLUX(bi,bj,k+1,vVel,KappaRV,fVrDw,myThid) |
CALL MOM_V_RVISCFLUX( bi,bj,k+1,vVel,KappaRV,fVrDw,myThid ) |
| 752 |
ENDIF |
ENDIF |
| 753 |
|
|
| 754 |
C-- Tendency is minus divergence of the fluxes + coriolis + pressure term |
C-- Tendency is minus divergence of the fluxes + coriolis + pressure term |
| 784 |
IF (no_slip_sides) THEN |
IF (no_slip_sides) THEN |
| 785 |
C- No-slip BCs impose a drag at walls... |
C- No-slip BCs impose a drag at walls... |
| 786 |
CALL MOM_V_SIDEDRAG( bi, bj, k, |
CALL MOM_V_SIDEDRAG( bi, bj, k, |
| 787 |
I vFld, v4f, hFacZ, |
I vFld, v4f, h0FacZ, |
| 788 |
I viscAh_Z,viscA4_Z, |
I viscAh_Z, viscA4_Z, |
| 789 |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
I useHarmonicVisc, useBiharmonicVisc, useVariableVisc, |
| 790 |
O vF, |
O vF, |
| 791 |
I myThid ) |
I myThid ) |
| 797 |
ENDIF |
ENDIF |
| 798 |
C- No-slip BCs impose a drag at bottom |
C- No-slip BCs impose a drag at bottom |
| 799 |
IF (bottomDragTerms) THEN |
IF (bottomDragTerms) THEN |
| 800 |
CALL MOM_V_BOTTOMDRAG(bi,bj,k,vFld,KE,KappaRV,vF,myThid) |
CALL MOM_V_BOTTOMDRAG( bi,bj,k,vFld,KE,KappaRV,vF,myThid ) |
| 801 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 802 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 803 |
gvDiss(i,j) = gvDiss(i,j) + vF(i,j) |
gvDiss(i,j) = gvDiss(i,j) + vF(i,j) |
| 807 |
|
|
| 808 |
#ifdef ALLOW_SHELFICE |
#ifdef ALLOW_SHELFICE |
| 809 |
IF (useShelfIce) THEN |
IF (useShelfIce) THEN |
| 810 |
CALL SHELFICE_V_DRAG(bi,bj,k,vFld,KE,KappaRV,vF,myThid) |
CALL SHELFICE_V_DRAG( bi,bj,k,vFld,KE,KappaRV,vF,myThid ) |
| 811 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 812 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 813 |
gvDiss(i,j) = gvDiss(i,j) + vF(i,j) |
gvDiss(i,j) = gvDiss(i,j) + vF(i,j) |
| 828 |
C-- Metric terms for curvilinear grid systems |
C-- Metric terms for curvilinear grid systems |
| 829 |
IF (useNHMTerms) THEN |
IF (useNHMTerms) THEN |
| 830 |
C o Non-Hydrostatic (spherical) metric terms |
C o Non-Hydrostatic (spherical) metric terms |
| 831 |
CALL MOM_V_METRIC_NH(bi,bj,k,vFld,wVel,mT,myThid) |
CALL MOM_V_METRIC_NH( bi,bj,k,vFld,wVel,mT,myThid ) |
| 832 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 833 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 834 |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+mtNHFacV*mT(i,j) |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+mtNHFacV*mT(i,j) |
| 837 |
ENDIF |
ENDIF |
| 838 |
IF ( usingSphericalPolarGrid .AND. metricTerms ) THEN |
IF ( usingSphericalPolarGrid .AND. metricTerms ) THEN |
| 839 |
C o Spherical polar grid metric terms |
C o Spherical polar grid metric terms |
| 840 |
CALL MOM_V_METRIC_SPHERE(bi,bj,k,uFld,mT,myThid) |
CALL MOM_V_METRIC_SPHERE( bi,bj,k,uFld,mT,myThid ) |
| 841 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 842 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 843 |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+mtFacV*mT(i,j) |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+mtFacV*mT(i,j) |
| 846 |
ENDIF |
ENDIF |
| 847 |
IF ( usingCylindricalGrid .AND. metricTerms ) THEN |
IF ( usingCylindricalGrid .AND. metricTerms ) THEN |
| 848 |
C o Cylindrical grid metric terms |
C o Cylindrical grid metric terms |
| 849 |
CALL MOM_V_METRIC_CYLINDER(bi,bj,k,uFld,vFld,mT,myThid) |
CALL MOM_V_METRIC_CYLINDER( bi,bj,k,uFld,vFld,mT,myThid ) |
| 850 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 851 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 852 |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+mtFacV*mT(i,j) |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+mtFacV*mT(i,j) |
| 858 |
|
|
| 859 |
C-- Coriolis term (call to CD_CODE_SCHEME has been moved to timestep.F) |
C-- Coriolis term (call to CD_CODE_SCHEME has been moved to timestep.F) |
| 860 |
IF (.NOT.useCDscheme) THEN |
IF (.NOT.useCDscheme) THEN |
| 861 |
CALL MOM_U_CORIOLIS(bi,bj,k,vFld,cf,myThid) |
CALL MOM_U_CORIOLIS( bi,bj,k,vFld,cf,myThid ) |
| 862 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 863 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 864 |
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) |
| 868 |
IF ( useDiagnostics ) |
IF ( useDiagnostics ) |
| 869 |
& CALL DIAGNOSTICS_FILL(cf,'Um_Cori ',k,1,2,bi,bj,myThid) |
& CALL DIAGNOSTICS_FILL(cf,'Um_Cori ',k,1,2,bi,bj,myThid) |
| 870 |
#endif |
#endif |
| 871 |
CALL MOM_V_CORIOLIS(bi,bj,k,uFld,cf,myThid) |
CALL MOM_V_CORIOLIS( bi,bj,k,uFld,cf,myThid ) |
| 872 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 873 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 874 |
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) |
| 882 |
|
|
| 883 |
C-- 3.D Coriolis term (horizontal momentum, Eastward component: -fprime*w) |
C-- 3.D Coriolis term (horizontal momentum, Eastward component: -fprime*w) |
| 884 |
IF ( use3dCoriolis ) THEN |
IF ( use3dCoriolis ) THEN |
| 885 |
CALL MOM_U_CORIOLIS_NH(bi,bj,k,wVel,cf,myThid) |
CALL MOM_U_CORIOLIS_NH( bi,bj,k,wVel,cf,myThid ) |
| 886 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 887 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 888 |
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) |
| 890 |
ENDDO |
ENDDO |
| 891 |
IF ( usingCurvilinearGrid ) THEN |
IF ( usingCurvilinearGrid ) THEN |
| 892 |
C- presently, non zero angleSinC array only supported with Curvilinear-Grid |
C- presently, non zero angleSinC array only supported with Curvilinear-Grid |
| 893 |
CALL MOM_V_CORIOLIS_NH(bi,bj,k,wVel,cf,myThid) |
CALL MOM_V_CORIOLIS_NH( bi,bj,k,wVel,cf,myThid ) |
| 894 |
DO j=jMin,jMax |
DO j=jMin,jMax |
| 895 |
DO i=iMin,iMax |
DO i=iMin,iMax |
| 896 |
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) |