/[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.44 by heimbach, Thu Jan 17 16:55:25 2002 UTC revision 1.45 by heimbach, Mon Sep 16 18:11:58 2002 UTC
# Line 460  C     myCurrentIter - Iteration counter Line 460  C     myCurrentIter - Iteration counter
460  CEOP  CEOP
461    
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 )
468        CALL TIMER_STOP ('INITIALISE_FIXED   [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('INITIALISE_FIXED       [THE_MODEL_MAIN]',myThid)
469    
470        myCurrentTime = startTime        myCurrentTime = startTime
471        myCurrentIter = nIter0        myCurrentIter = nIter0
472    
473  #if ( defined (ALLOW_ADJOINT_RUN) || \  #if ( defined (ALLOW_ADJOINT_RUN) || \
474          defined (ALLOW_TANGENTLINEAR_RUN) || \
475        defined (ALLOW_GRADIENT_CHECK) || \        defined (ALLOW_GRADIENT_CHECK) || \
476        defined (ALLOW_ECCO_OPTIMIZATION) )        defined (ALLOW_ECCO_OPTIMIZATION) )
477    
478        _BEGIN_MASTER( mythid )        _BEGIN_MASTER( mythid )
479        IF (myProcId .eq. 0) THEN        IF (myProcId .eq. 0) THEN
480             CALL TIMER_START('CTRL_UNPACK         [THE_MODEL_MAIN]',mythid)
481           CALL CTRL_UNPACK( mycurrentiter, mycurrenttime, mythid )           CALL CTRL_UNPACK( mycurrentiter, mycurrenttime, mythid )
482             CALL TIMER_STOP ('CTRL_UNPACK         [THE_MODEL_MAIN]',mythid)
483        ENDIF        ENDIF
484        _END_MASTER( mythid )        _END_MASTER( mythid )
485        _BARRIER        _BARRIER
# Line 484  C--   Set model configuration (fixed arr Line 487  C--   Set model configuration (fixed arr
487        CALL COST_DEPENDENT_INIT ( mythid )        CALL COST_DEPENDENT_INIT ( mythid )
488        _BARRIER        _BARRIER
489    
490        CALL TIMER_START('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)  #if ( defined (ALLOW_ADJOINT_RUN) || \
491          defined (ALLOW_ECCO_OPTIMIZATION) )
492          CALL TIMER_START('ADTHE_MAIN_LOOP           [ADJOINT RUN]',mythid)
493        CALL ADTHE_MAIN_LOOP ( mythid )        CALL ADTHE_MAIN_LOOP ( mythid )
494        CALL TIMER_STOP ('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)        CALL TIMER_STOP ('ADTHE_MAIN_LOOP           [ADJOINT RUN]',mythid)
       _BARRIER  
   
       _BEGIN_MASTER( mythid )  
       IF (myProcId .eq. 0) THEN  
          call CTRL_PACK( mycurrentiter, mycurrenttime, mythid )  
       ENDIF  
       _END_MASTER( mythid )  
495        _BARRIER        _BARRIER
   
 #ifdef ALLOW_GRADIENT_CHECK  
       if (useGrdchk) then  
          CALL TIMER_START('GRDCHK_MAIN          [ADJOINT RUN]', mythid)  
          CALL GRDCHK_MAIN( mythid )  
          CALL TIMER_STOP ('GRDCHK_MAIN          [ADJOINT RUN]', mythid)  
          _BARRIER  
       end if  
 #endif  
   
496  #elif (defined (ALLOW_TANGENTLINEAR_RUN))  #elif (defined (ALLOW_TANGENTLINEAR_RUN))
497          CALL TIMER_START('G_THE_MAIN_LOOP           [TANGENT RUN]',mythid)
       _BEGIN_MASTER( mythid )  
       IF (myProcId .eq. 0) THEN  
          CALL CTRL_UNPACK( mycurrentiter, mycurrenttime, mythid )  
       ENDIF  
       _END_MASTER( mythid )  
       _BARRIER  
   
       CALL COST_DEPENDENT_INIT ( mythid )  
       _BARRIER  
   
       CALL TIMER_START('G_THE_MAIN_LOOP          [FTL RUN]', mythid)  
498        CALL G_THE_MAIN_LOOP ( myCurrentTime, myCurrentIter, myThid )        CALL G_THE_MAIN_LOOP ( myCurrentTime, myCurrentIter, myThid )
499        CALL TIMER_STOP ('G_THE_MAIN_LOOP          [FTL RUN]', mythid)        CALL TIMER_STOP ('G_THE_MAIN_LOOP           [TANGENT RUN]',mythid)
500        _BARRIER        _BARRIER
501    #endif
502    
503        _BEGIN_MASTER( mythid )        _BEGIN_MASTER( mythid )
504        IF (myProcId .eq. 0) THEN        IF (myProcId .eq. 0) THEN
505             CALL TIMER_START('CTLR_PACK           [THE_MODEL_MAIN]',mythid)
506           call CTRL_PACK( mycurrentiter, mycurrenttime, mythid )           call CTRL_PACK( mycurrentiter, mycurrenttime, mythid )
507             CALL TIMER_STOP ('CTLR_PACK           [THE_MODEL_MAIN]',mythid)
508        ENDIF        ENDIF
509        _END_MASTER( mythid )        _END_MASTER( mythid )
510        _BARRIER        _BARRIER
# Line 532  C--   Set model configuration (fixed arr Line 512  C--   Set model configuration (fixed arr
512  #else /* ALLOW_ADJOINT_RUN undef */  #else /* ALLOW_ADJOINT_RUN undef */
513    
514  C--   Call time stepping loop of full model  C--   Call time stepping loop of full model
515        CALL TIMER_START('THE_MAIN_LOOP      [THE_MODEL_MAIN]',myThid)        CALL TIMER_START('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)
516        CALL THE_MAIN_LOOP( myCurrentTime, myCurrentIter, myThid )        CALL THE_MAIN_LOOP( myCurrentTime, myCurrentIter, myThid )
517        CALL TIMER_STOP ('THE_MAIN_LOOP      [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)
518    
519  #endif /* ALLOW_ADJOINT_RUN */  #endif /* ALLOW_ADJOINT_RUN */
520    
521    #ifdef ALLOW_GRADIENT_CHECK
522          if (useGrdchk) then
523             CALL TIMER_START('GRDCHK_MAIN         [THE_MODEL_MAIN]',mythid)
524             CALL GRDCHK_MAIN( mythid )
525             CALL TIMER_STOP ('GRDCHK_MAIN         [THE_MODEL_MAIN]',mythid)
526             _BARRIER
527          end if
528    #endif
529    
530  C--   Final checkpoint (incase the in-loop checkpoint was missed)  C--   Final checkpoint (incase the in-loop checkpoint was missed)
531        CALL TIMER_START('WRITE_CHECKPOINT   [THE_MODEL_MAIN]',myThid)        CALL TIMER_START('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)
532        CALL WRITE_CHECKPOINT(        CALL WRITE_CHECKPOINT(
533       &        .TRUE., myCurrentTime, myCurrentIter, myThid )       &        .TRUE., myCurrentTime, myCurrentIter, myThid )
534        CALL TIMER_STOP ('WRITE_CHECKPOINT   [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)
535    
536        CALL TIMER_STOP ('ALL                [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('ALL                    [THE_MODEL_MAIN]',myThid)
537    
538  C--   Write timer statistics  C--   Write timer statistics
539        IF ( myThid .EQ. 1 ) THEN        IF ( myThid .EQ. 1 ) THEN

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.45

  ViewVC Help
Powered by ViewVC 1.1.22