66 |
C /|\ | | | |--DYNAMICS |
C /|\ | | | |--DYNAMICS |
67 |
C | | | | | o Evaluate "forward" terms |
C | | | | | o Evaluate "forward" terms |
68 |
C /|\ | | | | |
C /|\ | | | | |
69 |
C | | | | |--DO_THE_MODEL_IO |
C | | | | |--SOLVE_FOR_PRESSURE |
70 |
C /|\ | | | | o Write model state |
C /|\ | | | | o Find pressure field to keep flow non-divergent |
71 |
C | | | | | |
C | | | | | |
72 |
C /|\ | | | |--SOLVE_FOR_PRESSURE |
C /|\ | | | |--THE_CORRECTION_STEP |
73 |
C | | | | | o Find pressure field to keep flow non-divergent |
C | | | | | o Correct flow field with and cycle time-stepping arrays |
74 |
C /|\ | | | | |
C /|\ | | | | |
75 |
C | | | | |--DO_GTERM_BLOCKING_EXCHANGES |
C | | | | |--DO_GTERM_BLOCKING_EXCHANGES |
76 |
C /|\ | | | | o Update overlap regions |
C /|\ | | | | o Update overlap regions |
77 |
C | | | | | |
C | | | | | |
78 |
C /|\ | | | |--WRITE_CHECKPOINT |
C /|\ | | | |--DO_THE_MODEL_IO |
79 |
C | | | | | o Write restart file(s) |
C | | | | | o Write model state |
80 |
C /|\ | | | |
C /|\ | | | | |
81 |
|
C | | | | |--WRITE_CHECKPOINT |
82 |
|
C /|\ | | | | o Write restart file(s) |
83 |
C | | | | |
C | | | | |
84 |
|
C /|\ | | | |
85 |
C |<== | | | ** Time stepping loop finishes here ** |
C |<== | | | ** Time stepping loop finishes here ** |
86 |
C | | | |
C | | | |
87 |
C | | |-- |
C | | |-- |
101 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
102 |
#include "PARAMS.h" |
#include "PARAMS.h" |
103 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
|
#include "CG2D.h" |
|
104 |
#ifdef ALLOW_NONHYDROSTATIC |
#ifdef ALLOW_NONHYDROSTATIC |
105 |
#include "CG3D.h" |
#include "CG3D.h" |
106 |
#endif |
#endif |
115 |
C arguments. Although this is fiddly it saves the need to |
C arguments. Although this is fiddly it saves the need to |
116 |
C impose additional synchronisation points when they are |
C impose additional synchronisation points when they are |
117 |
C updated. |
C updated. |
118 |
|
C myCurrentTime - Time counter for this thread |
119 |
|
C myCurrentIter - Iteration counter for this thread |
120 |
|
INTEGER myCurrentIter |
121 |
|
_RL myCurrentTime |
122 |
|
|
123 |
C-- This timer encompasses the whole code |
C-- This timer encompasses the whole code |
124 |
CALL TIMER_START('ALL [THE_MODEL_MAIN]',myThid) |
CALL TIMER_START('ALL [THE_MODEL_MAIN]',myThid) |
130 |
CALL TIMER_STOP ('INITIALISE_FIXED [THE_MODEL_MAIN]',myThid) |
CALL TIMER_STOP ('INITIALISE_FIXED [THE_MODEL_MAIN]',myThid) |
131 |
|
|
132 |
|
|
133 |
|
myCurrentTime = startTime |
134 |
|
myCurrentIter = nIter0 |
135 |
|
|
136 |
C-- Call time stepping loop of full model |
C-- Call time stepping loop of full model |
137 |
CALL TIMER_START('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
CALL TIMER_START('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
138 |
CALL THE_MAIN_LOOP( myThid ) |
CALL THE_MAIN_LOOP(myCurrentTime, myCurrentIter, myThid ) |
139 |
CALL TIMER_STOP ('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
CALL TIMER_STOP ('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
140 |
|
|
141 |
|
|