/[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.77 by heimbach, Fri May 28 15:47:01 2004 UTC revision 1.94 by ce107, Fri May 5 19:00:28 2006 UTC
# Line 34  C  : Line 34  C  :
34  C  |  C  |
35  C  |-THE_MODEL_MAIN :: Primary driver for the MITgcm algorithm  C  |-THE_MODEL_MAIN :: Primary driver for the MITgcm algorithm
36  C    |              :: Called from WRAPPER level numerical  C    |              :: Called from WRAPPER level numerical
37  C    |              :: code innvocation routine. On entry  C    |              :: code invocation routine. On entry
38  C    |              :: to THE_MODEL_MAIN separate thread and  C    |              :: to THE_MODEL_MAIN separate thread and
39  C    |              :: separate processes will have been established.  C    |              :: separate processes will have been established.
40  C    |              :: Each thread and process will have a unique ID  C    |              :: Each thread and process will have a unique ID
# Line 48  C    | |-INI_PARMS :: Routine to set ker Line 48  C    | |-INI_PARMS :: Routine to set ker
48  C    | |           :: By default kernel parameters are read from file  C    | |           :: By default kernel parameters are read from file
49  C    | |           :: "data" in directory in which code executes.  C    | |           :: "data" in directory in which code executes.
50  C    | |  C    | |
51  C    | |-MON_INIT :: Initialises monitor pacakge ( see pkg/monitor )  C    | |-MON_INIT :: Initializes monitor package ( see pkg/monitor )
52  C    | |  C    | |
53  C    | |-INI_GRID :: Control grid array (vert. and hori.) initialisation.  C    | |-INI_GRID :: Control grid array (vert. and hori.) initialization.
54  C    | | |        :: Grid arrays are held and described in GRID.h.  C    | | |        :: Grid arrays are held and described in GRID.h.
55  C    | | |  C    | | |
56  C    | | |-INI_VERTICAL_GRID        :: Initialise vertical grid arrays.  C    | | |-INI_VERTICAL_GRID        :: Initialize vertical grid arrays.
57  C    | | |  C    | | |
58  C    | | |-INI_CARTESIAN_GRID       :: Cartesian horiz. grid initialisation  C    | | |-INI_CARTESIAN_GRID       :: Cartesian horiz. grid initialization
59  C    | | |                          :: (calculate grid from kernel parameters).  C    | | |                          :: (calculate grid from kernel parameters).
60  C    | | |  C    | | |
61  C    | | |-INI_SPHERICAL_POLAR_GRID :: Spherical polar horiz. grid  C    | | |-INI_SPHERICAL_POLAR_GRID :: Spherical polar horiz. grid
62  C    | | |                          :: initialisation (calculate grid from  C    | | |                          :: initialization (calculate grid from
63  C    | | |                          :: kernel parameters).  C    | | |                          :: kernel parameters).
64  C    | | |  C    | | |
65  C    | | |-INI_CURVILINEAR_GRID     :: General orthogonal, structured horiz.  C    | | |-INI_CURVILINEAR_GRID     :: General orthogonal, structured horiz.
66  C    | |                            :: grid initialisations. ( input from raw  C    | |                            :: grid initializations. ( input from raw
67  C    | |                            :: grid files, LONC.bin, DXF.bin etc... )  C    | |                            :: grid files, LONC.bin, DXF.bin etc... )
68  C    | |  C    | |
69  C    | |-INI_DEPTHS    :: Read (from "bathyFile") or set bathymetry/orgography.  C    | |-INI_DEPTHS    :: Read (from "bathyFile") or set bathymetry/orgography.
# Line 74  C    | | Line 74  C    | |
74  C    | |-INI_LINEAR_PHSURF :: Set ref. surface Bo_surf  C    | |-INI_LINEAR_PHSURF :: Set ref. surface Bo_surf
75  C    | |  C    | |
76  C    | |-INI_CORI          :: Set coriolis term. zero, f-plane, beta-plane,  C    | |-INI_CORI          :: Set coriolis term. zero, f-plane, beta-plane,
77  C    | |                   :: sphere optins are coded.  C    | |                   :: sphere options are coded.
78  C    | |  C    | |
79  C    | |-PACAKGES_BOOT      :: Start up the optional package environment.  C    | |-PACAKGES_BOOT      :: Start up the optional package environment.
80  C    | |                    :: Runtime selection of active packages.  C    | |                    :: Runtime selection of active packages.
# Line 107  C    | | |-GCHEM_INIT_FIXED    :: tracer Line 107  C    | | |-GCHEM_INIT_FIXED    :: tracer
107  C    | |  C    | |
108  C    | |-ZONAL_FILT_INIT       :: FFT filter Package. see pkg/zonal_filt  C    | |-ZONAL_FILT_INIT       :: FFT filter Package. see pkg/zonal_filt
109  C    | |  C    | |
110  C    | |-INI_CG2D              :: 2d con. grad solver initialisation.  C    | |-INI_CG2D              :: 2d con. grad solver initialization.
111  C    | |  C    | |
112  C    | |-INI_CG3D              :: 3d con. grad solver initialisation.  C    | |-INI_CG3D              :: 3d con. grad solver initialization.
113  C    | |  C    | |
114  C    | |-CONFIG_SUMMARY        :: Provide synopsis of kernel setup.  C    | |-CONFIG_SUMMARY        :: Provide synopsis of kernel setup.
115  C    |                         :: Includes annotated table of kernel  C    |                         :: Includes annotated table of kernel
# Line 118  C    | Line 118  C    |
118  C    |-CTRL_UNPACK :: Control vector support package. see pkg/ctrl  C    |-CTRL_UNPACK :: Control vector support package. see pkg/ctrl
119  C    |  C    |
120  C    |-ADTHE_MAIN_LOOP :: Derivative evaluating form of main time stepping loop  C    |-ADTHE_MAIN_LOOP :: Derivative evaluating form of main time stepping loop
121  C    !                 :: Auotmatically gerenrated by TAMC/TAF.  C    !                 :: Auotmatically generated by TAMC/TAF.
122  C    |  C    |
123  C    |-CTRL_PACK   :: Control vector support package. see pkg/ctrl  C    |-CTRL_PACK   :: Control vector support package. see pkg/ctrl
124  C    |  C    |
# Line 132  C    | | | Line 132  C    | | |
132  C    | | |-INI_LINEAR_PHISURF :: Set ref. surface Bo_surf  C    | | |-INI_LINEAR_PHISURF :: Set ref. surface Bo_surf
133  C    | | |  C    | | |
134  C    | | |-INI_CORI     :: Set coriolis term. zero, f-plane, beta-plane,  C    | | |-INI_CORI     :: Set coriolis term. zero, f-plane, beta-plane,
135  C    | | |              :: sphere optins are coded.  C    | | |              :: sphere options are coded.
136  C    | | |  C    | | |
137  C    | | |-INI_CG2D     :: 2d con. grad solver initialisation.  C    | | |-INI_CG2D     :: 2d con. grad solver initialization.
138  C    | | |-INI_CG3D     :: 3d con. grad solver initialisation.  C    | | |-INI_CG3D     :: 3d con. grad solver initialization.
139  C    | | |-INI_MIXING   :: Initialise diapycnal diffusivity.  C    | | |-INI_MIXING   :: Initialize diapycnal diffusivity.
140  C    | | |-INI_DYNVARS  :: Initialise to zero all DYNVARS.h arrays (dynamical  C    | | |-INI_DYNVARS  :: Initialize to zero all DYNVARS.h arrays (dynamical
141  C    | | |              :: fields).  C    | | |              :: fields).
142  C    | | |  C    | | |
143  C    | | |-INI_FIELDS   :: Control initialising model fields to non-zero  C    | | |-INI_FIELDS   :: Control initializing model fields to non-zero
144  C    | | | |-INI_VEL    :: Initialize 3D flow field.  C    | | | |-INI_VEL    :: Initialize 3D flow field.
145  C    | | | |-INI_THETA  :: Set model initial temperature field.  C    | | | |-INI_THETA  :: Set model initial temperature field.
146  C    | | | |-INI_SALT   :: Set model initial salinity field.  C    | | | |-INI_SALT   :: Set model initial salinity field.
147  C    | | | |-INI_PSURF  :: Set model initial free-surface height/pressure.  C    | | | |-INI_PSURF  :: Set model initial free-surface height/pressure.
148  C    | | | |-INI_PRESSURE :: Compute model initial hydrostatic pressure  C    | | | |-INI_PRESSURE :: Compute model initial hydrostatic pressure
149  C    | | |  C    | | | |-READ_CHECKPOINT :: Read the checkpoint
 C    | | |-INI_TR1      :: Set initial tracer 1 distribution.  
150  C    | | |  C    | | |
151  C    | | |-THE_CORRECTION_STEP :: Step forward to next time step.  C    | | |-THE_CORRECTION_STEP :: Step forward to next time step.
152  C    | | | |                   :: Here applied to move restart conditions  C    | | | |                   :: Here applied to move restart conditions
# Line 174  C    | | | |-FIND_RHO  :: Find adjacent Line 173  C    | | | |-FIND_RHO  :: Find adjacent
173  C    | | | |-CONVECT   :: Mix static instability.  C    | | | |-CONVECT   :: Mix static instability.
174  C    | | | |-TIMEAVE_CUMULATE :: Update convection statistics.  C    | | | |-TIMEAVE_CUMULATE :: Update convection statistics.
175  C    | | |  C    | | |
176  C    | | |-PACKAGES_INIT_VARIABLES :: Does initialisation of time evolving  C    | | |-PACKAGES_INIT_VARIABLES :: Does initialization of time evolving
177  C    | | | |                       :: package data.  C    | | | |                       :: package data.
178  C    | | | |  C    | | | |
179  C    | | | |-GMREDI_INIT          :: GM package. ( see pkg/gmredi )  C    | | | |-GMREDI_INIT          :: GM package. ( see pkg/gmredi )
# Line 182  C    | | | |-KPP_INIT             :: KPP Line 181  C    | | | |-KPP_INIT             :: KPP
181  C    | | | |-KPP_OPEN_DIAGS      C    | | | |-KPP_OPEN_DIAGS    
182  C    | | | |-OBCS_INIT_VARIABLES  :: Open bndy. package. ( see pkg/obcs )  C    | | | |-OBCS_INIT_VARIABLES  :: Open bndy. package. ( see pkg/obcs )
183  C    | | | |-PTRACERS_INIT        :: multi. tracer package,(see pkg/ptracers)  C    | | | |-PTRACERS_INIT        :: multi. tracer package,(see pkg/ptracers)
184  C    | | | |-GCHEM_INIT           : : tracer interface pkg (see pkh/gchem)  C    | | | |-GCHEM_INIT           :: tracer interface pkg (see pkh/gchem)
185  C    | | | |-AIM_INIT             :: Interm. atmos package. ( see pkg/aim )  C    | | | |-AIM_INIT             :: Interm. atmos package. ( see pkg/aim )
186  C    | | | |-CTRL_MAP_INI         :: Control vector package.( see pkg/ctrl )  C    | | | |-CTRL_MAP_INI         :: Control vector package.( see pkg/ctrl )
187  C    | | | |-COST_INIT            :: Cost function package. ( see pkg/cost )  C    | | | |-COST_INIT            :: Cost function package. ( see pkg/cost )
# Line 221  C/\  | | |-CALC_EXACT_ETA :: Change SSH Line 220  C/\  | | |-CALC_EXACT_ETA :: Change SSH
220  C/\  | | |-CALC_SURF_DR   :: Calculate the new surface level thickness.  C/\  | | |-CALC_SURF_DR   :: Calculate the new surface level thickness.
221  C/\  | | |-EXF_GETFORCING :: External forcing package. ( pkg/exf )  C/\  | | |-EXF_GETFORCING :: External forcing package. ( pkg/exf )
222  C/\  | | |-EXTERNAL_FIELDS_LOAD :: Control loading time dep. external data.  C/\  | | |-EXTERNAL_FIELDS_LOAD :: Control loading time dep. external data.
223  C/\  | | | |                    :: Simple interpolcation between end-points  C/\  | | | |                    :: Simple interpolation between end-points
224  C/\  | | | |                    :: for forcing datasets.  C/\  | | | |                    :: for forcing datasets.
225  C/\  | | | |                    C/\  | | | |                  
226  C/\  | | | |-EXCH :: Sync forcing. in overlap regions.  C/\  | | | |-EXCH :: Sync forcing. in overlap regions.
# Line 279  C/\  | | | | |-FREESURF_RESCALE_G :: Re- Line 278  C/\  | | | | |-FREESURF_RESCALE_G :: Re-
278  C/\  | | | |  C/\  | | | |
279  C/\  | | | |-TIMESTEP_TRACER      :: Step tracer field forward in time  C/\  | | | |-TIMESTEP_TRACER      :: Step tracer field forward in time
280  C/\  | | | |  C/\  | | | |
 C/\  | | | |-CALC_GTR1            :: Calculate other tracer(s) tendency terms  
 C/\  | | | | |  
 C/\  | | | | |-GAD_CALC_RHS       :: Generalised advection package  
 C/\  | | | | |                    :: ( see pkg/gad )  
 C/\  | | | | |  
 C/\  | | | | |-EXTERNAL_FORCING_TR:: Problem specific forcing for tracer.  
 C/\  | | | | |-ADAMS_BASHFORTH2   :: Extrapolate tendencies forward in time.  
 C/\  | | | | |-FREESURF_RESCALE_G :: Re-scale Gs for free-surface height.  
 C/\  | | | |  
281  C/\  | | | |-TIMESTEP_TRACER      :: Step tracer field forward in time  C/\  | | | |-TIMESTEP_TRACER      :: Step tracer field forward in time
282  C/\  | | | |  C/\  | | | |
283  C/\  | | | |-PTRACERS_INTEGRATE   :: Integrate other tracer(s) ( see pkg/ptracers ).  C/\  | | | |-PTRACERS_INTEGRATE   :: Integrate other tracer(s) (see pkg/ptracers).
284  C/\  | | | | |  C/\  | | | | |
285  C/\  | | | | |-GAD_CALC_RHS       :: Generalised advection package  C/\  | | | | |-GAD_CALC_RHS       :: Generalised advection package
286  C/\  | | | | | |                  :: ( see pkg/gad )  C/\  | | | | | |                  :: ( see pkg/gad )
# Line 397  C    |-TIMER_PRINTALL :: Computational t Line 387  C    |-TIMER_PRINTALL :: Computational t
387  C    |  C    |
388  C    |-COMM_STATS     :: Summarise inter-proc and inter-thread communication  C    |-COMM_STATS     :: Summarise inter-proc and inter-thread communication
389  C                     :: events.  C                     :: events.
390    C
391  C \ev  C \ev
392  C  C
393  C  C
# Line 469  C     == Global variables === Line 460  C     == Global variables ===
460  #include "EEPARAMS.h"  #include "EEPARAMS.h"
461  #include "PARAMS.h"  #include "PARAMS.h"
462  #include "DYNVARS.h"  #include "DYNVARS.h"
 #ifdef ALLOW_NONHYDROSTATIC  
 # include "CG3D.h"  
 #endif  
463    
 #ifdef ALLOW_ECCO_OPTIMIZATION  
 # include "optim.h"  
 #endif  
464  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
465  # include "tamc.h"  # include "tamc.h"
466  #endif  #endif
467    #ifdef ALLOW_CTRL
468    # include "ctrl.h"
469    # include "optim.h"
470    #endif
471    
472  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
473  C     == Routine arguments ==  C     == Routine arguments ==
# Line 498  C     myCurrentIter - Iteration counter Line 487  C     myCurrentIter - Iteration counter
487        _RL     myCurrentTime        _RL     myCurrentTime
488        logical  exst        logical  exst
489        logical  lastdiva        logical  lastdiva
 #ifndef ALLOW_ECCO_OPTIMIZATION  
       integer optimcycle  
 #endif  
490  CEOP  CEOP
491  c--   set default:  c--   set default:
 #ifndef ALLOW_ECCO_OPTIMIZATION  
       optimcycle = 0  
 #endif  
492        lastdiva = .TRUE.        lastdiva = .TRUE.
493    
494  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
495        IF (debugMode) CALL DEBUG_ENTER('THE_MODEL_MAIN',myThid)        IF (debugMode) CALL DEBUG_ENTER('THE_MODEL_MAIN',myThid)
496  #endif  #endif
497    
498    #if defined(USE_PAPI) || defined(USE_PCL_FLOPS_SFP) || defined(USE_PCL_FLOPS) || defined(USE_PCL)
499          CALL TIMER_CONTROL('','INIT','THE_MODEL_MAIN',myThid)
500    #endif
501  C--   This timer encompasses the whole code  C--   This timer encompasses the whole code
502        CALL TIMER_START('ALL                    [THE_MODEL_MAIN]',myThid)        CALL TIMER_START('ALL                    [THE_MODEL_MAIN]',myThid)
503    
# Line 529  C--   Set model configuration (fixed arr Line 515  C--   Set model configuration (fixed arr
515    
516  #if ( defined (ALLOW_ADMTLM) )  #if ( defined (ALLOW_ADMTLM) )
517  c  c
518        CALL TIMER_START('ADMTLM_DRIVER          [THE_MODEL_MAIN]',mythid)        STOP 'should never get here; ADMTLM_DSVD calls ADMTLM_DRIVER'
       CALL ADMTLM_DRIVER ( myThid )  
       CALL TIMER_STOP ('ADMTLM_DRIVER          [THE_MODEL_MAIN]',mythid)  
519  c  c
520  #elif ( defined (ALLOW_AUTODIFF))  #elif ( defined (ALLOW_AUTODIFF))
521    
# Line 539  c Line 523  c
523        _BEGIN_MASTER( mythid )        _BEGIN_MASTER( mythid )
524        IF (myProcId .eq. 0) THEN        IF (myProcId .eq. 0) THEN
525           inquire( file='costfinal', exist=exst )           inquire( file='costfinal', exist=exst )
526           IF ( .NOT. exst .AND. niter0 .EQ. 0 ) THEN           IF ( .NOT. exst ) THEN
527              IF ( optimcycle.NE.0 ) THEN              IF ( optimcycle.NE.0 .AND. doMainUnpack ) THEN
528                 CALL TIMER_START('CTRL_UNPACK   [THE_MODEL_MAIN]',mythid)                 CALL TIMER_START('CTRL_UNPACK   [THE_MODEL_MAIN]',mythid)
529                 CALL CTRL_UNPACK( .TRUE. , mythid )                 CALL CTRL_UNPACK( .TRUE. , mythid )
530                 CALL TIMER_STOP ('CTRL_UNPACK   [THE_MODEL_MAIN]',mythid)                 CALL TIMER_STOP ('CTRL_UNPACK   [THE_MODEL_MAIN]',mythid)
531              ENDIF              ENDIF
             IF ( optimcycle.EQ.0 .AND. mycurrentiter.EQ.niter0 ) THEN  
                CALL TIMER_START('CTRL_PACK     [THE_MODEL_MAIN]',mythid)  
                CALL CTRL_PACK( .TRUE. , mythid )  
                CALL TIMER_STOP ('CTRL_PACK     [THE_MODEL_MAIN]',mythid)  
             ENDIF  
532           ENDIF           ENDIF
533        ENDIF        ENDIF
534        _END_MASTER( mythid )        _END_MASTER( mythid )
535        _BARRIER        _BARRIER
536  # endif /* EXCLUDE_CTRL_PACK */  # endif /* EXCLUDE_CTRL_PACK */
537    
538    # ifdef ALLOW_COST
539        CALL COST_DEPENDENT_INIT ( mythid )        CALL COST_DEPENDENT_INIT ( mythid )
540        _BARRIER        _BARRIER
541    # endif
542    
543  # if ( defined (ALLOW_TANGENTLINEAR_RUN) )  # if ( defined (ALLOW_TANGENTLINEAR_RUN) )
544  c  c
# Line 590  cph      CALL ADTHE_MAIN_LOOP ( mythid ) Line 571  cph      CALL ADTHE_MAIN_LOOP ( mythid )
571        CALL TIMER_STOP ('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)        CALL TIMER_STOP ('ADTHE_MAIN_LOOP          [ADJOINT RUN]', mythid)
572  #  endif /* ALLOW_DIVIDED_ADJOINT */  #  endif /* ALLOW_DIVIDED_ADJOINT */
573  c  c
574    # else /* forward run only within AD setting */
575    
576    #ifdef ALLOW_DEBUG
577          IF (debugMode) CALL DEBUG_CALL('THE_MAIN_LOOP',myThid)
578    #endif
579    C--   Call time stepping loop of full model
580          CALL TIMER_START('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)
581          CALL THE_MAIN_LOOP( myCurrentTime, myCurrentIter, myThid )
582          CALL TIMER_STOP ('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)
583    
584  # endif  # endif
585    
586  # ifndef EXCLUDE_CTRL_PACK  # ifndef EXCLUDE_CTRL_PACK
587        _BEGIN_MASTER( mythid )        _BEGIN_MASTER( mythid )
588        IF ( myProcId .eq. 0 .AND. lastdiva ) THEN        IF ( myProcId .eq. 0 .AND. lastdiva .AND. doMainPack ) THEN
589           CALL TIMER_START('CTRL_PACK           [THE_MODEL_MAIN]',mythid)           CALL TIMER_START('CTRL_PACK           [THE_MODEL_MAIN]',mythid)
590           call CTRL_PACK( .FALSE. , mythid )           CALL CTRL_PACK( .FALSE. , mythid )
591           CALL TIMER_STOP ('CTRL_PACK           [THE_MODEL_MAIN]',mythid)           CALL TIMER_STOP ('CTRL_PACK           [THE_MODEL_MAIN]',mythid)
592             IF ( ( optimcycle.EQ.0 .OR. (.NOT. doMainUnpack) )
593         &        .AND. mycurrentiter.EQ.niter0 ) THEN
594                CALL TIMER_START('CTRL_PACK     [THE_MODEL_MAIN]',mythid)
595                CALL CTRL_PACK( .TRUE. , mythid )
596                CALL TIMER_STOP ('CTRL_PACK     [THE_MODEL_MAIN]',mythid)
597             ENDIF
598        ENDIF        ENDIF
599        _END_MASTER( mythid )        _END_MASTER( mythid )
600        _BARRIER        _BARRIER
# Line 618  c Line 615  c
615  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
616        IF (debugMode) CALL DEBUG_CALL('THE_MAIN_LOOP',myThid)        IF (debugMode) CALL DEBUG_CALL('THE_MAIN_LOOP',myThid)
617  #endif  #endif
   
618  C--   Call time stepping loop of full model  C--   Call time stepping loop of full model
619        CALL TIMER_START('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)        CALL TIMER_START('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)
620        CALL THE_MAIN_LOOP( myCurrentTime, myCurrentIter, myThid )        CALL THE_MAIN_LOOP( myCurrentTime, myCurrentIter, myThid )
621        CALL TIMER_STOP ('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('THE_MAIN_LOOP          [THE_MODEL_MAIN]',myThid)
622    
623  #endif /* ALLOW_TANGENTLINEAR_RUN ALLOW_ADJOINT_RUN ALLOW_ADMTLM_RUN */  #endif /* ALLOW_TANGENTLINEAR_RUN ALLOW_ADJOINT_RUN ALLOW_ADMTLM */
624    
625  C--   Final checkpoint (in case the in-loop checkpoint was missed)  C--   Final checkpoint (in case the in-loop checkpoint was missed)
626        CALL TIMER_START('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)        CALL TIMER_START('WRITE_CHECKPOINT       [THE_MODEL_MAIN]',myThid)
# Line 636  C--   Final checkpoint (in case the in-l Line 632  C--   Final checkpoint (in case the in-l
632    
633        CALL TIMER_STOP ('ALL                    [THE_MODEL_MAIN]',myThid)        CALL TIMER_STOP ('ALL                    [THE_MODEL_MAIN]',myThid)
634    
635    #ifdef ALLOW_DIAGNOSTICS
636          IF (useDiagnostics) THEN
637    C       Close all diagnostics output files
638            CALL DIAGSTATS_CLOSE_IO( myThid )
639          ENDIF
640    #endif
641    
642  #ifdef ALLOW_MNC  #ifdef ALLOW_MNC
643        IF (useMNC) THEN        IF (useMNC) THEN
644  C       Close all open NetCDF files  C       Close all open NetCDF files

Legend:
Removed from v.1.77  
changed lines
  Added in v.1.94

  ViewVC Help
Powered by ViewVC 1.1.22