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 "CG2D.h" |
90 |
|
#include "CG3D.h" |
91 |
|
|
92 |
C == Routine arguments == |
C == Routine arguments == |
93 |
C myThid - Thread number for this instance of the routine. |
C myThid - Thread number for this instance of the routine. |
104 |
C I - Loop counter |
C I - Loop counter |
105 |
INTEGER I, myCurrentIter |
INTEGER I, myCurrentIter |
106 |
REAL myCurrentTime |
REAL myCurrentTime |
107 |
|
CHARACTER*(30) suff |
108 |
|
|
109 |
C-- This timer encompasses the whole code |
C-- This timer encompasses the whole code |
110 |
CALL TIMER_START('ALL',myThid) |
CALL TIMER_START('ALL',myThid) |
153 |
CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid ) |
CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid ) |
154 |
CALL TIMER_STOP ('DYNAMICS [MAIN LOOP]',myThid) |
CALL TIMER_STOP ('DYNAMICS [MAIN LOOP]',myThid) |
155 |
|
|
156 |
|
#ifdef ALLOW_NONHYDROSTATIC |
157 |
|
C-- Step forward W field in N-H algorithm |
158 |
|
IF ( nonHydrostatic ) THEN |
159 |
|
CALL TIMER_START('CALC_GW [MAIN LOOP]',myThid) |
160 |
|
CALL CALC_GW( myThid) |
161 |
|
CALL TIMER_STOP ('CALC_GW [MAIN LOOP]',myThid) |
162 |
|
ENDIF |
163 |
|
#endif |
164 |
|
|
165 |
C-- Do time averages |
C-- Do time averages |
166 |
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
167 |
CALL TIMER_START('I/O (WRITE) [MAIN LOOP]',myThid) |
CALL TIMER_START('I/O (WRITE) [MAIN LOOP]',myThid) |
181 |
CALL DO_THE_MODEL_IO( myCurrentTime, myCurrentIter, myThid ) |
CALL DO_THE_MODEL_IO( myCurrentTime, myCurrentIter, myThid ) |
182 |
CALL TIMER_STOP ('I/O (WRITE) [MAIN LOOP]',myThid) |
CALL TIMER_STOP ('I/O (WRITE) [MAIN LOOP]',myThid) |
183 |
|
|
184 |
|
Caja |
185 |
|
WRITE(suff,'(I10.10)') myCurrentIter |
186 |
|
CALL WRITE_FLD_XY_RL('B2d.',suff,cg2d_b, |
187 |
|
& myCurrentIter,myThid) |
188 |
|
CALL WRITE_FLD_XYZ_RL('B3d.',suff,cg3d_b, |
189 |
|
& myCurrentIter,myThid) |
190 |
|
Caja |
191 |
|
|
192 |
C-- Solve elliptic equation(s). |
C-- Solve elliptic equation(s). |
193 |
C Two-dimensional only for conventional hydrostatic or |
C Two-dimensional only for conventional hydrostatic or |
194 |
C three-dimensional for non-hydrostatic and/or IGW scheme. |
C three-dimensional for non-hydrostatic and/or IGW scheme. |
244 |
CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid ) |
CALL DYNAMICS( myCurrentTime, myCurrentIter, myThid ) |
245 |
CALL TIMER_STOP ('DYNAMICS [SPIN-DOWN]',myThid) |
CALL TIMER_STOP ('DYNAMICS [SPIN-DOWN]',myThid) |
246 |
|
|
247 |
|
#ifdef ALLOW_NONHYDROSTATIC |
248 |
|
IF ( nonHydrostatic ) THEN |
249 |
|
C-- Step forward W field in N-H algorithm |
250 |
|
CALL TIMER_START('CALC_GW [SPIN-DOWN]',myThid) |
251 |
|
CALL CALC_GW( myThid) |
252 |
|
CALL TIMER_STOP ('CALC_GW [SPIN-DOWN]',myThid) |
253 |
|
ENDIF |
254 |
|
#endif |
255 |
|
|
256 |
C-- Do time averages |
C-- Do time averages |
257 |
#ifdef ALLOW_DIAGNOSTICS |
#ifdef ALLOW_DIAGNOSTICS |
258 |
IF (taveFreq.GT.0.) THEN |
IF (taveFreq.GT.0.) THEN |