/[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.65 by heimbach, Thu Oct 30 19:09:05 2003 UTC revision 1.74 by dimitri, Tue Mar 2 08:45:46 2004 UTC
# Line 226  C/\  | | | |                    :: for f Line 226  C/\  | | | |                    :: for f
226  C/\  | | | |                    C/\  | | | |                  
227  C/\  | | | |-EXCH :: Sync forcing. in overlap regions.  C/\  | | | |-EXCH :: Sync forcing. in overlap regions.
228  C/\  | | |-SEAICE_MODEL   :: Compute sea-ice terms. ( pkg/seaice )  C/\  | | |-SEAICE_MODEL   :: Compute sea-ice terms. ( pkg/seaice )
229    C/\  | | |-FREEZE         :: Limit surface temperature.
230  C/\  | | |-GCHEM_FIELD_LOAD :: load tracer forcing fields (pkg/gchem)  C/\  | | |-GCHEM_FIELD_LOAD :: load tracer forcing fields (pkg/gchem)
231  C/\  | | |  C/\  | | |
232  C/\  | | |-THERMODYNAMICS :: theta, salt + tracer equations driver.  C/\  | | |-THERMODYNAMICS :: theta, salt + tracer equations driver.
# Line 303  C/\  | | | | |-FREESURF_RESCALE_G :: Re- Line 304  C/\  | | | | |-FREESURF_RESCALE_G :: Re-
304  C/\  | | | | |-TIMESTEP_TRACER    :: Step tracer field forward in time  C/\  | | | | |-TIMESTEP_TRACER    :: Step tracer field forward in time
305  C/\  | | | |  C/\  | | | |
306  C/\  | | | |-OBCS_APPLY_TS        :: Open bndy. package (see pkg/obcs ).  C/\  | | | |-OBCS_APPLY_TS        :: Open bndy. package (see pkg/obcs ).
 C/\  | | | |-FREEZE               :: Limit range of temperature.  
307  C/\  | | | |  C/\  | | | |
308  C/\  | | | |-IMPLDIFF             :: Solve vertical implicit diffusion equation.  C/\  | | | |-IMPLDIFF             :: Solve vertical implicit diffusion equation.
309  C/\  | | | |-OBCS_APPLY_TS        :: Open bndy. package (see pkg/obcs ).  C/\  | | | |-OBCS_APPLY_TS        :: Open bndy. package (see pkg/obcs ).
# Line 378  C/\  | | | |-GMREDI_DIAGS        :: GM d Line 378  C/\  | | | |-GMREDI_DIAGS        :: GM d
378  C/\  | | | |-KPP_DO_DIAGS        :: KPP diags. see pkg/kpp  C/\  | | | |-KPP_DO_DIAGS        :: KPP diags. see pkg/kpp
379  C/\  | | | |-SBO_CALC            :: SBO diags. see pkg/sbo  C/\  | | | |-SBO_CALC            :: SBO diags. see pkg/sbo
380  C/\  | | | |-SBO_DIAGS           :: SBO diags. see pkg/sbo  C/\  | | | |-SBO_DIAGS           :: SBO diags. see pkg/sbo
381    C/\  | | | |-SEAICE_DO_DIAGS     :: SEAICE diags. see pkg/seaice
382  C/\  | | | |-GCHEM_DIAGS         :: gchem diags. see pkg/gchem  C/\  | | | |-GCHEM_DIAGS         :: gchem diags. see pkg/gchem
383  C/\  | | |  C/\  | | |
384  C/\  | | |-WRITE_CHECKPOINT :: Do I/O for restart files.  C/\  | | |-WRITE_CHECKPOINT :: Do I/O for restart files.
# Line 507  c--   set default: Line 508  c--   set default:
508  #endif  #endif
509        lastdiva = .TRUE.        lastdiva = .TRUE.
510    
511  #ifndef DISABLE_DEBUGMODE  #ifdef ALLOW_DEBUG
512        IF (debugMode) CALL DEBUG_ENTER('THE_MODEL_MAIN',myThid)        IF (debugMode) CALL DEBUG_ENTER('THE_MODEL_MAIN',myThid)
513  #endif  #endif
514    
515  C--   This timer encompasses the whole code  C--   This timer encompasses the whole code
516        CALL TIMER_START('ALL                    [THE_MODEL_MAIN]',myThid)        CALL TIMER_START('ALL                    [THE_MODEL_MAIN]',myThid)
517    
518  #ifndef DISABLE_DEBUGMODE  #ifdef ALLOW_DEBUG
519        IF (debugMode) CALL DEBUG_CALL('INITIALISE_FIXED',myThid)        IF (debugMode) CALL DEBUG_CALL('INITIALISE_FIXED',myThid)
520  #endif  #endif
521    
# Line 538  c Line 539  c
539        _BEGIN_MASTER( mythid )        _BEGIN_MASTER( mythid )
540        IF (myProcId .eq. 0) THEN        IF (myProcId .eq. 0) THEN
541           inquire( file='costfinal', exist=exst )           inquire( file='costfinal', exist=exst )
542           IF ( .NOT. exst ) THEN           IF ( .NOT. exst .AND. niter0 .EQ. 0 ) THEN
543              CALL TIMER_START('CTRL_UNPACK      [THE_MODEL_MAIN]',mythid)              CALL TIMER_START('CTRL_UNPACK      [THE_MODEL_MAIN]',mythid)
544              CALL CTRL_UNPACK( .TRUE. , mythid )              CALL CTRL_UNPACK( .TRUE. , mythid )
545              CALL TIMER_STOP ('CTRL_UNPACK      [THE_MODEL_MAIN]',mythid)              CALL TIMER_STOP ('CTRL_UNPACK      [THE_MODEL_MAIN]',mythid)
# Line 575  c-- The following assumes the TAF option Line 576  c-- The following assumes the TAF option
576           CALL COST_FINAL_STORE ( mythid, lastdiva )           CALL COST_FINAL_STORE ( mythid, lastdiva )
577        ELSE        ELSE
578           CALL TIMER_START('ADTHE_MAIN_LOOP       [ADJOINT RUN]', mythid)           CALL TIMER_START('ADTHE_MAIN_LOOP       [ADJOINT RUN]', mythid)
579           CALL ADTHE_MAIN_LOOP ( mythid )           CALL ADTHE_MAIN_LOOP ( myCurrentTime, myCurrentIter, mythid )
580           CALL TIMER_STOP ('ADTHE_MAIN_LOOP       [ADJOINT RUN]', mythid)           CALL TIMER_STOP ('ADTHE_MAIN_LOOP       [ADJOINT RUN]', mythid)
581           CALL COST_FINAL_RESTORE ( mythid, lastdiva )           CALL COST_FINAL_RESTORE ( mythid, lastdiva )
582        ENDIF        ENDIF
583  c--  c--
584  #  else /* ALLOW_DIVIDED_ADJOINT undef */  #  else /* ALLOW_DIVIDED_ADJOINT undef */
585        CALL TIMER_START('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)        CALL TIMER_START('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)
586        CALL ADTHE_MAIN_LOOP ( mythid )        CALL ADTHE_MAIN_LOOP ( myCurrentTime, myCurrentIter, mythid )
587    cph      CALL ADTHE_MAIN_LOOP ( mythid )
588        CALL TIMER_STOP ('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)        CALL TIMER_STOP ('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)
589  #  endif /* ALLOW_DIVIDED_ADJOINT */  #  endif /* ALLOW_DIVIDED_ADJOINT */
590  c  c
# Line 611  c Line 613  c
613    
614  #else /* ALL AD-related undef */  #else /* ALL AD-related undef */
615    
616  #ifndef DISABLE_DEBUGMODE  #ifdef ALLOW_DEBUG
617        IF (debugMode) CALL DEBUG_CALL('THE_MAIN_LOOP',myThid)        IF (debugMode) CALL DEBUG_CALL('THE_MAIN_LOOP',myThid)
618  #endif  #endif
619    
# Line 622  C--   Call time stepping loop of full mo Line 624  C--   Call time stepping loop of full mo
624    
625  #endif /* ALLOW_TANGENTLINEAR_RUN ALLOW_ADJOINT_RUN ALLOW_ADMTLM_RUN */  #endif /* ALLOW_TANGENTLINEAR_RUN ALLOW_ADJOINT_RUN ALLOW_ADMTLM_RUN */
626    
 C--   Sea-ice checkpoint (in case the in-loop checkpoint was missed)  
 #ifdef ALLOW_SEAICE  
       IF ( useSEAICE )  
      &     CALL SEAICE_WRITE_PICKUP(  
      &     .TRUE., myCurrentTime, myCurrentIter, myThid )  
 #endif  
   
627  C--   Final checkpoint (in case the in-loop checkpoint was missed)  C--   Final checkpoint (in case the in-loop checkpoint was missed)
628        CALL TIMER_START('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)        CALL TIMER_START('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)
629          CALL PACKAGES_WRITE_PICKUP(
630         I        .TRUE., myCurrentTime, myCurrentIter, myThid )
631        CALL WRITE_CHECKPOINT(        CALL WRITE_CHECKPOINT(
632       &        .TRUE., myCurrentTime, myCurrentIter, myThid )       I        .TRUE., myCurrentTime, myCurrentIter, myThid )
633        CALL TIMER_STOP ('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)
634    
635        CALL TIMER_STOP ('ALL                    [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('ALL                    [THE_MODEL_MAIN]',myThid)
636    
637    #ifdef ALLOW_MNC
638    C     Close all open NetCDF files
639          _BEGIN_MASTER( mythid )
640          CALL MNC_FILE_CLOSE_ALL()
641          _END_MASTER( mythid )
642    #endif
643    
644  C--   Write timer statistics  C--   Write timer statistics
645        IF ( myThid .EQ. 1 ) THEN        IF ( myThid .EQ. 1 ) THEN
646         CALL TIMER_PRINTALL( myThid )         CALL TIMER_PRINTALL( myThid )
647         CALL COMM_STATS         CALL COMM_STATS
648        ENDIF        ENDIF
649    
650  #ifndef DISABLE_DEBUGMODE  #ifdef ALLOW_DEBUG
651        IF (debugMode) CALL DEBUG_LEAVE('THE_MODEL_MAIN',myThid)        IF (debugMode) CALL DEBUG_LEAVE('THE_MODEL_MAIN',myThid)
652  #endif  #endif
653    

Legend:
Removed from v.1.65  
changed lines
  Added in v.1.74

  ViewVC Help
Powered by ViewVC 1.1.22