406 |
C-- For Stevens boundary conditions velocities need to be extrapolated |
C-- For Stevens boundary conditions velocities need to be extrapolated |
407 |
C (copied) to a narrow strip outside the domain |
C (copied) to a narrow strip outside the domain |
408 |
IF ( useOBCS ) THEN |
IF ( useOBCS ) THEN |
409 |
CALL OBCS_COPY_UV_N( |
CALL OBCS_COPY_UV_N( |
410 |
U uVel(1-Olx,1-Oly,1,bi,bj), |
U uVel(1-Olx,1-Oly,1,bi,bj), |
411 |
U vVel(1-Olx,1-Oly,1,bi,bj), |
U vVel(1-Olx,1-Oly,1,bi,bj), |
412 |
I Nr, bi, bj, myThid ) |
I Nr, bi, bj, myThid ) |
594 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
595 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
596 |
I bi, bj, iMin, iMax, jMin, jMax, |
I bi, bj, iMin, iMax, jMin, jMax, |
597 |
I -1, KappaRU,recip_HFacW, |
I -1, KappaRU, recip_hFacW(1-OLx,1-OLy,1,bi,bj), |
598 |
U gU, |
U gU, |
599 |
I myThid ) |
I myThid ) |
600 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
603 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
604 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
605 |
I bi, bj, iMin, iMax, jMin, jMax, |
I bi, bj, iMin, iMax, jMin, jMax, |
606 |
I -2, KappaRV,recip_HFacS, |
I -2, KappaRV, recip_hFacS(1-OLx,1-OLy,1,bi,bj), |
607 |
U gV, |
U gV, |
608 |
I myThid ) |
I myThid ) |
609 |
ENDIF |
ENDIF |
611 |
#ifdef ALLOW_OBCS |
#ifdef ALLOW_OBCS |
612 |
C-- Apply open boundary conditions |
C-- Apply open boundary conditions |
613 |
IF ( useOBCS ) THEN |
IF ( useOBCS ) THEN |
614 |
C-- but first save intermediate velocities to be used in the |
C-- but first save intermediate velocities to be used in the |
615 |
C next time step for the Stevens boundary conditions |
C next time step for the Stevens boundary conditions |
616 |
CALL OBCS_SAVE_UV_N( |
CALL OBCS_SAVE_UV_N( |
617 |
I bi, bj, iMin, iMax, jMin, jMax, 0, |
I bi, bj, iMin, iMax, jMin, jMax, 0, |
618 |
I gU, gV, myThid ) |
I gU, gV, myThid ) |
619 |
CALL OBCS_APPLY_UV( bi, bj, 0, gU, gV, myThid ) |
CALL OBCS_APPLY_UV( bi, bj, 0, gU, gV, myThid ) |
620 |
ENDIF |
ENDIF |
627 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
628 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
629 |
I bi, bj, iMin, iMax, jMin, jMax, |
I bi, bj, iMin, iMax, jMin, jMax, |
630 |
I 0, KappaRU,recip_HFacW, |
I 0, KappaRU, recip_hFacW(1-OLx,1-OLy,1,bi,bj), |
631 |
U vVelD, |
U vVelD, |
632 |
I myThid ) |
I myThid ) |
633 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
635 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
636 |
CALL IMPLDIFF( |
CALL IMPLDIFF( |
637 |
I bi, bj, iMin, iMax, jMin, jMax, |
I bi, bj, iMin, iMax, jMin, jMax, |
638 |
I 0, KappaRV,recip_HFacS, |
I 0, KappaRV, recip_hFacS(1-OLx,1-OLy,1,bi,bj), |
639 |
U uVelD, |
U uVelD, |
640 |
I myThid ) |
I myThid ) |
641 |
ENDIF |
ENDIF |