--- mitgcm.org/sealion/code_reference/callTree.html 2001/10/19 21:14:02 1.2 +++ mitgcm.org/sealion/code_reference/callTree.html 2001/10/22 02:54:39 1.3 @@ -1,351 +1,358 @@ - -
- -- - Invocation from WRAPPER level... - : - : - | - |-THE_MODEL_MAIN :: Primary driver for the MITgcm algorithm - | :: Called from WRAPPER level numerical - | :: code innvocation routine. On entry - | :: to THE_MODEL_MAIN separate thread and - | :: separate processes will have been established. - | :: Each thread and process will have a unique ID - | :: but as yet it will not be associated with a - | :: specific region in decomposed discrete space. - | - |-INITIALISE_FIXED :: Set fixed model arrays such as topography, - | | :: grid, solver matrices etc.. - | | - | |-INI_PARMS :: Routine to set kernel model parameters. - | | :: By default kernel parameters are read from file - | | :: "data" in directory in which code executes. - | | - | |-MON_INIT :: Initialises monitor pacakge ( see pkg/monitor ) - | | - | |-INI_GRID :: Control grid array (vert. and hori.) initialisation. - | | | :: Grid arrays are held and described in GRID.h. - | | | - | | |-INI_VERTICAL_GRID :: Initialise vertical grid arrays. - | | | - | | |-INI_CARTESIAN_GRID :: Cartesian horiz. grid initialisation - | | | :: (calculate grid from kernel parameters). - | | | - | | |-INI_SPHERICAL_POLAR_GRID :: Spherical polar horiz. grid - | | | :: initialisation (calculate grid from - | | | :: kernel parameters). - | | | - | | |-INI_CURVILINEAR_GRID :: General orthogonal, structured horiz. - | | :: grid initialisations. ( input from raw - | | :: grid files, LONC.bin, DXF.bin etc... ) - | | - | |-INI_DEPTHS :: Read (from "bathyFile") or set bathymetry/orgography. - | | - | |-INI_MASKS_ETC :: Derive horizontal and vertical cell fractions and - | | :: land masking for solid-fluid boundaries. - | | - | |-INI_LINEAR_PHISURF :: Set ref. surface Bo_surf - | | - | |-INI_CORI :: Set coriolis term. zero, f-plane, beta-plane, - | | :: sphere optins are coded. - | | - | |-PACKAGES_BOOT :: Start up the optional package environment. - | | :: Runtime selection of active packages. - | | - | |-PACKAGES_READPARMS :: Call active package internal parameter load. - | | | - | | |-GMREDI_READPARMS :: GM Package. see pkg/gmredi - | | |-KPP_READPARMS :: KPP Package. see pkg/kpp - | | |-SHAP_FILT_READPARMS :: Shapiro filter package. see pkg/shap_filt - | | |-OBCS_READPARMS :: Open bndy package. see pkg/obcs - | | |-COST_READPARMS :: Cost function package. see pkg/cost - | | |-CTRL_INIT :: Control vector support package. see pkg/ctrl - | | |-OPTIM_READPARMS :: Optimisation support package. see pkg/ctrl - | | |-GRDCHK_READPARMS :: Gradient check package. see pkg/grdchk - | | |-ECCO_READPARMS :: ECCO Support Package. see pkg/ecco - | | - | |-PACKAGES_CHECK :: Control checking package configuration. - | | | - | | |-KPP_CHECK :: KPP Package. pkg/kpp - | | |-OBCS_CHECK :: Open bndy Pacakge. pkg/obcs - | | |-GMREDI_CHECK :: GM Package. pkg/gmredi - | | - | |-PACKAGES_INIT_FIXED :: Fixed initialisation of packages - | | |-OBCS_INIT_FIXED :: Open bndy Package. see pkg/obcs - | | |-FLT_INIT :: Floats Package. see pkg/flt - | | - | |-ZONAL_FILT_INIT :: FFT filter Package. see pkg/zonal_filt - | | - | |-INI_CG2D :: 2d con. grad solver initialisation. - | | - | |-INI_CG3D :: 3d con. grad solver initialisation. - | | - | |-CONFIG_SUMMARY :: Provide synopsis of kernel setup. - | :: Includes annotated table of kernel - | :: parameter settings. - | - |-CTRL_UNPACK :: Control vector support package. see pkg/ctrl - | - |-ADTHE_MAIN_LOOP :: Derivative evaluating form of main time stepping loop - ! :: Auotmatically gerenrated by TAMC/TAF. - | - |-CTRL_PACK :: Control vector support package. see pkg/ctrl - | - |-GRDCHK_MAIN :: Gradient check package. see pkg/grdchk - | - |-THE_MAIN_LOOP :: Main timestepping loop routine. - | | - | |-INITIALISE_VARIA :: Set the initial conditions for time evolving - | | | :: variables - | | | - | | |-INI_LINEAR_PHISURF :: Set ref. surface Bo_surf - | | | - | | |-INI_CORI :: Set coriolis term. zero, f-plane, beta-plane, - | | | :: sphere optins are coded. - | | | - | | |-INI_CG2D :: 2d con. grad solver initialisation. - | | |-INI_CG3D :: 3d con. grad solver initialisation. - | | |-INI_MIXING :: Initialise diapycnal diffusivity. - | | |-INI_DYNVARS :: Initialise to zero all DYNVARS.h arrays (dynamical - | | | :: fields). - | | | - | | |-INI_FIELDS :: Control initialising model fields to non-zero - | | | |-INI_VEL :: Initialize 3D flow field. - | | | |-INI_THETA :: Set model initial temperature field. - | | | |-INI_SALT :: Set model initial salinity field. - | | | |-INI_PSURF :: Set model initial free-surface height/pressure. - | | | - | | |-INI_TR1 :: Set initial tracer 1 distribution. - | | | - | | |-THE_CORRECTION_STEP :: Step forward to next time step. - | | | | :: Here applied to move restart conditions - | | | | :: (saved in mid timestep) to correct level in - | | | | :: time (only used for pre-c35). - | | | | - | | | |-CALC_GRAD_PHI_SURF :: Return DDx and DDy of surface pressure - | | | |-CORRECTION_STEP :: Pressure correction to momentum - | | | |-CYCLE_TRACER :: Move tracers forward in time. - | | | |-OBCS_APPLY_UV :: Open bndy package. see pkg/obcs - | | | |-SHAP_FILT_APPLY :: Shapiro filter package. see pkg/shap_filt - | | | |-ZONAL_FILT_APPLY :: FFT filter package. see pkg/zonal_filt - | | | |-CONVECTIVE_ADJUSTMENT :: Control static instability mixing. - | | | | |-FIND_RHO :: Find adjacent densities. - | | | | |-CONVECT :: Mix static instability. - | | | | |-TIMEAVE_CUMULATE :: Update convection statistics. - | | | | - | | | |-CALC_EXACT_ETA :: Change SSH to flow divergence. - | | | - | | |-CONVECTIVE_ADJUSTMENT_INI :: Control static instability mixing - | | | | :: Extra time history interactions. - | | | | - | | | |-FIND_RHO :: Find adjacent densities. - | | | |-CONVECT :: Mix static instability. - | | | |-TIMEAVE_CUMULATE :: Update convection statistics. - | | | - | | |-PACKAGES_INIT_VARIABLES :: Does initialisation of time evolving - | | | | :: package data. - | | | | - | | | |-GMREDI_INIT :: GM package. ( see pkg/gmredi ) - | | | |-KPP_INIT :: KPP package. ( see pkg/kpp ) - | | | |-KPP_OPEN_DIAGS :: Open diagnostic output files. - | | | |-OBCS_INIT_VARIABLES :: Open bndy. package. ( see pkg/obcs ) - | | | |-AIM_INIT :: Interm. atmos package. ( see pkg/aim ) - | | | |-CTRL_MAP_INI :: Control vector package.( see pkg/ctrl ) - | | | |-COST_INIT :: Cost function package. ( see pkg/cost ) - | | | |-ECCO_INIT :: ECCO support package. ( see pkg/ecco ) - | | | |-INI_FORCING :: Set model initial forcing fields. - | | | | :: Either set in-line or from file as shown. - | | | |-READ_FLD_XY_RS(zonalWindFile) :: Load forcing file - | | | |-READ_FLD_XY_RS(meridWindFile) :: Load forcing file - | | | |-READ_FLD_XY_RS(surfQFile) :: Load forcing file - | | | |-READ_FLD_XY_RS(EmPmRfile) :: Load forcing file - | | | |-READ_FLD_XY_RS(thetaClimFile) :: Load forcing file - | | | |-READ_FLD_XY_RS(saltClimFile) :: Load forcing file - | | | |-READ_FLD_XY_RS(surfQswFile) :: Load forcing file - | | | - | | |-CALC_SURF_DR :: Calculate the new surface level thickness. - | | |-UPDATE_SURF_DR :: Update the surface-level thickness fraction. - | | |-UPDATE_CG2D :: Update 2d conjugate grad. for Free-Surf. - | | |-STATE_SUMMARY :: Summarize model prognostic variables. - | | |-TIMEAVE_STATVARS :: Time averaging package ( see pkg/timeave ). - | | - | |-WRITE_STATE :: Controlling routine for IO to dump model state. - | | |-WRITE_REC_XYZ_RL :: Single file I/O - | | |-WRITE_FLD_XYZ_RL :: Multi-file I/O - | | - | |-MONITOR :: Monitor state ( see pkg/monitor ) - | |-CTRL_MAP_FORCING :: Control vector support package. ( see pkg/ctrl ) - ====|>| - ====|>| **************************** - ====|>| BEGIN MAIN TIMESTEPPING LOOP - ====|>| **************************** - ====|>| - /\ | |-FORWARD_STEP :: Step forward a time-step ( AT LAST !!! ) - /\ | | | - /\ | | |-DUMMY_IN_STEPPING :: autodiff package ( pkg/autoduff ). - /\ | | |-CALC_EXACT_ETA :: Change SSH to flow divergence. - /\ | | |-CALC_SURF_DR :: Calculate the new surface level thickness. - /\ | | |-EXF_GETFORCING :: External forcing package. ( pkg/exf ) - /\ | | |-EXTERNAL_FIELDS_LOAD :: Control loading time dep. external data. - /\ | | | | :: Simple interpolcation between end-points - /\ | | | | :: for forcing datasets. - /\ | | | | - /\ | | | |-EXCH_XY_RX :: Sync forcing. in overlap regions. - /\ | | | - /\ | | |-THERMODYNAMICS :: theta, salt + tracer equations driver. - /\ | | | | - /\ | | | |-INTEGRATE_FOR_W :: Integrate for vertical velocity. - /\ | | | |-OBCS_APPLY_W :: Open bndy. package ( see pkg/obcs ). - /\ | | | |-FIND_RHO :: Calculates [rho(S,T,z)-Rhonil] of a slice - /\ | | | |-GRAD_SIGMA :: Calculate isoneutral gradients - /\ | | | |-CALC_IVDC :: Set Implicit Vertical Diffusivity for Convection - /\ | | | | - /\ | | | |-OBCS_CALC :: Open bndy. package ( see pkg/obcs ). - /\ | | | |-EXTERNAL_FORCING_SURF :: Accumulates appropriately dimensioned - /\ | | | | :: forcing terms. - /\ | | | | - /\ | | | |-GMREDI_CALC_TENSOR :: GM package ( see pkg/gmredi ). - /\ | | | |-GMREDI_CALC_TENSOR_DUMMY :: GM package ( see pkg/gmredi ). - /\ | | | |-KPP_CALC :: KPP package ( see pkg/kpp ). - /\ | | | |-KPP_CALC_DUMMY :: KPP package ( see pkg/kpp ). - /\ | | | |-AIM_DO_ATMOS_PHYSICS :: Intermed. atmos package ( see pkg/aim ). - /\ | | | |-GAD_ADVECTION :: Generalised advection driver (multi-dim - /\ | | | | advection case) (see pkg/gad). - /\ | | | |-CALC_COMMON_FACTORS :: Calculate common data (such as volume flux) - /\ | | | |-CALC_DIFFUSIVITY :: Calculate net vertical diffusivity - /\ | | | | | - /\ | | | | |-GMREDI_CALC_DIFF :: GM package ( see pkg/gmredi ). - /\ | | | | |-KPP_CALC_DIFF :: KPP package ( see pkg/kpp ). - /\ | | | | - /\ | | | |-CALC_GT :: Calculate the temperature tendency terms - /\ | | | | | - /\ | | | | |-GAD_CALC_RHS :: Generalised advection package - /\ | | | | | :: ( see pkg/gad ) - /\ | | | | |-EXTERNAL_FORCING_T :: Problem specific forcing for temperature. - /\ | | | | |-ADAMS_BASHFORTH2 :: Extrapolate tendencies forward in time. - /\ | | | | |-FREESURF_RESCALE_G :: Re-scale Gt for free-surface height. - /\ | | | | - /\ | | | |-TIMESTEP_TRACER :: Step tracer field forward in time - /\ | | | | - /\ | | | |-CALC_GS :: Calculate the salinity tendency terms - /\ | | | | | - /\ | | | | |-GAD_CALC_RHS :: Generalised advection package - /\ | | | | | :: ( see pkg/gad ) - /\ | | | | |-EXTERNAL_FORCING_S :: Problem specific forcing for salt. - /\ | | | | |-ADAMS_BASHFORTH2 :: Extrapolate tendencies forward in time. - /\ | | | | |-FREESURF_RESCALE_G :: Re-scale Gs for free-surface height. - /\ | | | | - /\ | | | |-TIMESTEP_TRACER :: Step tracer field forward in time - /\ | | | | - /\ | | | |-CALC_GTR1 :: Calculate other tracer(s) tendency terms - /\ | | | | | - /\ | | | | |-GAD_CALC_RHS :: Generalised advection package - /\ | | | | | :: ( see pkg/gad ) - /\ | | | | |-EXTERNAL_FORCING_TR :: Problem specific forcing for tracer. - /\ | | | | |-ADAMS_BASHFORTH2 :: Extrapolate tendencies forward in time. - /\ | | | | |-FREESURF_RESCALE_G :: Re-scale Gs for free-surface height. - /\ | | | | - /\ | | | |-TIMESTEP_TRACER :: Step tracer field forward in time - /\ | | | |-OBCS_APPLY_TS :: Open bndy. package (see pkg/obcs ). - /\ | | | |-FREEZE :: Limit range of temperature. - /\ | | | | - /\ | | | |-IMPLDIFF :: Solve vertical implicit diffusion equation. - /\ | | | |-OBCS_APPLY_TS :: Open bndy. package (see pkg/obcs ). - /\ | | | | - /\ | | | |-AIM_AIM2DYN_EXCHANGES :: Inetermed. atmos (see pkg/aim). - /\ | | | |-EXCH_XYZ_RX :: Update overlaps - /\ | | | - /\ | | |-DYNAMICS :: Momentum equations driver. - /\ | | | | - /\ | | | |-CALC_GRAD_PHI_SURF :: Calculate the gradient of the surface - /\ | | | | Potential anomaly. - /\ | | | |-CALC_VISCOSITY :: Calculate net vertical viscosity - /\ | | | | |-KPP_CALC_VISC :: KPP package ( see pkg/kpp ). - /\ | | | | - /\ | | | |-CALC_PHI_HYD :: Integrate the hydrostatic relation. - /\ | | | |-MOM_FLUXFORM :: Flux form mom eqn. package ( see - /\ | | | | pkg/mom_fluxform ). - /\ | | | |-MOM_VECINV :: Vector invariant form mom eqn. package ( see - /\ | | | | pkg/mom_vecinv ). - /\ | | | |-TIMESTEP :: Step momentum fields forward in time - /\ | | | |-OBCS_APPLY_UV :: Open bndy. package (see pkg/obcs ). - /\ | | | | - /\ | | | |-IMPLDIFF :: Solve vertical implicit diffusion equation. - /\ | | | |-OBCS_APPLY_UV :: Open bndy. package (see pkg/obcs ). - /\ | | | | - /\ | | | |-TIMEAVE_CUMUL_1T :: Time averaging package ( see pkg/timeave ). - /\ | | | |-TIMEAVE_CUMULATE :: Time averaging package ( see pkg/timeave ). - /\ | | | |-DEBUG_STATS_RL :: Quick debug package ( see pkg/debug ). - /\ | | | - /\ | | |-CALC_GW :: vert. momentum tendency terms ( NH, QH only ). - /\ | | | - /\ | | |-UPDATE_SURF_DR :: Update the surface-level thickness fraction. - /\ | | | - /\ | | |-UPDATE_CG2D :: Update 2d conjugate grad. for Free-Surf. - /\ | | | - /\ | | |-SOLVE_FOR_PRESSURE :: Find surface pressure. - /\ | | | |-CALC_DIV_GHAT :: Form the RHS of the surface pressure eqn. - /\ | | | |-CG2D :: Two-dim pre-con. conjugate-gradient. - /\ | | | |-CG3D :: Three-dim pre-con. conjugate-gradient solver. - /\ | | | - /\ | | |-THE_CORRECTION_STEP :: Step forward to next time step. - /\ | | | | - /\ | | | |-CALC_GRAD_PHI_SURF :: Return DDx and DDy of surface pressure - /\ | | | |-CORRECTION_STEP :: Pressure correction to momentum - /\ | | | |-CYCLE_TRACER :: Move tracers forward in time. - /\ | | | |-OBCS_APPLY_UV :: Open bndy package. see pkg/obcs - /\ | | | |-SHAP_FILT_APPLY :: Shapiro filter package. see pkg/shap_filt - /\ | | | |-ZONAL_FILT_APPLY :: FFT filter package. see pkg/zonal_filt - /\ | | | |-CONVECTIVE_ADJUSTMENT :: Control static instability mixing. - /\ | | | | |-FIND_RHO :: Find adjacent densities. - /\ | | | | |-CONVECT :: Mix static instability. - /\ | | | | |-TIMEAVE_CUMULATE :: Update convection statistics. - /\ | | | | - /\ | | | |-CALC_EXACT_ETA :: Change SSH to flow divergence. - /\ | | | - /\ | | |-DO_FIELDS_BLOCKING_EXCHANGES :: Sync up overlap regions. - /\ | | | |-EXCH_XYZ_RX :: Update overlaps - /\ | | | - /\ | | |-FLT_MAIN :: Float package ( pkg/flt ). - /\ | | | - /\ | | |-MONITOR :: Monitor package ( pkg/monitor ). - /\ | | | - /\ | | |-DO_THE_MODEL_IO :: Standard diagnostic I/O. - /\ | | | |-WRITE_STATE :: Core state I/O - /\ | | | |-TIMEAVE_STATV_WRITE :: Time averages. see pkg/timeave - /\ | | | |-AIM_WRITE_DIAGS :: Intermed. atmos diags. see pkg/aim - /\ | | | |-GMREDI_DIAGS :: GM diags. see pkg/gmredi - /\ | | | |-KPP_DO_DIAGS :: KPP diags. see pkg/kpp - /\ | | | - /\ | | |-WRITE_CHECKPOINT :: Do I/O for restart files. - /\ | | - /\ | |-COST_TILE :: Cost function package. ( see pkg/cost ) - <===|=| - <===|=| ************************** - <===|=| END MAIN TIMESTEPPING LOOP - <===|=| ************************** - <===|=| - | |-COST_FINAL :: Cost function package. ( see pkg/cost ) - | - |-WRITE_CHECKPOINT :: Final state storage, for restart. - | - |-TIMER_PRINTALL :: Computational timing summary - | - |-COMM_STATS :: Summarise inter-proc and inter-thread communication - :: events. - -- - + + + + + +
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. +
The 'all symbols' link at the bottom on the side displays lists of all +symbols used in MITgcm. This list is quite long and can take some time +to display. +
+ Invocation from WRAPPER level... + : + : + | + |-THE_MODEL_MAIN :: Primary driver for the MITgcm algorithm + | :: Called from WRAPPER level numerical + | :: code innvocation routine. On entry + | :: to THE_MODEL_MAIN separate thread and + | :: separate processes will have been established. + | :: Each thread and process will have a unique ID + | :: but as yet it will not be associated with a + | :: specific region in decomposed discrete space. + | + |-INITIALISE_FIXED :: Set fixed model arrays such as topography, + | | :: grid, solver matrices etc.. + | | + | |-INI_PARMS :: Routine to set kernel model parameters. + | | :: By default kernel parameters are read from file + | | :: "data" in directory in which code executes. + | | + | |-MON_INIT :: Initialises monitor pacakge ( see pkg/monitor ) + | | + | |-INI_GRID :: Control grid array (vert. and hori.) initialisation. + | | | :: Grid arrays are held and described in GRID.h. + | | | + | | |-INI_VERTICAL_GRID :: Initialise vertical grid arrays. + | | | + | | |-INI_CARTESIAN_GRID :: Cartesian horiz. grid initialisation + | | | :: (calculate grid from kernel parameters). + | | | + | | |-INI_SPHERICAL_POLAR_GRID :: Spherical polar horiz. grid + | | | :: initialisation (calculate grid from + | | | :: kernel parameters). + | | | + | | |-INI_CURVILINEAR_GRID :: General orthogonal, structured horiz. + | | :: grid initialisations. ( input from raw + | | :: grid files, LONC.bin, DXF.bin etc... ) + | | + | |-INI_DEPTHS :: Read (from "bathyFile") or set bathymetry/orgography. + | | + | |-INI_MASKS_ETC :: Derive horizontal and vertical cell fractions and + | | :: land masking for solid-fluid boundaries. + | | + | |-INI_LINEAR_PHISURF :: Set ref. surface Bo_surf + | | + | |-INI_CORI :: Set coriolis term. zero, f-plane, beta-plane, + | | :: sphere optins are coded. + | | + | |-PACKAGES_BOOT :: Start up the optional package environment. + | | :: Runtime selection of active packages. + | | + | |-PACKAGES_READPARMS :: Call active package internal parameter load. + | | | + | | |-GMREDI_READPARMS :: GM Package. see pkg/gmredi + | | |-KPP_READPARMS :: KPP Package. see pkg/kpp + | | |-SHAP_FILT_READPARMS :: Shapiro filter package. see pkg/shap_filt + | | |-OBCS_READPARMS :: Open bndy package. see pkg/obcs + | | |-COST_READPARMS :: Cost function package. see pkg/cost + | | |-CTRL_INIT :: Control vector support package. see pkg/ctrl + | | |-OPTIM_READPARMS :: Optimisation support package. see pkg/ctrl + | | |-GRDCHK_READPARMS :: Gradient check package. see pkg/grdchk + | | |-ECCO_READPARMS :: ECCO Support Package. see pkg/ecco + | | + | |-PACKAGES_CHECK :: Control checking package configuration. + | | | + | | |-KPP_CHECK :: KPP Package. pkg/kpp + | | |-OBCS_CHECK :: Open bndy Pacakge. pkg/obcs + | | |-GMREDI_CHECK :: GM Package. pkg/gmredi + | | + | |-PACKAGES_INIT_FIXED :: Fixed initialisation of packages + | | |-OBCS_INIT_FIXED :: Open bndy Package. see pkg/obcs + | | |-FLT_INIT :: Floats Package. see pkg/flt + | | + | |-ZONAL_FILT_INIT :: FFT filter Package. see pkg/zonal_filt + | | + | |-INI_CG2D :: 2d con. grad solver initialisation. + | | + | |-INI_CG3D :: 3d con. grad solver initialisation. + | | + | |-CONFIG_SUMMARY :: Provide synopsis of kernel setup. + | :: Includes annotated table of kernel + | :: parameter settings. + | + |-CTRL_UNPACK :: Control vector support package. see pkg/ctrl + | + |-ADTHE_MAIN_LOOP :: Derivative evaluating form of main time stepping loop + ! :: Auotmatically gerenrated by TAMC/TAF. + | + |-CTRL_PACK :: Control vector support package. see pkg/ctrl + | + |-GRDCHK_MAIN :: Gradient check package. see pkg/grdchk + | + |-THE_MAIN_LOOP :: Main timestepping loop routine. + | | + | |-INITIALISE_VARIA :: Set the initial conditions for time evolving + | | | :: variables + | | | + | | |-INI_LINEAR_PHISURF :: Set ref. surface Bo_surf + | | | + | | |-INI_CORI :: Set coriolis term. zero, f-plane, beta-plane, + | | | :: sphere optins are coded. + | | | + | | |-INI_CG2D :: 2d con. grad solver initialisation. + | | |-INI_CG3D :: 3d con. grad solver initialisation. + | | |-INI_MIXING :: Initialise diapycnal diffusivity. + | | |-INI_DYNVARS :: Initialise to zero all DYNVARS.h arrays (dynamical + | | | :: fields). + | | | + | | |-INI_FIELDS :: Control initialising model fields to non-zero + | | | |-INI_VEL :: Initialize 3D flow field. + | | | |-INI_THETA :: Set model initial temperature field. + | | | |-INI_SALT :: Set model initial salinity field. + | | | |-INI_PSURF :: Set model initial free-surface height/pressure. + | | | + | | |-INI_TR1 :: Set initial tracer 1 distribution. + | | | + | | |-THE_CORRECTION_STEP :: Step forward to next time step. + | | | | :: Here applied to move restart conditions + | | | | :: (saved in mid timestep) to correct level in + | | | | :: time (only used for pre-c35). + | | | | + | | | |-CALC_GRAD_PHI_SURF :: Return DDx and DDy of surface pressure + | | | |-CORRECTION_STEP :: Pressure correction to momentum + | | | |-CYCLE_TRACER :: Move tracers forward in time. + | | | |-OBCS_APPLY_UV :: Open bndy package. see pkg/obcs + | | | |-SHAP_FILT_APPLY :: Shapiro filter package. see pkg/shap_filt + | | | |-ZONAL_FILT_APPLY :: FFT filter package. see pkg/zonal_filt + | | | |-CONVECTIVE_ADJUSTMENT :: Control static instability mixing. + | | | | |-FIND_RHO :: Find adjacent densities. + | | | | |-CONVECT :: Mix static instability. + | | | | |-TIMEAVE_CUMULATE :: Update convection statistics. + | | | | + | | | |-CALC_EXACT_ETA :: Change SSH to flow divergence. + | | | + | | |-CONVECTIVE_ADJUSTMENT_INI :: Control static instability mixing + | | | | :: Extra time history interactions. + | | | | + | | | |-FIND_RHO :: Find adjacent densities. + | | | |-CONVECT :: Mix static instability. + | | | |-TIMEAVE_CUMULATE :: Update convection statistics. + | | | + | | |-PACKAGES_INIT_VARIABLES :: Does initialisation of time evolving + | | | | :: package data. + | | | | + | | | |-GMREDI_INIT :: GM package. ( see pkg/gmredi ) + | | | |-KPP_INIT :: KPP package. ( see pkg/kpp ) + | | | |-KPP_OPEN_DIAGS :: Open diagnostic output files. + | | | |-OBCS_INIT_VARIABLES :: Open bndy. package. ( see pkg/obcs ) + | | | |-AIM_INIT :: Interm. atmos package. ( see pkg/aim ) + | | | |-CTRL_MAP_INI :: Control vector package.( see pkg/ctrl ) + | | | |-COST_INIT :: Cost function package. ( see pkg/cost ) + | | | |-ECCO_INIT :: ECCO support package. ( see pkg/ecco ) + | | | |-INI_FORCING :: Set model initial forcing fields. + | | | | :: Either set in-line or from file as shown. + | | | |-READ_FLD_XY_RS(zonalWindFile) :: Load forcing file + | | | |-READ_FLD_XY_RS(meridWindFile) :: Load forcing file + | | | |-READ_FLD_XY_RS(surfQFile) :: Load forcing file + | | | |-READ_FLD_XY_RS(EmPmRfile) :: Load forcing file + | | | |-READ_FLD_XY_RS(thetaClimFile) :: Load forcing file + | | | |-READ_FLD_XY_RS(saltClimFile) :: Load forcing file + | | | |-READ_FLD_XY_RS(surfQswFile) :: Load forcing file + | | | + | | |-CALC_SURF_DR :: Calculate the new surface level thickness. + | | |-UPDATE_SURF_DR :: Update the surface-level thickness fraction. + | | |-UPDATE_CG2D :: Update 2d conjugate grad. for Free-Surf. + | | |-STATE_SUMMARY :: Summarize model prognostic variables. + | | |-TIMEAVE_STATVARS :: Time averaging package ( see pkg/timeave ). + | | + | |-WRITE_STATE :: Controlling routine for IO to dump model state. + | | |-WRITE_REC_XYZ_RL :: Single file I/O + | | |-WRITE_FLD_XYZ_RL :: Multi-file I/O + | | + | |-MONITOR :: Monitor state ( see pkg/monitor ) + | |-CTRL_MAP_FORCING :: Control vector support package. ( see pkg/ctrl ) + ====|>| + ====|>| **************************** + ====|>| BEGIN MAIN TIMESTEPPING LOOP + ====|>| **************************** + ====|>| + /\ | |-FORWARD_STEP :: Step forward a time-step ( AT LAST !!! ) + /\ | | | + /\ | | |-DUMMY_IN_STEPPING :: autodiff package ( pkg/autoduff ). + /\ | | |-CALC_EXACT_ETA :: Change SSH to flow divergence. + /\ | | |-CALC_SURF_DR :: Calculate the new surface level thickness. + /\ | | |-EXF_GETFORCING :: External forcing package. ( pkg/exf ) + /\ | | |-EXTERNAL_FIELDS_LOAD :: Control loading time dep. external data. + /\ | | | | :: Simple interpolcation between end-points + /\ | | | | :: for forcing datasets. + /\ | | | | + /\ | | | |-EXCH_XY_RX :: Sync forcing. in overlap regions. + /\ | | | + /\ | | |-THERMODYNAMICS :: theta, salt + tracer equations driver. + /\ | | | | + /\ | | | |-INTEGRATE_FOR_W :: Integrate for vertical velocity. + /\ | | | |-OBCS_APPLY_W :: Open bndy. package ( see pkg/obcs ). + /\ | | | |-FIND_RHO :: Calculates [rho(S,T,z)-Rhonil] of a slice + /\ | | | |-GRAD_SIGMA :: Calculate isoneutral gradients + /\ | | | |-CALC_IVDC :: Set Implicit Vertical Diffusivity for Convection + /\ | | | | + /\ | | | |-OBCS_CALC :: Open bndy. package ( see pkg/obcs ). + /\ | | | |-EXTERNAL_FORCING_SURF :: Accumulates appropriately dimensioned + /\ | | | | :: forcing terms. + /\ | | | | + /\ | | | |-GMREDI_CALC_TENSOR :: GM package ( see pkg/gmredi ). + /\ | | | |-GMREDI_CALC_TENSOR_DUMMY :: GM package ( see pkg/gmredi ). + /\ | | | |-KPP_CALC :: KPP package ( see pkg/kpp ). + /\ | | | |-KPP_CALC_DUMMY :: KPP package ( see pkg/kpp ). + /\ | | | |-AIM_DO_ATMOS_PHYSICS :: Intermed. atmos package ( see pkg/aim ). + /\ | | | |-GAD_ADVECTION :: Generalised advection driver (multi-dim + /\ | | | | advection case) (see pkg/gad). + /\ | | | |-CALC_COMMON_FACTORS :: Calculate common data (such as volume flux) + /\ | | | |-CALC_DIFFUSIVITY :: Calculate net vertical diffusivity + /\ | | | | | + /\ | | | | |-GMREDI_CALC_DIFF :: GM package ( see pkg/gmredi ). + /\ | | | | |-KPP_CALC_DIFF :: KPP package ( see pkg/kpp ). + /\ | | | | + /\ | | | |-CALC_GT :: Calculate the temperature tendency terms + /\ | | | | | + /\ | | | | |-GAD_CALC_RHS :: Generalised advection package + /\ | | | | | :: ( see pkg/gad ) + /\ | | | | |-EXTERNAL_FORCING_T :: Problem specific forcing for temperature. + /\ | | | | |-ADAMS_BASHFORTH2 :: Extrapolate tendencies forward in time. + /\ | | | | |-FREESURF_RESCALE_G :: Re-scale Gt for free-surface height. + /\ | | | | + /\ | | | |-TIMESTEP_TRACER :: Step tracer field forward in time + /\ | | | | + /\ | | | |-CALC_GS :: Calculate the salinity tendency terms + /\ | | | | | + /\ | | | | |-GAD_CALC_RHS :: Generalised advection package + /\ | | | | | :: ( see pkg/gad ) + /\ | | | | |-EXTERNAL_FORCING_S :: Problem specific forcing for salt. + /\ | | | | |-ADAMS_BASHFORTH2 :: Extrapolate tendencies forward in time. + /\ | | | | |-FREESURF_RESCALE_G :: Re-scale Gs for free-surface height. + /\ | | | | + /\ | | | |-TIMESTEP_TRACER :: Step tracer field forward in time + /\ | | | | + /\ | | | |-CALC_GTR1 :: Calculate other tracer(s) tendency terms + /\ | | | | | + /\ | | | | |-GAD_CALC_RHS :: Generalised advection package + /\ | | | | | :: ( see pkg/gad ) + /\ | | | | |-EXTERNAL_FORCING_TR :: Problem specific forcing for tracer. + /\ | | | | |-ADAMS_BASHFORTH2 :: Extrapolate tendencies forward in time. + /\ | | | | |-FREESURF_RESCALE_G :: Re-scale Gs for free-surface height. + /\ | | | | + /\ | | | |-TIMESTEP_TRACER :: Step tracer field forward in time + /\ | | | |-OBCS_APPLY_TS :: Open bndy. package (see pkg/obcs ). + /\ | | | |-FREEZE :: Limit range of temperature. + /\ | | | | + /\ | | | |-IMPLDIFF :: Solve vertical implicit diffusion equation. + /\ | | | |-OBCS_APPLY_TS :: Open bndy. package (see pkg/obcs ). + /\ | | | | + /\ | | | |-AIM_AIM2DYN_EXCHANGES :: Inetermed. atmos (see pkg/aim). + /\ | | | |-EXCH_XYZ_RX :: Update overlaps + /\ | | | + /\ | | |-DYNAMICS :: Momentum equations driver. + /\ | | | | + /\ | | | |-CALC_GRAD_PHI_SURF :: Calculate the gradient of the surface + /\ | | | | Potential anomaly. + /\ | | | |-CALC_VISCOSITY :: Calculate net vertical viscosity + /\ | | | | |-KPP_CALC_VISC :: KPP package ( see pkg/kpp ). + /\ | | | | + /\ | | | |-CALC_PHI_HYD :: Integrate the hydrostatic relation. + /\ | | | |-MOM_FLUXFORM :: Flux form mom eqn. package ( see + /\ | | | | pkg/mom_fluxform ). + /\ | | | |-MOM_VECINV :: Vector invariant form mom eqn. package ( see + /\ | | | | pkg/mom_vecinv ). + /\ | | | |-TIMESTEP :: Step momentum fields forward in time + /\ | | | |-OBCS_APPLY_UV :: Open bndy. package (see pkg/obcs ). + /\ | | | | + /\ | | | |-IMPLDIFF :: Solve vertical implicit diffusion equation. + /\ | | | |-OBCS_APPLY_UV :: Open bndy. package (see pkg/obcs ). + /\ | | | | + /\ | | | |-TIMEAVE_CUMUL_1T :: Time averaging package ( see pkg/timeave ). + /\ | | | |-TIMEAVE_CUMULATE :: Time averaging package ( see pkg/timeave ). + /\ | | | |-DEBUG_STATS_RL :: Quick debug package ( see pkg/debug ). + /\ | | | + /\ | | |-CALC_GW :: vert. momentum tendency terms ( NH, QH only ). + /\ | | | + /\ | | |-UPDATE_SURF_DR :: Update the surface-level thickness fraction. + /\ | | | + /\ | | |-UPDATE_CG2D :: Update 2d conjugate grad. for Free-Surf. + /\ | | | + /\ | | |-SOLVE_FOR_PRESSURE :: Find surface pressure. + /\ | | | |-CALC_DIV_GHAT :: Form the RHS of the surface pressure eqn. + /\ | | | |-CG2D :: Two-dim pre-con. conjugate-gradient. + /\ | | | |-CG3D :: Three-dim pre-con. conjugate-gradient solver. + /\ | | | + /\ | | |-THE_CORRECTION_STEP :: Step forward to next time step. + /\ | | | | + /\ | | | |-CALC_GRAD_PHI_SURF :: Return DDx and DDy of surface pressure + /\ | | | |-CORRECTION_STEP :: Pressure correction to momentum + /\ | | | |-CYCLE_TRACER :: Move tracers forward in time. + /\ | | | |-OBCS_APPLY_UV :: Open bndy package. see pkg/obcs + /\ | | | |-SHAP_FILT_APPLY :: Shapiro filter package. see pkg/shap_filt + /\ | | | |-ZONAL_FILT_APPLY :: FFT filter package. see pkg/zonal_filt + /\ | | | |-CONVECTIVE_ADJUSTMENT :: Control static instability mixing. + /\ | | | | |-FIND_RHO :: Find adjacent densities. + /\ | | | | |-CONVECT :: Mix static instability. + /\ | | | | |-TIMEAVE_CUMULATE :: Update convection statistics. + /\ | | | | + /\ | | | |-CALC_EXACT_ETA :: Change SSH to flow divergence. + /\ | | | + /\ | | |-DO_FIELDS_BLOCKING_EXCHANGES :: Sync up overlap regions. + /\ | | | |-EXCH_XYZ_RX :: Update overlaps + /\ | | | + /\ | | |-FLT_MAIN :: Float package ( pkg/flt ). + /\ | | | + /\ | | |-MONITOR :: Monitor package ( pkg/monitor ). + /\ | | | + /\ | | |-DO_THE_MODEL_IO :: Standard diagnostic I/O. + /\ | | | |-WRITE_STATE :: Core state I/O + /\ | | | |-TIMEAVE_STATV_WRITE :: Time averages. see pkg/timeave + /\ | | | |-AIM_WRITE_DIAGS :: Intermed. atmos diags. see pkg/aim + /\ | | | |-GMREDI_DIAGS :: GM diags. see pkg/gmredi + /\ | | | |-KPP_DO_DIAGS :: KPP diags. see pkg/kpp + /\ | | | + /\ | | |-WRITE_CHECKPOINT :: Do I/O for restart files. + /\ | | + /\ | |-COST_TILE :: Cost function package. ( see pkg/cost ) + <===|=| + <===|=| ************************** + <===|=| END MAIN TIMESTEPPING LOOP + <===|=| ************************** + <===|=| + | |-COST_FINAL :: Cost function package. ( see pkg/cost ) + | + |-WRITE_CHECKPOINT :: Final state storage, for restart. + | + |-TIMER_PRINTALL :: Computational timing summary + | + |-COMM_STATS :: Summarise inter-proc and inter-thread communication + :: events. ++ + +