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

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

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

revision 1.21 by cnh, Wed Oct 28 03:11:38 1998 UTC revision 1.29 by adcroft, Fri Jul 30 15:43:00 1999 UTC
# Line 22  C     | ===== Line 22  C     | =====
22  C     | C*P* comments indicating place holders for which code is |  C     | C*P* comments indicating place holders for which code is |
23  C     |      presently being developed.                          |  C     |      presently being developed.                          |
24  C     \==========================================================/  C     \==========================================================/
25          IMPLICIT NONE
26  C  C
27  C     Call Tree  C     Call Tree
28  C     =========  C     =========
# Line 84  C     == Global variables === Line 85  C     == Global variables ===
85  #include "SIZE.h"  #include "SIZE.h"
86  #include "EEPARAMS.h"  #include "EEPARAMS.h"
87  #include "PARAMS.h"  #include "PARAMS.h"
 #include "CG2D.h"  
88  #include "DYNVARS.h"  #include "DYNVARS.h"
89  #include "AVER.h"  #include "CG2D.h"
90    #ifdef ALLOW_NONHYDROSTATIC
91    #include "CG3D.h"
92    #endif
93    
94  C     == Routine arguments ==  C     == Routine arguments ==
95  C     myThid - Thread number for this instance of the routine.  C     myThid - Thread number for this instance of the routine.
# Line 102  C     myCurrentIter - Iteration counter Line 105  C     myCurrentIter - Iteration counter
105  C     myCurrentTime - Time counter for this thread  C     myCurrentTime - Time counter for this thread
106  C     I             - Loop counter  C     I             - Loop counter
107        INTEGER I, myCurrentIter        INTEGER I, myCurrentIter
108        REAL    myCurrentTime        _RL     myCurrentTime
109    
110  C--   This timer encompasses the whole code  C--   This timer encompasses the whole code
111        CALL TIMER_START('ALL',myThid)        CALL TIMER_START('ALL',myThid)
# Line 132  C--    Load forcing/external data fields Line 135  C--    Load forcing/external data fields
135         CALL LOAD_EXTERNAL_FIELDS( myCurrentTime, myCurrentIter, myThid )         CALL LOAD_EXTERNAL_FIELDS( myCurrentTime, myCurrentIter, myThid )
136         CALL TIMER_STOP ('I/O (READ)         [MAIN LOOP]',myThid)         CALL TIMER_STOP ('I/O (READ)         [MAIN LOOP]',myThid)
137    
138    #ifdef INCLUDE_SHAPIRO_FILTER_CODE
139    C--    Step forward all tiles, filter and exchange.
140           CALL TIMER_START('SHAP_FILT          [MAIN LOOP]',myThid)
141           CALL SHAP_FILT( myCurrentTime, myCurrentIter, myThid )
142           CALL TIMER_STOP ('SHAP_FILT          [MAIN LOOP]',myThid)
143    #endif
144    
145    #ifdef ALLOW_OBCS
146    C--    Set Open Boundaries Values
147           IF (openBoundaries) THEN
148            CALL TIMER_START('OBCS               [MAIN LOOP]',myThid)
149            CALL SET_OBCS( myCurrentTime, myThid )
150            CALL TIMER_STOP ('OBCS               [MAIN LOOP]',myThid)
151           ENDIF
152    #endif
153    
154  C--    Step forward fields and calculate time tendency terms  C--    Step forward fields and calculate time tendency terms
155         CALL TIMER_START('DYNAMICS           [MAIN LOOP]',myThid)         CALL TIMER_START('DYNAMICS           [MAIN LOOP]',myThid)
156         CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )         CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )
157         CALL TIMER_STOP ('DYNAMICS           [MAIN LOOP]',myThid)         CALL TIMER_STOP ('DYNAMICS           [MAIN LOOP]',myThid)
158    
159    #ifdef ALLOW_NONHYDROSTATIC
160    C--    Step forward W field in N-H algorithm
161           IF ( nonHydrostatic ) THEN
162            CALL TIMER_START('CALC_GW            [MAIN LOOP]',myThid)
163            CALL CALC_GW( myThid)
164            CALL TIMER_STOP ('CALC_GW            [MAIN LOOP]',myThid)
165           ENDIF
166    #endif
167    
168  C--    Do time averages  C--    Do time averages
169  #ifdef ALLOW_DIAGNOSTICS  #ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE
170         CALL TIMER_START('I/O (WRITE)        [MAIN LOOP]',myThid)         CALL TIMER_START('I/O (WRITE)        [MAIN LOOP]',myThid)
171         IF (taveFreq.GT.0.) THEN         IF (taveFreq.GT.0.) THEN
172          CALL WRITE_TIME_AVERAGES( myCurrentTime, myCurrentIter, myThid )          CALL WRITE_TIME_AVERAGES( myCurrentTime, myCurrentIter, myThid )
# Line 199  C--   Final checkpoint (incase the in-lo Line 227  C--   Final checkpoint (incase the in-lo
227       & WRITE_CHECKPOINT( .TRUE., myCurrentTime, myCurrentIter, myThid )       & WRITE_CHECKPOINT( .TRUE., myCurrentTime, myCurrentIter, myThid )
228        CALL TIMER_STOP ('I/O (WRITE)         [SPIN-DOWN]',myThid)        CALL TIMER_STOP ('I/O (WRITE)         [SPIN-DOWN]',myThid)
229    
230    #ifdef ALLOW_OBCS
231    C--   Set Open Boundaries Values
232          IF (openBoundaries) THEN
233           CALL TIMER_START('OBCS               [SPIN_DOWN]',myThid)
234           CALL SET_OBCS( myCurrentTime, myThid )
235           CALL TIMER_STOP ('OBCS               [SPIN_DOWN]',myThid)
236          ENDIF
237    #endif
238    
239  C--   Step-forward U/V/Theta/Salt for purposes of final I/O dump  C--   Step-forward U/V/Theta/Salt for purposes of final I/O dump
240        CALL TIMER_START('DYNAMICS            [SPIN-DOWN]',myThid)        CALL TIMER_START('DYNAMICS            [SPIN-DOWN]',myThid)
241        CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )        CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )
242        CALL TIMER_STOP ('DYNAMICS            [SPIN-DOWN]',myThid)        CALL TIMER_STOP ('DYNAMICS            [SPIN-DOWN]',myThid)
243    
244    #ifdef ALLOW_NONHYDROSTATIC
245          IF ( nonHydrostatic ) THEN
246    C--    Step forward W field in N-H algorithm
247           CALL TIMER_START('CALC_GW            [SPIN-DOWN]',myThid)
248           CALL CALC_GW( myThid)
249           CALL TIMER_STOP ('CALC_GW            [SPIN-DOWN]',myThid)
250          ENDIF
251    #endif
252    
253  C--   Do time averages  C--   Do time averages
254  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
255        IF (taveFreq.GT.0.) THEN        IF (taveFreq.GT.0.) THEN

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.22