MOM6
MOM.F90 File Reference
#include <MOM_memory.h>
Include dependency graph for MOM.F90:

Go to the source code of this file.

Data Types

type  mom::mom_diag_ids
 A structure with diagnostic IDs of the state variables. More...
 
type  mom::mom_control_struct
 Control structure for the MOM module, including the variables that describe the state of the ocean. More...
 

Modules

module  mom
 The central module of the MOM6 ocean model.
 
integer mom::id_clock_ocean
 CPU time clock IDs. More...
 
integer mom::id_clock_dynamics
 CPU time clock IDs. More...
 
integer mom::id_clock_thermo
 CPU time clock IDs. More...
 
integer mom::id_clock_tracer
 CPU time clock IDs. More...
 
integer mom::id_clock_diabatic
 CPU time clock IDs. More...
 
integer mom::id_clock_adiabatic
 CPU time clock IDs. More...
 
integer mom::id_clock_continuity
 CPU time clock IDs. More...
 
integer mom::id_clock_thick_diff
 CPU time clock IDs. More...
 
integer mom::id_clock_bbl_visc
 CPU time clock IDs. More...
 
integer mom::id_clock_ml_restrat
 CPU time clock IDs. More...
 
integer mom::id_clock_diagnostics
 CPU time clock IDs. More...
 
integer mom::id_clock_z_diag
 CPU time clock IDs. More...
 
integer mom::id_clock_init
 CPU time clock IDs. More...
 
integer mom::id_clock_mom_init
 CPU time clock IDs. More...
 
integer mom::id_clock_pass
 CPU time clock IDs. More...
 
integer mom::id_clock_pass_init
 CPU time clock IDs. More...
 
integer mom::id_clock_ale
 CPU time clock IDs. More...
 
integer mom::id_clock_other
 CPU time clock IDs. More...
 
integer mom::id_clock_offline_tracer
 CPU time clock IDs. More...
 
subroutine, public mom::step_mom (forces, fluxes, sfc_state, Time_start, time_int_in, CS, Waves, do_dynamics, do_thermodynamics, start_cycle, end_cycle, cycle_length, reset_therm)
 This subroutine orchestrates the time stepping of MOM. The adiabatic dynamics are stepped by calls to one of the step_MOM_dyn_...routines. The action of lateral processes on tracers occur in calls to advect_tracer and tracer_hordiff. Vertical mixing and possibly remapping occur inside of diabatic. More...
 
subroutine mom::step_mom_dynamics (forces, p_surf_begin, p_surf_end, dt, dt_thermo, bbl_time_int, CS, Time_local, Waves)
 Time step the ocean dynamics, including the momentum and continuity equations. More...
 
subroutine mom::step_mom_tracer_dyn (CS, G, GV, US, h, Time_local)
 step_MOM_tracer_dyn does tracer advection and lateral diffusion, bringing the tracers up to date with the changes in state due to the dynamics. Surface sources and sinks and remapping are handled via step_MOM_thermo. More...
 
subroutine mom::step_mom_thermo (CS, G, GV, US, u, v, h, tv, fluxes, dtdia, Time_end_thermo, update_BBL, Waves)
 MOM_step_thermo orchestrates the thermodynamic time stepping and vertical remapping, via calls to diabatic (or adiabatic) and ALE_main. More...
 
subroutine, public mom::step_offline (forces, fluxes, sfc_state, Time_start, time_interval, CS)
 step_offline is the main driver for running tracers offline in MOM6. This has been primarily developed with ALE configurations in mind. Some work has been done in isopycnal configuration, but the work is very preliminary. Some more detail about this capability along with some of the subroutines called here can be found in tracers/MOM_offline_control.F90 More...
 
subroutine, public mom::initialize_mom (Time, Time_init, param_file, dirs, CS, restart_CSp, Time_in, offline_tracer_mode, input_restart_file, diag_ptr, count_calls, tracer_flow_CSp)
 Initialize MOM, including memory allocation, setting up parameters and diagnostics, initializing the ocean state variables, and initializing subsidiary modules. More...
 
subroutine, public mom::finish_mom_initialization (Time, dirs, CS, restart_CSp)
 Finishes initializing MOM and writes out the initial conditions. More...
 
subroutine mom::register_diags (Time, G, GV, US, IDs, diag)
 Register certain diagnostics. More...
 
subroutine mom::mom_timing_init (CS)
 Set up CPU clock IDs for timing various subroutines. More...
 
subroutine mom::set_restart_fields (GV, US, param_file, CS, restart_CSp)
 Set the fields that are needed for bitwise identical restarting the time stepping scheme. In addition to those specified here directly, there may be fields related to the forcing or to the barotropic solver that are needed; these are specified in sub- routines that are called from this one. More...
 
subroutine mom::adjust_ssh_for_p_atm (tv, G, GV, US, ssh, p_atm, use_EOS)
 Apply a correction to the sea surface height to compensate for the atmospheric pressure (the inverse barometer). More...
 
subroutine, public mom::extract_surface_state (CS, sfc_state)
 Set the surface (return) properties of the ocean model by setting the appropriate fields in sfc_state. Unused fields are set to NULL or are unallocated. More...
 
logical function, public mom::mom_state_is_synchronized (CS, adv_dyn)
 Return true if all phases of step_MOM are at the same point in time. More...
 
subroutine, public mom::get_mom_state_elements (CS, G, GV, US, C_p, use_temp)
 This subroutine offers access to values or pointers to other types from within the MOM_control_struct, allowing the MOM_control_struct to be opaque. More...
 
subroutine, public mom::get_ocean_stocks (CS, mass, heat, salt, on_PE_only)
 Find the global integrals of various quantities. More...
 
subroutine, public mom::mom_end (CS)
 End of ocean model, including memory deallocation. More...