/[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.20 by cnh, Tue Sep 29 18:50:57 1998 UTC revision 1.27 by adcroft, Mon Mar 22 16:44:17 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 103  C     myCurrentTime - Time counter for t Line 106  C     myCurrentTime - Time counter for t
106  C     I             - Loop counter  C     I             - Loop counter
107        INTEGER I, myCurrentIter        INTEGER I, myCurrentIter
108        REAL    myCurrentTime        REAL    myCurrentTime
109          CHARACTER*(30) suff
110    
111  C--   This timer encompasses the whole code  C--   This timer encompasses the whole code
112        CALL TIMER_START('ALL',myThid)        CALL TIMER_START('ALL',myThid)
# Line 132  C--    Load forcing/external data fields Line 136  C--    Load forcing/external data fields
136         CALL LOAD_EXTERNAL_FIELDS( myCurrentTime, myCurrentIter, myThid )         CALL LOAD_EXTERNAL_FIELDS( myCurrentTime, myCurrentIter, myThid )
137         CALL TIMER_STOP ('I/O (READ)         [MAIN LOOP]',myThid)         CALL TIMER_STOP ('I/O (READ)         [MAIN LOOP]',myThid)
138    
139    #ifdef INCLUDE_SHAPIRO_FILTER_CODE
140    C--    Step forward all tiles, filter and exchange.
141           CALL TIMER_START('SHAP_FILT          [MAIN LOOP]',myThid)
142           CALL SHAP_FILT( myCurrentTime, myCurrentIter, myThid )
143           CALL TIMER_STOP ('SHAP_FILT          [MAIN LOOP]',myThid)
144    #endif
145    
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    
153  C--    Step forward fields and calculate time tendency terms  C--    Step forward fields and calculate time tendency terms
154         CALL TIMER_START('DYNAMICS           [MAIN LOOP]',myThid)         CALL TIMER_START('DYNAMICS           [MAIN LOOP]',myThid)
155         CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )         CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )
156         CALL TIMER_STOP ('DYNAMICS           [MAIN LOOP]',myThid)         CALL TIMER_STOP ('DYNAMICS           [MAIN LOOP]',myThid)
157    
158    #ifdef ALLOW_NONHYDROSTATIC
159    C--    Step forward W field in N-H algorithm
160           IF ( nonHydrostatic ) THEN
161            CALL TIMER_START('CALC_GW            [MAIN LOOP]',myThid)
162            CALL CALC_GW( myThid)
163            CALL TIMER_STOP ('CALC_GW            [MAIN LOOP]',myThid)
164           ENDIF
165    #endif
166    
167  C--    Do time averages  C--    Do time averages
168  #ifdef ALLOW_DIAGNOSTICS  #ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE
169         CALL TIMER_START('I/O (WRITE)        [MAIN LOOP]',myThid)         CALL TIMER_START('I/O (WRITE)        [MAIN LOOP]',myThid)
170         IF (taveFreq.GT.0.) THEN         IF (taveFreq.GT.0.) THEN
171          CALL WRITE_TIME_AVERAGES( myCurrentTime, myCurrentIter, myThid )          CALL WRITE_TIME_AVERAGES( myCurrentTime, myCurrentIter, myThid )
# Line 185  C      cg2d_x.0000000001 in the indexing Line 212  C      cg2d_x.0000000001 in the indexing
212  C      "state" files. This example is referred to as a checkpoint  C      "state" files. This example is referred to as a checkpoint
213  C      at time level 1  C      at time level 1
214         CALL TIMER_START('I/O (WRITE)        [MAIN LOOP]',myThid)         CALL TIMER_START('I/O (WRITE)        [MAIN LOOP]',myThid)
215         CALL WRITE_CHECKPOINT( .FALSE., myCurrentTime, myCurrentIter, myThid )         CALL
216         & WRITE_CHECKPOINT( .FALSE., myCurrentTime, myCurrentIter, myThid )
217         CALL TIMER_STOP ('I/O (WRITE)        [MAIN LOOP]',myThid)         CALL TIMER_STOP ('I/O (WRITE)        [MAIN LOOP]',myThid)
218    
219        ENDDO        ENDDO
# Line 194  C      at time level 1 Line 222  C      at time level 1
222    
223  C--   Final checkpoint (incase the in-loop checkpoint was missed)  C--   Final checkpoint (incase the in-loop checkpoint was missed)
224        CALL TIMER_START('I/O (WRITE)         [SPIN-DOWN]',myThid)        CALL TIMER_START('I/O (WRITE)         [SPIN-DOWN]',myThid)
225        CALL WRITE_CHECKPOINT( .TRUE., myCurrentTime, myCurrentIter, myThid )        CALL
226         & WRITE_CHECKPOINT( .TRUE., myCurrentTime, myCurrentIter, myThid )
227        CALL TIMER_STOP ('I/O (WRITE)         [SPIN-DOWN]',myThid)        CALL TIMER_STOP ('I/O (WRITE)         [SPIN-DOWN]',myThid)
228    
229    C--   Set Open Boundaries Values
230          IF (openBoundaries) THEN
231           CALL TIMER_START('OBCS               [SPIN_DOWN]',myThid)
232           CALL SET_OBCS( myCurrentTime, myThid )
233           CALL TIMER_STOP ('OBCS               [SPIN_DOWN]',myThid)
234          ENDIF
235    
236  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
237        CALL TIMER_START('DYNAMICS            [SPIN-DOWN]',myThid)        CALL TIMER_START('DYNAMICS            [SPIN-DOWN]',myThid)
238        CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )        CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid )
239        CALL TIMER_STOP ('DYNAMICS            [SPIN-DOWN]',myThid)        CALL TIMER_STOP ('DYNAMICS            [SPIN-DOWN]',myThid)
240    
241    #ifdef ALLOW_NONHYDROSTATIC
242          IF ( nonHydrostatic ) THEN
243    C--    Step forward W field in N-H algorithm
244           CALL TIMER_START('CALC_GW            [SPIN-DOWN]',myThid)
245           CALL CALC_GW( myThid)
246           CALL TIMER_STOP ('CALC_GW            [SPIN-DOWN]',myThid)
247          ENDIF
248    #endif
249    
250  C--   Do time averages  C--   Do time averages
251  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
252        IF (taveFreq.GT.0.) THEN        IF (taveFreq.GT.0.) THEN

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

  ViewVC Help
Powered by ViewVC 1.1.22