/[MITgcm]/MITgcm/model/src/dynamics.F
ViewVC logotype

Diff of /MITgcm/model/src/dynamics.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.157 by jmc, Tue May 24 20:25:33 2011 UTC revision 1.160 by jmc, Thu Dec 1 14:22:27 2011 UTC
# Line 402  CADJ STORE KappaRV(:,:,:) Line 402  CADJ STORE KappaRV(:,:,:)
402  CADJ &     = comlev1_bibj, key=idynkey, byte=isbyte  CADJ &     = comlev1_bibj, key=idynkey, byte=isbyte
403  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
404    
405    #ifdef ALLOW_OBCS
406    C--   For Stevens boundary conditions velocities need to be extrapolated
407    C     (copied) to a narrow strip outside the domain
408             IF ( useOBCS ) THEN
409              CALL OBCS_COPY_UV_N(
410         U         uVel(1-Olx,1-Oly,1,bi,bj),
411         U         vVel(1-Olx,1-Oly,1,bi,bj),
412         I         Nr, bi, bj, myThid )
413             ENDIF
414    #endif /* ALLOW_OBCS */
415    
416  C--     Start of dynamics loop  C--     Start of dynamics loop
417          DO k=1,Nr          DO k=1,Nr
418    
# Line 583  CADJ STORE gU(:,:,:,bi,bj) = comlev1_bib Line 594  CADJ STORE gU(:,:,:,bi,bj) = comlev1_bib
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
# Line 592  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib Line 603  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib
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
610    
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
615    C        next time step for the Stevens boundary conditions
616              CALL OBCS_SAVE_UV_N(
617         I        bi, bj, iMin, iMax, jMin, jMax, 0,
618         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
621  #endif   /* ALLOW_OBCS */  #endif /* ALLOW_OBCS */
622    
623  #ifdef    ALLOW_CD_CODE  #ifdef    ALLOW_CD_CODE
624          IF (implicitViscosity.AND.useCDscheme) THEN          IF (implicitViscosity.AND.useCDscheme) THEN
# Line 611  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_ Line 627  CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_
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
# Line 619  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_ Line 635  CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_
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
# Line 682  Cml) Line 698  Cml)
698  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
699    
700  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
701        IF ( debugLevel .GE. debLevB ) THEN        IF ( debugLevel .GE. debLevD ) THEN
702         CALL DEBUG_STATS_RL(1,EtaN,'EtaN (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(1,EtaN,'EtaN (DYNAMICS)',myThid)
703         CALL DEBUG_STATS_RL(Nr,uVel,'Uvel (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,uVel,'Uvel (DYNAMICS)',myThid)
704         CALL DEBUG_STATS_RL(Nr,vVel,'Vvel (DYNAMICS)',myThid)         CALL DEBUG_STATS_RL(Nr,vVel,'Vvel (DYNAMICS)',myThid)
# Line 706  Cml) Line 722  Cml)
722  C- jmc: For safety checking only: This Exchange here should not change  C- jmc: For safety checking only: This Exchange here should not change
723  C       the solution. If solution changes, it means something is wrong,  C       the solution. If solution changes, it means something is wrong,
724  C       but it does not mean that it is less wrong with this exchange.  C       but it does not mean that it is less wrong with this exchange.
725        IF ( debugLevel .GT. debLevB ) THEN        IF ( debugLevel .GE. debLevE ) THEN
726         CALL EXCH_UV_XYZ_RL(gU,gV,.TRUE.,myThid)         CALL EXCH_UV_XYZ_RL(gU,gV,.TRUE.,myThid)
727        ENDIF        ENDIF
728  #endif  #endif

Legend:
Removed from v.1.157  
changed lines
  Added in v.1.160

  ViewVC Help
Powered by ViewVC 1.1.22