/[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.153 by jmc, Thu Nov 18 00:57:24 2010 UTC revision 1.159 by mlosch, Tue Oct 25 15:09:49 2011 UTC
# Line 96  C     == Global variables === Line 96  C     == Global variables ===
96  #  include "PTRACERS_FIELDS.h"  #  include "PTRACERS_FIELDS.h"
97  # endif  # endif
98  # ifdef ALLOW_OBCS  # ifdef ALLOW_OBCS
99  #  include "OBCS.h"  #  include "OBCS_FIELDS.h"
100  #  ifdef ALLOW_PTRACERS  #  ifdef ALLOW_PTRACERS
101  #   include "OBCS_PTRACERS.h"  #   include "OBCS_PTRACERS.h"
102  #  endif  #  endif
# Line 264  C   if desired: Line 264  C   if desired:
264        CALL CALC_EP_FORCING(myThid)        CALL CALC_EP_FORCING(myThid)
265  #endif  #endif
266    
267    #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
268          CALL DUMMY_IN_DYNAMICS( mytime, myiter, myThid )
269    #endif
270    
271  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
272  C--   HPF directive to help TAMC  C--   HPF directive to help TAMC
273  CHPF$ INDEPENDENT  CHPF$ INDEPENDENT
# Line 398  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 556  C Line 571  C
571       I         guDissip, gvDissip,       I         guDissip, gvDissip,
572       I         myTime, myIter, myThid)       I         myTime, myIter, myThid)
573    
 #ifdef   ALLOW_OBCS  
 C--      Apply open boundary conditions  
 c          IF (useOBCS) THEN  
 c            CALL OBCS_APPLY_UV( bi, bj, k, gU, gV, myThid )  
 c          ENDIF  
 #endif   /* ALLOW_OBCS */  
   
574           ENDIF           ENDIF
575    
576  C--     end of dynamics k loop (1:Nr)  C--     end of dynamics k loop (1:Nr)
# Line 600  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib Line 608  CADJ STORE gV(:,:,:,bi,bj) = comlev1_bib
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
 c       IF ( useOBCS .AND.(implicitViscosity.OR.momImplVertAdv) ) THEN  
 c          DO K=1,Nr  
 c            CALL OBCS_APPLY_UV( bi, bj, k, gU, gV, myThid )  
 c          ENDDO  
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 660  C-    end of bi,bj loops Line 669  C-    end of bi,bj loops
669    
670  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
671        IF (useOBCS) THEN        IF (useOBCS) THEN
672         CALL OBCS_PRESCRIBE_EXCHANGES(myThid)          CALL OBCS_EXCHANGES( myThid )
673        ENDIF        ENDIF
674  #endif  #endif
675    
# Line 689  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 713  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.153  
changed lines
  Added in v.1.159

  ViewVC Help
Powered by ViewVC 1.1.22