437 |
|
|
438 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
439 |
#include "tamc.h" |
#include "tamc.h" |
|
#include "cost.h" |
|
|
#include "adcost.h" |
|
440 |
#endif |
#endif |
441 |
|
|
442 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
453 |
C updated. |
C updated. |
454 |
C myCurrentTime - Time counter for this thread |
C myCurrentTime - Time counter for this thread |
455 |
C myCurrentIter - Iteration counter for this thread |
C myCurrentIter - Iteration counter for this thread |
456 |
|
INTEGER I |
457 |
|
INTEGER bi,bj |
458 |
INTEGER myCurrentIter |
INTEGER myCurrentIter |
459 |
_RL myCurrentTime |
_RL myCurrentTime |
460 |
CEOP |
CEOP |
462 |
C-- This timer encompasses the whole code |
C-- This timer encompasses the whole code |
463 |
CALL TIMER_START('ALL [THE_MODEL_MAIN]',myThid) |
CALL TIMER_START('ALL [THE_MODEL_MAIN]',myThid) |
464 |
|
|
|
|
|
465 |
C-- Set model configuration (fixed arrays) |
C-- Set model configuration (fixed arrays) |
466 |
CALL TIMER_START('INITIALISE_FIXED [THE_MODEL_MAIN]',myThid) |
CALL TIMER_START('INITIALISE_FIXED [THE_MODEL_MAIN]',myThid) |
467 |
CALL INITIALISE_FIXED( myThid ) |
CALL INITIALISE_FIXED( myThid ) |
481 |
_END_MASTER( mythid ) |
_END_MASTER( mythid ) |
482 |
_BARRIER |
_BARRIER |
483 |
|
|
484 |
fc = 0.0 |
CALL COST_DEPENDENT_INIT ( mythid ) |
485 |
adfc = 1.0 |
_BARRIER |
486 |
|
|
487 |
CALL TIMER_START('ADTHE_MAIN_LOOP [ADJOINT RUN]', mythid) |
CALL TIMER_START('ADTHE_MAIN_LOOP [ADJOINT RUN]', mythid) |
488 |
CALL ADTHE_MAIN_LOOP ( mythid ) |
CALL ADTHE_MAIN_LOOP ( mythid ) |
489 |
CALL TIMER_STOP ('ADTHE_MAIN_LOOP [ADJOINT RUN]', mythid) |
CALL TIMER_STOP ('ADTHE_MAIN_LOOP [ADJOINT RUN]', mythid) |
505 |
end if |
end if |
506 |
#endif |
#endif |
507 |
|
|
508 |
|
#elif (defined (ALLOW_TANGENTLINEAR_RUN)) |
509 |
|
|
510 |
|
_BEGIN_MASTER( mythid ) |
511 |
|
IF (myProcId .eq. 0) THEN |
512 |
|
CALL CTRL_UNPACK( mycurrentiter, mycurrenttime, mythid ) |
513 |
|
ENDIF |
514 |
|
_END_MASTER( mythid ) |
515 |
|
_BARRIER |
516 |
|
|
517 |
|
CALL COST_DEPENDENT_INIT ( mythid ) |
518 |
|
_BARRIER |
519 |
|
|
520 |
|
CALL TIMER_START('G_THE_MAIN_LOOP [FTL RUN]', mythid) |
521 |
|
CALL G_THE_MAIN_LOOP ( myCurrentTime, myCurrentIter, myThid ) |
522 |
|
CALL TIMER_STOP ('G_THE_MAIN_LOOP [FTL RUN]', mythid) |
523 |
|
_BARRIER |
524 |
|
|
525 |
|
_BEGIN_MASTER( mythid ) |
526 |
|
IF (myProcId .eq. 0) THEN |
527 |
|
call CTRL_PACK( mycurrentiter, mycurrenttime, mythid ) |
528 |
|
ENDIF |
529 |
|
_END_MASTER( mythid ) |
530 |
|
_BARRIER |
531 |
|
|
532 |
#else /* ALLOW_ADJOINT_RUN undef */ |
#else /* ALLOW_ADJOINT_RUN undef */ |
533 |
|
|
534 |
C-- Call time stepping loop of full model |
C-- Call time stepping loop of full model |
535 |
CALL TIMER_START('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
CALL TIMER_START('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
536 |
CALL THE_MAIN_LOOP(myCurrentTime, myCurrentIter, myThid ) |
CALL THE_MAIN_LOOP( myCurrentTime, myCurrentIter, myThid ) |
537 |
CALL TIMER_STOP ('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
CALL TIMER_STOP ('THE_MAIN_LOOP [THE_MODEL_MAIN]',myThid) |
538 |
|
|
539 |
#endif /* ALLOW_ADJOINT_RUN */ |
#endif /* ALLOW_ADJOINT_RUN */ |