


Browse Hypertext Code Online
Browse MITgcm source code in hyperlinked form.
Select links from the calling tree below or select from the side bar
menu to access alphabetic lists of model subroutines and functions, runtime
parameters, compile time parameters and model source files.
MITgcm Development Main Call Tree
C
C Invocation from WRAPPER level...
C
C 
C THE_MODEL_MAIN :: Primary driver for the MITgcm algorithm
C  :: Called from WRAPPER level numerical
C  :: code invocation routine. On entry
C  :: to THE_MODEL_MAIN separate thread and
C  :: separate processes will have been established.
C  :: Each thread and process will have a unique ID
C  :: but as yet it will not be associated with a
C  :: specific region in decomposed discrete space.
C 
C INITIALISE_FIXED :: Set fixed model arrays such as topography,
C   :: grid, solver matrices etc..
C  
C  INI_PARMS :: Routine to set kernel model parameters.
C   :: Kernel parameters are read from file "data"
C   :: in directory in which code executes.
C  
C  PACKAGES_BOOT :: Start up the optional package environment.
C   :: Runtime selection of active packages.
C  PACKAGES_READPARMS :: read each package input parameter file
C    ${PKG}_READPARMS
C  
C  SET_PARMS :: Finalise model parameter setting (if fct of pkg usage)
C  
C  INI_MODEL_IO :: Initialise Input/Output setting
C   MNC_INIT :: Initialise MITgcm NetCDF interface (MNC)(see pkg/mnc)
C   MNC_CW_INIT :: Initialise MNC grid and variable types (see pkg/mnc)
C   MON_INIT :: Initialises monitor package ( see pkg/monitor )
C  
C  INI_GRID :: Control grid array (vert. and horiz.) initialisation.
C    :: Grid arrays are held and described in GRID.h.
C   LOAD_GRID_SPACING :: Load grid spacing (vector) from files
C   INI_VERTICAL_GRID :: Set up vertical grid and coordinate
C   INI_CARTESIAN_GRID :: Cartesian horiz. grid initialisation
C    :: (calculate grid from kernel parameters).
C   INI_SPHERICAL_POLAR_GRID :: Spherical polar horiz. grid setting
C    :: (calculate grid from kernel parameters).
C   INI_CURVILINEAR_GRID :: General orthogonal, structured horiz. grid
C    :: initialisation; input from raw grid files
C    :: (LONC.bin, LATC.bin, DXF.bin, ... ) or per
C    :: face file: horizGridFile(.faceXXX.bin)
C   INI_CYLINDER_GRID :: Cylindrical horiz. grid setting
C  
C  LOAD_REF_FILES :: Readin reference vertical profiles (T,S,Rho)
C  INI_EOS :: Initialise Equation Of State (EOS) coefficients
C  SET_REF_STATE :: Set reference pressure/geopotential, reference
C   :: stratification (for implicit IGW), vertical
C   :: velocity scaling factor and anelastic ref. density
C  SET_GRID_FACTORS :: Set grid factors (fct of k) for deepatmosphere
C  
C  INI_DEPTHS :: Read (from "bathyFile") or set bathymetry/orography.
C  INI_MASKS_ETC :: Derive horizontal and vertical cell fractions and
C   :: land masking for solidfluid boundaries.
C  
C  PACKAGES_INIT_FIXED :: do all packages fixedinitialisation setting
C    ${PKG}_INIT_FIXED
C  
C  INI_GLOBAL_DOMAIN :: Initialise domain related (global) quantities.
C  INI_LINEAR_PHISURF :: Set ref. surface Bo_surf
C  
C  INI_CORI :: Set coriolis term. zero, fplane, betaplane,
C   :: sphere options are coded.
C  INI_CG2D :: 2D conjugate grad solver initialisation.
C  INI_CG3D :: 3D conjugate grad solver initialisation.
C  
C  CONFIG_SUMMARY :: Provide synopsis of kernel setup. Includes
C   :: annotated table of kernel parameter settings.
C  
C  PACKAGES_CHECK :: call each package configuration checking S/R
C    ${PKG}_CHECK
C  
C  CONFIG_CHECK :: Check config and parameter consistency.
C  
C  WRITE_GRID :: write grid fields to output files
C  CPL_EXCH_CONFIGS :: exchange config with couplerinterface
C 
C CTRL_UNPACK :: Control vector support package. see pkg/ctrl
C COST_DEPENDENT_INIT :: ( see pkg/cost )
C 
C ADTHE_MAIN_LOOP :: Derivative evaluating form of main time stepping loop
C ! :: Automatically generated by TAMC/TAF.
C 
C THE_MAIN_LOOP :: Main timestepping loop routine.
C  
C  INITIALISE_VARIA :: Set the initial conditions for time evolving fields
C   
C #ifdef ALLOW_AUTODIFF
C   INI_DEPTHS \
C   CTRL_DEPTH_INI \
C   UPDATE_MASKS_ETC } ALLOW_DEPTH_CONTROL case
C   UPDATE_CG2D /
C #endif
C   INI_NLFS_VARS :: Initialise all NonLin FreeSurf arrays (SURFACE.h)
C   INI_DYNVARS :: Initialise to zero all DYNVARS.h arrays
C   INI_NH_VARS :: Initialise to zero all NH_VARS.h arrays
C   
C   INI_FIELDS :: Control initialising model fields to nonzero
C    INI_VEL :: Initialize 3D flow field.
C    INI_THETA :: Set model initial temperature field.
C    INI_SALT :: Set model initial salinity field.
C    INI_PSURF :: Set model initial freesurface height/pressure.
C    READ_PICKUP :: Read in main model pickup files to restart a run.
C   
C   INI_MIXING :: Initialise diapycnal diffusivity.
C   
C   INI_FORCING :: Set model initial forcing fields, either
C     :: set inline or from file as shown here:
C    READ_FLD_XY_RS(zonalWindFile)
C    READ_FLD_XY_RS(meridWindFile)
C    READ_FLD_XY_RS(surfQnetFile)
C    READ_FLD_XY_RS(EmPmRfile)
C    READ_FLD_XY_RS(thetaClimFile)
C    READ_FLD_XY_RS(saltClimFile)
C    READ_FLD_XY_RS(surfQswFile)
C   
C   AUTODIFF_INIT_VARIA :: (see pkg/autodiff )
C   
C   PACKAGES_INIT_VARIABLES :: Does initialisation of time evolving
C     ${PKG}_INIT_VARIA :: package data.
C   
C   COST_INIT_VARIA :: ( see pkg/cost )
C   CONVECTIVE_ADJUSTMENT_INI :: Apply conv. adjustment to initial state
C   
C   CALC_R_STAR :: Calculate the new level thickness factor (r* coord)
C   UPDATE_R_STAR :: Update the level thickness fraction (r* coord).
C   UPDATE_SIGMA :: Update the level thickness fraction (sigmacoord).
C   CALC_SURF_DR :: Calculate the new surface level thickness.
C   UPDATE_SURF_DR :: Update the surfacelevel thickness fraction.
C   
C   UPDATE_CG2D :: Update 2D conjugate grad. for FreeSurf.
C   
C   INTEGR_CONTINUITY :: Integrate the continuity Equation
C    INTEGRATE_FOR_W :: Integrate for vertical velocity
C    OBCS_APPLY_W :: Open boundary package (see pkg/obcs).
C    UPDATE_ETAH :: Update Surface height/pressure
C   
C   CALC_R_STAR :: Calculate the new level thickness factor (r* coord)
C   CALC_SURF_DR :: Calculate the new surface level thickness.
C   
C   STATE_SUMMARY :: Summarise model prognostic variables.
C   
C   MONITOR :: Monitor state (see pkg/monitor)
C   
C   DO_STATEVARS_TAVE :: Time averaging package ( see pkg/timeave ).
C    TIMEAVE_STATVARS :: Accumulate main model state variables
C    PTRACERS_TIMEAVE :: Accumulate passive tracers variables
C   
C   DO_THE_MODEL_IO :: Controlling routine for IO
C    WRITE_STATE :: Write model state variables.
C    TIMEAVE_STATV_WRITE :: Write Time averaged output (see pkg/timeave)
C    FIZHI_WRITE_STATE :: Write Fizhi pkg output (see pkg/fizhi)
C    AIM_WRITE_TAVE :: Write AIM pkg output (see pkg/aim_v23)
C    LAND_OUTPUT :: Write Land pkg output (see pkg/land)
C    OBCS_OUTPUT :: Write OBCS pkg output (see pkg/obcs)
C    GMREDI_OUTPUT :: Write GMRedi pkg output (see pkg/gmredi)
C    KPP_OUTPUT :: Write KPP pkg output (see pkg/kpp)
C    PP81_OUTPUT :: Write PP81 pkg output (see pkg/pp81)
C    KL10_OUTPUT :: Write KL10 pkg output (see pkg/kl10)
C    MY82_OUTPUT :: Write MY82 pkg output (see pkg/my82)
C    OPPS_OUTPUT :: Write OPPS pkg output (see pkg/opps)
C    GGL90_OUTPUT :: Write GGL90 pkg output (see pkg/ggl90)
C    SBO_CALC :: Compute SBO diagnostics (see pkg/sbo)
C    SBO_OUTPUT :: Write SBO pkg output (see pkg/sbo)
C    SEAICE_OUTPUT :: Write SeaIce pkg output (see pkg/seaice)
C    SHELFICE_OUTPUT :: Write ShelfIce pkg output (see pkg/shelfice)
C    BULKF_OUTPUT :: Write BulkForce output (see pkg/bulK_force)
C    THSICE_OUTPUT :: Write ThSIce pkg output (see pkg/thsice)
C    PTRACERS_OUTPUT :: Write pTracers pkg output (see pkg/ptracers)
C    MATRIX_OUTPUT :: Write Matrix pkg output (see pkg/matrix)
C    GCHEM_OUTPUT :: Write Geochemistry pkg output (see pkg/gchem)
C    CPL_OUTPUT :: Write CouplerInterface output (see
C     :: pkg/atm_compon_interf, pkg/ocn_compon_interf)
C    LAYERS_CALC :: Calculate layers diagnostics (see pkg/layers)
C    LAYERS_OUTPUT :: Write Layers pkg output (see pkg/layers)
C    DIAGNOSTICS_WRITE :: Write pkg/diagnostics output
C   
C====> ****************************
C====> BEGIN MAIN TIMESTEPPING LOOP
C====> ****************************
C  COST_AVERAGESFIELDS :: timeaveraged Cost function terms (see pkg/cost)
C  PROFILES_INLOOP :: ( see pkg/profiles )
C  /
C  MAIN_DO_LOOP :: OpenAD case: Main timestepping loop routine
C  \ otherwise: just call FORWARD_STEP
C  
C/\  FORWARD_STEP :: Step forward a timestep ( AT LAST !!! )
C/\   
C/\   AUTODIFF_INADMODE_UNSET :: Set/reset some adjoint flags
C/\   RESET_NLFS_VARS :: Reset some NonLin FreeSurf vars (Adjoint)
C/\   UPDATE_R_STAR :: Reset rstar factor variables (Adjoint)
C/\   UPDATE_SURF_DR :: Reset NLFS surface thickness vars (Adjoint)
C/\   
C/\   PTRACERS_SWITCH_ONOFF :: Set/reset pTracers timestepping switch
C/\   DIAGNOSTICS_SWITCH_ONOFF :: Activate/deactivate diagnostics
C/\   DO_STATEVARS_DIAGS ( 0 ) :: fillup state variable diagnostics
C/\   
C/\   NEST_CHILD_SETMEMO :: Nesting interface
C/\   NEST_PARENT_IO_1 :: Nesting interface
C/\   
C/\   LOAD_FIELDS_DRIVER :: Control loading of input fields from files
C/\   
C/\   BULKF_FORCING :: Calculate surface forcing (see pkg/bulk_force)
C/\   CHEAPAML :: Cheap AML driver ( see pkg/cheapaml )
C/\   CTRL_MAP_FORCING :: Control vector support package. (see pkg/ctrl)
C/\   DUMMY_IN_STEPPING :: Autodiff package ( pkg/autodiff ).
C/\   
C/\   CPL_EXPORT_MY_DATA :: Send coupling fields to coupler
C/\   CPL_IMPORT_EXTERNAL_DATA :: Receive coupling fields from coupler
C/\   
C/\   OASIS_PUT :: Oasis coupler interface
C/\   OASIS_GET :: Oasis coupler interface
C/\   
C/\   EBM_DRIVER :: Calculate EBM type atmospheric forcing (see pkg/ebm)
C/\   
C/\   DO_ATMOSPHERIC_PHYS :: Atmospheric physics computation
C/\    
C/\    UPDATE_OCEAN_EXPORTS :: ( see pkg/fizhi )
C/\    UPDATE_EARTH_EXPORTS :: ( see pkg/fizhi )
C/\    UPDATE_CHEMISTRY_EXPORTS :: ( see pkg/fizhi )
C/\    FIZHI_WRAPPER :: ( see pkg/fizhi )
C/\    STEP_FIZHI_FG :: ( see pkg/fizhi )
C/\    FIZHI_UPDATE_TIME :: ( see pkg/fizhi )
C/\    
C/\    ATM_PHYS_DRIVER :: ( see pkg/atm_phys )
C/\    
C/\    AIM_DO_PHYSICS :: ( see pkg/aim_v23 )
C/\   
C/\   DO_OCEANIC_PHYS :: Oceanic (& seaice) physics computation
C/\    
C/\    OBCS_CALC :: Open boundary. package (see pkg/obcs).
C/\    
C/\    FRAZIL_CALC_RHS :: Compute FRAZIL tendencies ( see pkg/frazil )
C/\    THSICE_MAIN :: Thermodynamic seaice driver (see pkg/thsice)
C/\    SEAICE_MODEL :: Seaice model driver (see pkg/seaice )
C/\    SEAICE_COST_SENSI :: Seaice costfunction (see pkg/seaice )
C/\    SHELFICE_THERMODYNAMICS :: Compute ShelfIce thermo (pkg/shelfice)
C/\    ICEFRONT_THERMODYNAMICS :: Compute IceFront thermo (pkg/icefront)
C/\    
C/\    SALT_PLUME_DO_EXCH :: (see pkg/salt_plume )
C/\    FREEZE_SURFACE :: Prevent SST to fall below TFreeze
C/\    OCN_APPLY_IMPORT :: Apply imported fields from coupler
C/\    EXTERNAL_FORCING_SURF:: Compute appropriately dimensioned
C/\     :: surface forcing terms.
C/\    FIND_RHO_2D @ p(k) :: Calculate [rho(T,S,p)Rho_0] of a slice
C/\    FIND_RHO_2D @ p(k1) :: Calculate [rho(T,S,p)Rho_0] of a slice
C/\    GRAD_SIGMA :: Calculate isoneutral gradients
C/\    CALC_IVDC :: Set Implicit Vertical Diffusivity for Convection
C/\    CALC_OCE_MXLAYER :: Diagnose Oceanic Mixed Layer depth
C/\    
C/\    SALT_PLUME_CALC_DEPTH :: (see pkg/salt_plume )
C/\    SALT_PLUME_VOLFRAC :: (see pkg/salt_plume )
C/\    SALT_PLUME_APPLY (Temp) :: (see pkg/salt_plume )
C/\    SALT_PLUME_APPLY (Salt) :: (see pkg/salt_plume )
C/\    SALT_PLUME_FORCING_SURF :: (see pkg/salt_plume )
C/\    KPP_CALC :: Compute KPP vertical mixing ( see pkg/kpp )
C/\    PP81_CALC :: Compute PP81 vertical mixing ( see pkg/pp81 )
C/\    KL10_CALC :: Compute KL10 vertical mixing ( see pkg/kl10 )
C/\    MY82_CALC :: Compute MY82 vertical mixing ( see pkg/kl10 )
C/\    GGL90_CALC :: Compute GGL90 vertical mixing (see pkg/ggl10)
C/\    GMREDI_CALC_TENSOR :: Compute GMRedi tensor ( see pkg/gmredi )
C/\    DWNSLP_CALC_FLOW :: Compute DownSlope flow (see pkg/down_slope)
C/\    BBL_CALC_RHS :: Compute BBL tendencies ( see pkg/bbl )
C/\    MYPACKAGE_CALC_RHS :: Compute mypackage tendencies (pkg/mypackage)
C/\    
C/\    GMREDI_DO_EXCH :: ( see pkg/gmredi )
C/\    KPP_DO_EXCH :: ( see pkg/kpp )
C/\    DIAGS_RHO_G :: Compute some density related diagnostics
C/\    DIAGS_OCEANIC_SURF_FLUX :: Diagnose oceanic surface fluxes
C/\    SALT_PLUME_DIAGNOSTICS_FILL :: (see pkg/salt_plume )
C/\    ECCO_PHYS :: ( see pkg/ecco )
C/\   
C/\   STREAMICE_TIMESTEP :: ( see pkg/streamice )
C/\   
C/\   GCHEM_CALC_TENDENCY :: geochemistry driver routine (see pkg/gchem)
C/\   
C/\   LONGSTEP_AVERAGE :: Averaging state vars ( see pkg/longstep )
C/\   LONGSTEP_THERMODYNAMICS :: Step forward tracers ( see pkg/longstep )
C/\   
C/\   THERMODYNAMICS :: theta, salt + tracer equations driver.
C/\     (synchronous timestepping case)
C/\    CALC_WSURF_TR :: Compute T & S LinearFreeSurf correction
C/\    PTRACERS_CALC_WSURF_TR :: Compute Tracers LinearFreeSurf correct.
C/\    
C/\    GMREDI_RESIDUAL_FLOW :: Get the flow field used to advect tracers
C/\    
C/\    TEMP_INTEGRATE :: Step forward Prognostic Eq for Temperature.
C/\     
C/\     ADAMS_BASHFORTH3 :: Extrapolate tracer forward in time (AB3)
C/\     ADAMS_BASHFORTH2 :: Extrapolate tracer forward in time (AB2)
C/\     CALC_3D_DIFFUSIVITY :: set vertical diffusivity
C/\     
C/\     GAD_SOM_ADVECT :: Second Order Moment (SOM) advection
C/\     GAD_ADVECTION :: Generalised advection driver (multidim
C/\      advection case) (see pkg/gad).
C/\     CALC_ADV_FLOW :: set 3D flow field to advect tracer
C/\     APPLY_FORCING_T :: Problem specific forcing for temperature.
C/\     GAD_CALC_RHS :: Calculate AdvectionDiffusion tendency terms
C/\     
C/\     ADAMS_BASHFORTH3 :: Extrapolate tendency forward in time (AB3)
C/\     ADAMS_BASHFORTH2 :: Extrapolate tendency forward in time (AB2)
C/\     FREESURF_RESCALE_G :: Rescale Gt for freesurface height.
C/\     DWNSLP_APPLY :: Add pkg/down_slope tendency
C/\     
C/\     TIMESTEP_TRACER :: Step tracer field forward in time
C/\     
C/\     GAD_IMPLICIT_R :: Solve vertical implicit AdvectDiffus. eqn.
C/\     IMPLDIFF :: Solve vertical implicit diffusion equation.
C/\     CYCLE_AB_TRACER :: Cycle timestepping arrays for tracer field
C/\     CYCLE_TRACER :: Cycle timestepping arrays for tracer field
C/\    
C/\    SALT_INTEGRATE :: Step forward Prognostic Eq for Salinity.
C/\      same sequence of calls as in TEMP_INTEGRATE
C/\    
C/\    PTRACERS_INTEGRATE :: Integrate other tracer(s) (see pkg/ptracers).
C/\      same sequence of calls as in TEMP_INTEGRATE
C/\     OBCS_APPLY_PTRACER :: Open boundary package for pTracers
C/\    
C/\    OBCS_APPLY_TS :: Open boundary package (see pkg/obcs ).
C/\   
C/\   LONGSTEP_AVERAGE :: Averaging state vars ( see pkg/longstep )
C/\   LONGSTEP_THERMODYNAMICS :: Step forward tracers ( see pkg/longstep )
C/\   
C/\   DO_STAGGER_FIELDS_EXCHANGES :: Update overlap regions of arrays
C/\    Theta & Salt (implicit IGW case)
C/\   
C/\   DYNAMICS :: Momentum equations driver.
C/\    
C/\    CALC_GRAD_PHI_SURF :: Calculate the gradient of the surface
C/\     Potential anomaly.
C/\    CALC_VISCOSITY :: Calculate net vertical viscosity
C/\    MOM_CALC_3D_STRAIN :: Calculates the strain tensor of 3D flow field
C/\    OBCS_COPY_UV_N :: for Stevens bndary Conditions (see pkg/obcs)
C/\    
C/\    CALC_PHI_HYD :: Integrate the hydrostatic relation.
C/\    MOM_FLUXFORM :: Flux Form momentum eqn. (pkg/mom_fluxform)
C/\    MOM_VECINV :: Vector Invariant momentum eqn (pkg/mom_vecinv)
C/\    MOM_CALC_SMAG_3D :: Calculate Smagorinsky 3D (harmonic) viscosities
C/\    MOM_UV_SMAG_3D :: Calculate U,V mom. tendency due to Smag 3D Visc
C/\    TIMESTEP :: Step horizontal momentum fields forward in time
C/\    
C/\    MOM_U_IMPLICIT_R :: Solve implicitly vertical AdvDiffus equation.
C/\    IMPLDIFF :: Solve vertical implicit diffusion equation.
C/\    OBCS_SAVE_UV_N :: for Stevens bndary Conditions (see pkg/obcs)
C/\    OBCS_APPLY_UV :: Apply Open bndary Conditions to provisional U,V
C/\    IMPLDIFF :: (CDScheme) Solve vertical impl. diffus. eqn
C/\    
C/\    CALC_GW :: Vert. momentum tendency terms (NonHydrostatic)
C/\     MOM_W_SMAG_3D :: Calculate W mom. tendency due to Smag 3D Visc
C/\    TIMESTEP_WVEL :: Step vert mom forward in time (NonHydrostatic)
C/\   
C/\   MNC_UPDATE_TIME :: Update MNC time record (see pkg/mnc)
C/\   
C/\   UPDATE_R_STAR :: Update the level thickness fraction (r* coord).
C/\   UPDATE_SIGMA :: Update the level thickness fraction (sigmacoord).
C/\   UPDATE_R_STAR :: Update the level thickness fraction.
C/\   UPDATE_SURF_DR :: Update the surfacelevel thickness fraction.
C/\   UPDATE_CG2D :: Update 2D conjugate grad. for FreeSurf.
C/\   
C/\   SHAP_FILT_APPLY_UV :: Apply Shapiro Filter to provisional velocity
C/\   ZONAL_FILT_APPLY_UV :: Apply Zonal Filter to provisional velocity
C/\   
C/\   SOLVE_FOR_PRESSURE :: Find surface pressure.
C/\    CALC_DIV_GHAT :: Form the RHS of the surface pressure eqn.
C/\    CG2D :: Twodim precon. conjugategradient.
C/\    PRE_CG3D :: Finish to set the RHS of the 3D pressure eqn.
C/\    CG3D :: Threedim precon. conjugategradient solver.
C/\    POST_CG3D :: finalise solution of NH and FreeSurf pressure
C/\   
C/\   MOMENTUM_CORRECTION_STEP :: Finalise momentum stepping
C/\    CALC_GRAD_PHI_SURF :: Return DDx and DDy of surface pressure
C/\    CORRECTION_STEP :: Pressure correction to momentum
C/\    OBCS_APPLY_UV :: Open boundary package (see pkg/obcs).
C/\    SHAP_FILT_APPLY_UV :: Apply Shapiro Filter to latest velocity
C/\    ZONAL_FILT_APPLY_UV :: Apply Zonal Filter to latest velocity
C/\   
C/\   INTEGR_CONTINUITY :: Integrate continuity equation (see above)
C/\   
C/\   CALC_R_STAR :: Calculate the new level thickness factor (r* coord)
C/\   CALC_SURF_DR :: Calculate the new surface level thickness.
C/\   
C/\   DO_STAGGER_FIELDS_EXCHANGES :: Update overlap regions of arrays
C/\    uVel,vVel & wVel (staggertimestep case)
C/\   
C/\   DO_STATEVARS_DIAGS ( 1 ) :: fillup state variable diagnostics
C/\   
C/\   THERMODYNAMICS :: theta, salt + tracer Eq. driver (see above).
C/\    (staggered timestepping case)
C/\   
C/\   TRACERS_CORRECTION_STEP :: Finalise tracer stepping:
C/\     :: apply filter, conv.adjustment
C/\    TRACERS_IIGW_CORRECTION :: apply Implicit IGW adjustment to T & S
C/\    SHAP_FILT_APPLY_TS :: Apply Shapiro Filter to latest T & S
C/\    ZONAL_FILT_APPLY_TS :: Apply Zonal Filter to latest T & S
C/\    PTRACERS_ZONAL_FILT_APPLY :: Apply Zonal Filter to pTracers
C/\    SALT_FILL :: Fill up negative Salt
C/\    OPPS_INTERFACE :: ( see pkg/opps )
C/\    CONVECTIVE_ADJUSTMENT :: Apply convective adjustment
C/\    MATRIX_STORE_TENDENCY_IMP :: ( see pkg/matrix )
C/\   
C/\   LONGSTEP_AVERAGE :: Averaging state vars ( see pkg/longstep )
C/\   LONGSTEP_THERMODYNAMICS :: Step forward tracers ( see pkg/longstep )
C/\   
C/\   GCHEM_FORCING_SEP :: Tracer forcing for gchem pkg (if tracer
C/\    :: dependent tendencies calculated separately)
C/\   
C/\   DO_FIELDS_BLOCKING_EXCHANGES :: Sync up overlap regions.
C/\   
C/\   DO_STATEVARS_DIAGS ( 2 ) :: fillup state variable diagnostics
C/\   
C/\   GRIDALT_UPDATE :: ( see pkg/gridalt )
C/\   STEP_FIZHI_CORR :: ( see pkg/fizhi )
C/\   
C/\   FLT_MAIN :: Step forward Floats (see pkg/flt)
C/\   
C/\   DO_STATEVARS_TAVE :: Time averaging package (see above)
C/\   
C/\   NEST_PARENT_IO_2 :: Nesting interface
C/\   NEST_CHILD_TRANSP :: Nesting interface
C/\   
C/\   MONITOR :: Monitor package (pkg/monitor).
C/\   
C/\   COST_TILE :: ( see pkg/cost )
C/\   
C/\   DO_THE_MODEL_IO :: Controlling routine for IO (see above)
C/\   
C/\   PTRACERS_RESET :: Reinitialize PTRACERS ( see pkg/ptracers )
C/\   
C/\   DO_WRITE_PICKUP :: Controlling routine for writing files to restart
C/\    PACKAGES_WRITE_PICKUP :: Write pickup files for each package
C/\      :: which needs it to restart
C/\     GAD_WRITE_PICKUP :: Write Generic AdvDiff pickups for SOM
C/\      :: advection scheme (pkg/generic_advdiff)
C/\     CD_CODE_WRITE_PICKUP :: Write CDcode pickups (see pkg/cd_code)
C/\     OBCS_WRITE_PICKUP :: Write OBCS pickups (see pkg/obcs)
C/\     GGL90_WRITE_PICKUP :: Write GGL90 pickups (see pkg/ggl90)
C/\     BBL_WRITE_PICKUP :: Write BBL pickups (see pkg/bbl)
C/\     CHEAPAML_WRITE_PICKUP :: Write CheapAML pickups (pkg/cheapaml)
C/\     FLT_WRITE_PICKUP :: Write Floats pickups (see pkg/flt)
C/\     PTRACERS_WRITE_PICKUP :: Write pTracers pickups (pkg/ptracers)
C/\     GCHEM_WRITE_PICKUP :: Write GeoChem pickups (see pkg/gchem)
C/\     SEAICE_WRITE_PICKUP :: Write SeaIce pickups (see pkg/seaice)
C/\     STREAMICE_WRITE_PICKUP :: Write StreamIce pickups (pkg/streamice)
C/\     THSICE_WRITE_PICKUP :: Write ThSIce pickups (see pkg/thsice)
C/\     LAND_WRITE_PICKUP :: Write Land pickups (see pkg/land)
C/\     ATM_PHYS_WRITE_PICKUP :: Write AtmPhys pickups (pkg/atm_phys)
C/\     FIZHI_WRITE_PICKUP :: Write Fizhi pickups (see pkg/fizhi)
C/\     FIZHI_WRITE_VEGTILES :: Write Fizhi VegTiles (see pkg/fizhi)
C/\     FIZHI_WRITE_DATETIME :: Write Fizhi DateTime (see pkg/fizhi)
C/\     CPL_WRITE_PICKUP :: Write CouplingInterface pickups
C/\     MYPACKAGE_WRITE_PICKUP :: Write pkg/mypackage pickups
C/\    
C/\    WRITE_PICKUP :: Write main model pickup files.
C/\   
C/\   AUTODIFF_INADMODE_SET :: Set/reset some adjoint flags
C  
C<==== **************************
C<==== END MAIN TIMESTEPPING LOOP
C<==== **************************
C  
C  COST_AVERAGESFIELDS :: Timeaveraged Cost function terms (see pkg/cost)
C  PROFILES_INLOOP :: ( see pkg/profiles )
C  COST_FINAL :: Cost function package (see pkg/cost)
C 
C CTRL_PACK :: Control vector support package (see pkg/ctrl)
C 
C GRDCHK_MAIN :: Gradient check package (see pkg/grdchk)
C 
C TIMER_PRINTALL :: Computational timing summary
C 
C COMM_STATS :: Summarise interproc and interthread communication
C  :: events.
Copyright © 2006
Massachusetts Institute of Technology 
Last update 20180123 

