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

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

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

revision 1.26 by heimbach, Tue Nov 20 23:27:29 2001 UTC revision 1.27 by jmc, Tue Dec 11 14:58:46 2001 UTC
# Line 37  C     == Global variables == Line 37  C     == Global variables ==
37  #include "CG3D.h"  #include "CG3D.h"
38  #endif  #endif
39    
40    #ifdef ALLOW_SHAP_FILT
41    #include "SHAP_FILT.h"
42    #endif
43    #ifdef ALLOW_ZONAL_FILT
44    #include "ZONAL_FILT.h"
45    #endif
46    
47  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
48  #include "tamc.h"  #include "tamc.h"
49  #include "ctrl.h"  #include "ctrl.h"
# Line 123  C--     Step forward fields and calculat Line 130  C--     Step forward fields and calculat
130          CALL TIMER_STOP ('THERMODYNAMICS      [THE_MAIN_LOOP]',mythid)          CALL TIMER_STOP ('THERMODYNAMICS      [THE_MAIN_LOOP]',mythid)
131    
132  #ifdef ALLOW_SHAP_FILT  #ifdef ALLOW_SHAP_FILT
133         IF (staggerTimeStep .AND. useSHAP_FILT) THEN         IF (useSHAP_FILT .AND.
134  c       CALL TIMER_START('SHAP_FILT           [THE_MAIN_LOOP]',myThid)       &     staggerTimeStep .AND. shap_filt_TrStagg ) THEN
135            CALL TIMER_START('SHAP_FILT           [THE_MAIN_LOOP]',myThid)
136          CALL SHAP_FILT_APPLY_TS( gT, gS, myTime, myIter, myThid )          CALL SHAP_FILT_APPLY_TS( gT, gS, myTime, myIter, myThid )
137  c       CALL TIMER_STOP ('SHAP_FILT           [THE_MAIN_LOOP]',myThid)          CALL TIMER_STOP ('SHAP_FILT           [THE_MAIN_LOOP]',myThid)
138         ENDIF         ENDIF
139  #endif  #endif
140    #ifdef ALLOW_ZONAL_FILT
141           IF (useZONAL_FILT .AND.
142         &     staggerTimeStep .AND. zonal_filt_TrStagg ) THEN
143            CALL TIMER_START('ZONAL_FILT_APPLY    [THE_MAIN_LOOP]',myThid)
144            CALL ZONAL_FILT_APPLY_TS( gT, gS, myThid )
145            CALL TIMER_STOP ('ZONAL_FILT_APPLY    [THE_MAIN_LOOP]',myThid)
146          ENDIF
147    #endif  
148    
149  C--     Step forward fields and calculate time tendency terms.  C--     Step forward fields and calculate time tendency terms.
150          IF ( momStepping ) THEN          IF ( momStepping ) THEN
# Line 159  C-    update also CG2D matrix (and preco Line 175  C-    update also CG2D matrix (and preco
175        ENDIF        ENDIF
176  #endif  #endif
177    
178  C-- This block has been moved to the_correction_step(). We have  C--   Apply Filters to u*,v* before SOLVE_FOR_PRESSURE
179  C   left this code here to indicate where the filters used to be  #ifdef ALLOW_SHAP_FILT
180  C   in the algorithm before JMC moved them to after the pressure        IF (useSHAP_FILT .AND. shap_filt_uvStar) THEN
181  C   solver.          CALL TIMER_START('SHAP_FILT           [THE_MAIN_LOOP]',myThid)
182  C          CALL SHAP_FILT_APPLY_UV( gUnm1,gVnm1, myTime,myIter,myThid )
183  C#ifdef ALLOW_SHAP_FILT          IF (implicDiv2Dflow.LT.1.) THEN
184  CC--   Step forward all tiles, filter and exchange.  C--   Explicit+Implicit part of the Barotropic Flow Divergence
185  C      CALL TIMER_START('SHAP_FILT           [THE_MAIN_LOOP]',myThid)  C      => Filtering of uVel,vVel is necessary
186  C      CALL SHAP_FILT_APPLY(            CALL SHAP_FILT_APPLY_UV( uVel,vVel, myTime,myIter,myThid )
187  C     I                     gUnm1, gVnm1, gTnm1, gSnm1,          ENDIF
188  C     I                     myTime, myIter, myThid )          CALL TIMER_STOP ('SHAP_FILT           [THE_MAIN_LOOP]',myThid)
189  C      IF (implicDiv2Dflow.LT.1.) THEN        ENDIF
190  CC--   Explicit+Implicit part of the Barotropic Flow Divergence  #endif
191  CC      => Filtering of uVel,vVel is necessary  #ifdef ALLOW_ZONAL_FILT
192  C         CALL SHAP_FILT_UV( uVel, vVel, myTime, myThid )        IF (useZONAL_FILT .AND. zonal_filt_uvStar) THEN
193  C      ENDIF          CALL TIMER_START('ZONAL_FILT_APPLY    [THE_MAIN_LOOP]',myThid)
194  C      CALL TIMER_STOP ('SHAP_FILT           [THE_MAIN_LOOP]',myThid)          CALL ZONAL_FILT_APPLY_UV( gUnm1, gVnm1, myThid )
195  C#endif          IF (implicDiv2Dflow.LT.1.) THEN
196  C  C--   Explicit+Implicit part of the Barotropic Flow Divergence
197  C#ifdef ALLOW_ZONAL_FILT  C      => Filtering of uVel,vVel is necessary
198  C      IF (zonal_filt_lat.LT.90.) THEN            CALL ZONAL_FILT_APPLY_UV( uVel, vVel, myThid )
199  C        CALL TIMER_START('ZONAL_FILT_APPLY    [THE_MAIN_LOOP]',myThid)          ENDIF
200  C        CALL ZONAL_FILT_APPLY(          CALL TIMER_STOP ('ZONAL_FILT_APPLY    [THE_MAIN_LOOP]',myThid)
201  C     U           gUnm1, gVnm1, gTnm1, gSnm1,        ENDIF
202  C     I           myThid )  #endif  
 C        CALL TIMER_STOP ('ZONAL_FILT_APPLY    [THE_MAIN_LOOP]',myThid)  
 C      ENDIF  
 C#endif  
203    
204  C--   Solve elliptic equation(s).  C--   Solve elliptic equation(s).
205  C     Two-dimensional only for conventional hydrostatic or  C     Two-dimensional only for conventional hydrostatic or

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.22