118 |
# ifdef ALLOW_CG2D_NSA |
# ifdef ALLOW_CG2D_NSA |
119 |
# include "CG2D.h" |
# include "CG2D.h" |
120 |
# endif |
# endif |
121 |
# ifdef ALLOW_DIVIDED_ADJOINT_MPI |
# ifdef ALLOW_DIVIDED_ADJOINT |
122 |
# include "mpif.h" |
# ifdef ALLOW_USE_MPI |
123 |
|
# include "mpif.h" |
124 |
|
# endif |
125 |
# endif |
# endif |
126 |
|
|
127 |
# include "tamc.h" |
# include "tamc.h" |
193 |
|
|
194 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
195 |
C == Routine arguments == |
C == Routine arguments == |
196 |
C note: under the multi-threaded model myiter and |
C note: under the multi-threaded model myIter and |
197 |
C mytime are local variables passed around as routine |
C myTime are local variables passed around as routine |
198 |
C arguments. Although this is fiddly it saves the need to |
C arguments. Although this is fiddly it saves the need to |
199 |
C impose additional synchronisation points when they are |
C impose additional synchronisation points when they are |
200 |
C updated. |
C updated. |
243 |
#endif |
#endif |
244 |
|
|
245 |
#ifdef ALLOW_ATM2D |
#ifdef ALLOW_ATM2D |
246 |
CALL TIMER_START('FORWARD_STEP_ATM2D [MAIN_DO_LOOP]',mythid) |
CALL TIMER_START('FORWARD_STEP_ATM2D [MAIN_DO_LOOP]',myThid) |
247 |
CALL FORWARD_STEP_ATM2D( iloop, mytime, myiter, mythid ) |
CALL FORWARD_STEP_ATM2D( iloop, myTime, myIter, myThid ) |
248 |
CALL TIMER_STOP ('FORWARD_STEP_ATM2D [MAIN_DO_LOOP]',mythid) |
CALL TIMER_STOP ('FORWARD_STEP_ATM2D [MAIN_DO_LOOP]',myThid) |
249 |
#else |
#else |
250 |
CALL TIMER_START('FORWARD_STEP [MAIN_DO_LOOP]',mythid) |
CALL TIMER_START('FORWARD_STEP [MAIN_DO_LOOP]',myThid) |
251 |
CALL FORWARD_STEP( iloop, mytime, myiter, mythid ) |
CALL FORWARD_STEP( iloop, myTime, myIter, myThid ) |
252 |
CALL TIMER_STOP ('FORWARD_STEP [MAIN_DO_LOOP]',mythid) |
CALL TIMER_STOP ('FORWARD_STEP [MAIN_DO_LOOP]',myThid) |
253 |
#endif |
#endif |
254 |
|
|
255 |
#ifdef ALLOW_AUTODIFF_OPENAD |
#ifdef ALLOW_AUTODIFF_OPENAD |