| ▼Nadvection_test_tracer | This tracer package is used to test advection schemes |
| Cadvection_test_tracer_cs | The control structure for the advect_test_tracer module |
| ▼Nbfb_surface_forcing | Surface forcing for the boundary-forced-basin (BFB) configuration |
| Cbfb_surface_forcing_cs | Control structure for BFB_surface_forcing |
| ▼Nboundary_impulse_tracer | Implements a boundary impulse response tracer to calculate Green's functions |
| Cboundary_impulse_tracer_cs | The control structure for the boundary impulse tracer package |
| ▼Ncoord_adapt | Regrid columns for the adaptive coordinate |
| Cadapt_cs | Control structure for adaptive coordinates (coord_adapt) |
| ▼Ncoord_hycom | Regrid columns for the HyCOM coordinate |
| Chycom_cs | Control structure containing required parameters for the HyCOM coordinate |
| ▼Ncoord_rho | Regrid columns for the continuous isopycnal (rho) coordinate |
| Crho_cs | Control structure containing required parameters for the rho coordinate |
| ▼Ncoord_sigma | Regrid columns for the sigma coordinate |
| Csigma_cs | Control structure containing required parameters for the sigma coordinate |
| ▼Ncoord_slight | Regrid columns for the SLight coordinate |
| Cslight_cs | Control structure containing required parameters for the SLight coordinate |
| ▼Ncoord_zlike | Regrid columns for a z-like coordinate (z-star, z-level) |
| Czlike_cs | Control structure containing required parameters for a z-like coordinate |
| ▼Ndome_tracer | A tracer package that is used as a diagnostic in the DOME experiments |
| Cdome_tracer_cs | The DOME_tracer control structure |
| ▼Ndumbbell_surface_forcing | Surface forcing for the dumbbell test case |
| Cdumbbell_surface_forcing_cs | Control structure for the dumbbell test case forcing |
| ▼Ndyed_channel_initialization | Initialization for the dyed_channel configuration |
| Cdyed_channel_obc_cs | Control structure for dyed-channel open boundaries |
| ▼Ndyed_obc_tracer | This tracer package dyes flow through open boundaries |
| Cdyed_obc_tracer_cs | The control structure for the dyed_obc tracer package |
| ▼Nideal_age_example | A tracer package of ideal age tracers |
| Cideal_age_tracer_cs | The control structure for the ideal_age_tracer package |
| ▼Nidealized_hurricane | Forcing for the idealized hurricane and SCM_idealized_hurricane examples |
| Cidealized_hurricane_cs | Container for parameters describing idealized wind structure |
| ▼Nisomip_tracer | Routines used to set up and use a set of (one for now) dynamically passive tracers in the ISOMIP configuration |
| Cisomip_tracer_cs | ISOMIP tracer package control structure |
| ▼Nkelvin_initialization | Configures the model for the Kelvin wave experiment |
| Ckelvin_obc_cs | Control structure for Kelvin wave open boundaries |
| ▼Nmeso_surface_forcing | Sets forcing for the MESO configuration |
| Cmeso_surface_forcing_cs | This control structure is used to store parameters associated with the MESO forcing |
| ▼Nmidas_vertmap | Routines for initialization callable from MOM6 or Python (MIDAS) |
| Cfill_boundaries | Fill grid edges |
| ▼Nmom | The central module of the MOM6 ocean model |
| Cmom_control_struct | Control structure for the MOM module, including the variables that describe the state of the ocean |
| Cmom_diag_ids | A structure with diagnostic IDs of the state variables |
| ▼Nmom_ale | This module contains the main regridding routines |
| Cale_cs | ALE control structure |
| ▼Nmom_ale_sponge | This module contains the routines used to apply sponge layers when using the ALE mode |
| Cale_sponge_cs | ALE sponge control structure |
| Cinitialize_ale_sponge | Ddetermine the number of points which are within sponges in this computational domain |
| Cp2d | A structure for creating arrays of pointers to 2D arrays with extra gridding information |
| Cp3d | A structure for creating arrays of pointers to 3D arrays with extra gridding information |
| Cset_up_ale_sponge_field | Store the reference profile at h points for a variable |
| Cset_up_ale_sponge_vel_field | This subroutine stores the reference profile at u and v points for a vector |
| ▼Nmom_barotropic | Baropotric solver |
| Cbarotropic_cs | The barotropic stepping control stucture |
| Cbt_obc_type | The barotropic stepping open boundary condition type |
| Clocal_bt_cont_u_type | A desciption of the functional dependence of transport at a u-point |
| Clocal_bt_cont_v_type | A desciption of the functional dependence of transport at a v-point |
| Cmemory_size_type | A container for passing around active tracer point memory limits |
| ▼Nmom_bkgnd_mixing | Interface to background mixing schemes, including the Bryan and Lewis (1979) which is applied via CVMix |
| Cbkgnd_mixing_cs | Control structure including parameters for this module |
| ▼Nmom_boundary_update | Controls where open boundary conditions are applied |
| Cupdate_obc_cs | The control structure for the MOM_boundary_update module |
| ▼Nmom_bulk_mixed_layer | Build mixed layer parameterization |
| Cbulkmixedlayer_cs | The control structure with parameters for the MOM_bulk_mixed_layer module |
| ▼Nmom_checksum_packages | Provides routines that do checksums of groups of MOM variables |
| Cmom_state_chksum | Write out checksums of the MOM6 state variables |
| Cstats | A type for storing statistica about a variable |
| ▼Nmom_checksums | Routines to calculate checksums of various array and vector types |
| Cbchksum | Checksums an array (2d or 3d) staggered at corner points |
| Cbchksum_pair | Checksums a pair of arrays (2d or 3d) staggered at corner points |
| Cchk_sum_msg | Write a message with either checksums or numerical statistics of arrays |
| Cchksum | This is an older interface for 1-, 2-, or 3-D checksums |
| Chchksum | Checksums an array (2d or 3d) staggered at tracer points |
| Chchksum_pair | Checksums a pair of arrays (2d or 3d) staggered at tracer points |
| Cis_nan | Returns .true. if any element of x is a NaN, and .false. otherwise |
| Cqchksum | This is an older interface that has been renamed Bchksum |
| Cuchksum | Checksums an array (2d or 3d) staggered at C-grid u points |
| Cuvchksum | Checksums a pair velocity arrays (2d or 3d) staggered at C-grid locations |
| Cvchksum | Checksums an array (2d or 3d) staggered at C-grid v points |
| ▼Nmom_coms | Interfaces to non-domain-oriented communication subroutines, including the MOM6 reproducing sums facility |
| Cassignment(=) | Copy the value of one extended-fixed-point number into another |
| Cefp_type | The Extended Fixed Point (EFP) type provides a public interface for doing sums and taking differences with this type |
| Coperator(+) | Add two extended-fixed-point numbers |
| Coperator(-) | Subtract one extended-fixed-point number from another |
| Creproducing_sum | Find an accurate and order-invariant sum of distributed 2d or 3d fields |
| ▼Nmom_continuity | Solve the layer continuity equation |
| Ccontinuity_cs | Control structure for mom_continuity |
| ▼Nmom_continuity_ppm | Solve the layer continuity equation using the PPM method for layer fluxes |
| Ccontinuity_ppm_cs | Control structure for mom_continuity_ppm |
| Cloop_bounds_type | A container for loop bounds |
| ▼Nmom_controlled_forcing | Use control-theory to adjust the surface heat flux and precipitation |
| Cctrl_forcing_cs | Control structure for MOM_controlled_forcing |
| ▼Nmom_coriolisadv | Accelerations due to the Coriolis force and momentum advection |
| Ccoriolisadv_cs | Control structure for mom_coriolisadv |
| ▼Nmom_cvmix_conv | Interface to CVMix convection scheme |
| Ccvmix_conv_cs | Control structure including parameters for CVMix convection |
| ▼Nmom_cvmix_ddiff | Interface to CVMix double diffusion scheme |
| Ccvmix_ddiff_cs | Control structure including parameters for CVMix double diffusion |
| ▼Nmom_cvmix_kpp | Provides the K-Profile Parameterization (KPP) of Large et al., 1994, via CVMix |
| Ckpp_cs | Control structure for containing KPP parameters/data |
| ▼Nmom_cvmix_shear | Interface to CVMix interior shear schemes |
| Ccvmix_shear_cs | Control structure including parameters for CVMix interior shear schemes |
| ▼Nmom_debugging | Provides checksumming functions for debugging |
| Ccheck_redundant | Check for consistency between the duplicated points of a C-grid vector |
| Ccheck_redundant_b | Check for consistency between the duplicated points of a B-grid vector or scalar |
| Ccheck_redundant_c | Check for consistency between the duplicated points of a C-grid vector |
| Ccheck_redundant_t | Check for consistency between the duplicated points of an A-grid vector or scalar |
| Cvec_chksum | Do checksums on the components of a C-grid vector |
| Cvec_chksum_a | Do checksums on the components of an A-grid vector |
| Cvec_chksum_b | Do checksums on the components of a B-grid vector |
| Cvec_chksum_c | Do checksums on the components of a C-grid vector |
| ▼Nmom_diabatic_aux | Provides functions for some diabatic processes such as fraxil, brine rejection, tendency due to surface flux divergence |
| Cdiabatic_aux_cs | Control structure for diabatic_aux |
| ▼Nmom_diabatic_driver | This routine drives the diabatic/dianeutral physics for MOM |
| Cdiabatic_cs | Control structure for this module |
| ▼Nmom_diag_manager_wrapper | A simple (very thin) wrapper for register_diag_field to avoid a compiler bug with PGI |
| Cregister_diag_field_fms | A wrapper for register_diag_field_array() |
| ▼Nmom_diag_mediator | The subroutines here provide convenient wrappers to the fms diag_manager interfaces with additional diagnostic capabilies |
| Caxes_grp | A group of 1D axes that comprise a 1D/2D/3D mesh |
| Cdiag_ctrl | The following data type a list of diagnostic fields an their variants, as well as variables that control the handling of model output |
| Cdiag_dsamp | Contained for down sampled masks |
| Cdiag_grid_storage | Stores all the remapping grids and the model's native space thicknesses |
| Cdiag_grids_type | Contains an array to store a diagnostic target grid |
| Cdiag_type | This type is used to represent a diagnostic at the diag_mediator level |
| Cdiagcs_dsamp | Container for down sampling information |
| Cdownsample_diag_field | Down sample a diagnostic field |
| Cdownsample_field | Down sample a field |
| Cdownsample_mask | Down sample the mask of a field |
| Cpost_data | Make a diagnostic available for averaging or output |
| ▼Nmom_diag_remap | Runtime remapping of diagnostics to z star, sigma and rho vertical coordinates |
| Cdiag_remap_ctrl | Represents remapping of diagnostics to a particular vertical coordinate |
| ▼Nmom_diagnostics | Calculates any requested diagnostic quantities that are not calculated in the various subroutines. Diagnostic quantities are requested by allocating them memory |
| Cdiagnostics_cs | The control structure for the MOM_diagnostics module |
| Csurface_diag_ids | A structure with diagnostic IDs of the surface and integrated variables |
| Ctransport_diag_ids | A structure with diagnostic IDs of mass transport related diagnostics |
| ▼Nmom_diapyc_energy_req | Calculates the energy requirements of mixing |
| Cdiapyc_energy_req_cs | This control structure holds parameters for the MOM_diapyc_energy_req module |
| ▼Nmom_document | The subroutines here provide hooks for document generation functions at various levels of granularity |
| Cdoc_param | Document parameter values |
| Cdoc_type | A structure that controls where the documentation occurs, its veborsity and formatting |
| Clink_msg | A linked list of the parameter documentation messages that have been issued so far |
| ▼Nmom_domains | Describes the decomposed MOM domain and has routines for communications across PEs |
| Cclone_mom_domain | Copy one MOM_domain_type into another |
| Ccreate_group_pass | Set up a group of halo updates |
| Cfill_symmetric_edges | Do a set of halo updates that fill in the values at the duplicated edges of a staggered symmetric memory domain |
| Cmom_domain_type | The MOM_domain_type contains information about the domain decompositoin |
| Cpass_var | Do a halo update on an array |
| Cpass_var_complete | Complete a non-blocking halo update on an array |
| Cpass_var_start | Initiate a non-blocking halo update on an array |
| Cpass_vector | Do a halo update on a pair of arrays representing the two components of a vector |
| Cpass_vector_complete | Complete a halo update on a pair of arrays representing the two components of a vector |
| Cpass_vector_start | Initiate a halo update on a pair of arrays representing the two components of a vector |
| ▼Nmom_dyn_horgrid | Contains a shareable dynamic type for describing horizontal grids and metric data and utilty routines that work on this type |
| Cdyn_horgrid_type | Describes the horizontal ocean grid with only dynamic memory arrays |
| ▼Nmom_dynamics_split_rk2 | Time step the adiabatic dynamic core of MOM using RK2 method |
| Cmom_dyn_split_rk2_cs | MOM_dynamics_split_RK2 module control structure |
| ▼Nmom_dynamics_unsplit | Time steps the ocean dynamics with an unsplit quasi 3rd order scheme |
| Cmom_dyn_unsplit_cs | MOM_dynamics_unsplit module control structure |
| ▼Nmom_dynamics_unsplit_rk2 | Time steps the ocean dynamics with an unsplit quasi 2nd order Runge-Kutta scheme |
| Cmom_dyn_unsplit_rk2_cs | MOM_dynamics_unsplit_RK2 module control structure |
| ▼Nmom_energetic_pbl | Energetically consistent planetary boundary layer parameterization |
| Cenergetic_pbl_cs | This control structure holds parameters for the MOM_energetic_PBL module |
| Cepbl_column_diags | A type for conveniently passing around ePBL diagnostics for a column |
| ▼Nmom_entrain_diffusive | Diapycnal mixing and advection in isopycnal mode |
| Centrain_diffusive_cs | The control structure holding parametes for the MOM_entrain_diffusive module |
| ▼Nmom_eos | Provides subroutines for quantities specific to the equation of state |
| Ccalculate_density | Calculates density of sea water from T, S and P |
| Ccalculate_density_derivs | Calculate the derivatives of density with temperature and salinity from T, S, and P |
| Ccalculate_density_second_derivs | Calculates the second derivatives of density with various combinations of temperature, salinity, and pressure from T, S and P |
| Ccalculate_spec_vol | Calculates specific volume of sea water from T, S and P |
| Ccalculate_tfreeze | Calculates the freezing point of sea water from T, S and P |
| Ceos_type | A control structure for the equation of state |
| ▼Nmom_eos_linear | A simple linear equation of state for sea water with constant coefficients |
| Ccalculate_density_derivs_linear | For a given thermodynamic state, return the derivatives of density with temperature and salinity using the simple linear equation of state |
| Ccalculate_density_linear | Compute the density of sea water (in kg/m^3), or its anomaly from a reference density, using a simple linear equation of state from salinity (in psu), potential temperature (in deg C) and pressure [Pa] |
| Ccalculate_density_second_derivs_linear | For a given thermodynamic state, return the second derivatives of density with various combinations of temperature, salinity, and pressure. Note that with a simple linear equation of state these second derivatives are all 0 |
| Ccalculate_spec_vol_linear | Compute the specific volume of sea water (in m^3/kg), or its anomaly from a reference value, using a simple linear equation of state from salinity (in psu), potential temperature (in deg C) and pressure [Pa] |
| ▼Nmom_eos_nemo | The equation of state using the expressions of Roquet et al. that are used in NEMO |
| Ccalculate_density_derivs_nemo | For a given thermodynamic state, return the derivatives of density with conservative temperature and absolute salinity, the expressions derived for use with NEMO |
| Ccalculate_density_nemo | Compute the in situ density of sea water ([kg m-3]), or its anomaly with respect to a reference density, from absolute salinity (g/kg), conservative temperature (in deg C), and pressure [Pa], using the expressions derived for use with NEMO |
| ▼Nmom_eos_teos10 | The equation of state using the TEOS10 expressions |
| Ccalculate_density_derivs_teos10 | For a given thermodynamic state, return the derivatives of density with conservative temperature and absolute salinity, using the TEOS10 expressions |
| Ccalculate_density_second_derivs_teos10 | For a given thermodynamic state, return the second derivatives of density with various combinations of conservative temperature, absolute salinity, and pressure, using the TEOS10 expressions |
| Ccalculate_density_teos10 | Compute the in situ density of sea water ([kg m-3]), or its anomaly with respect to a reference density, from absolute salinity (g/kg), conservative temperature (in deg C), and pressure [Pa], using the TEOS10 expressions |
| Ccalculate_spec_vol_teos10 | Compute the in situ specific volume of sea water (in [m3 kg-1]), or an anomaly with respect to a reference specific volume, from absolute salinity (in g/kg), conservative temperature (in deg C), and pressure [Pa], using the TEOS10 expressions |
| ▼Nmom_eos_unesco | The equation of state using the Jackett and McDougall fits to the UNESCO EOS |
| Ccalculate_density_unesco | Compute the in situ density of sea water (in [kg m-3]), or its anomaly with respect to a reference density, from salinity [PSU], potential temperature [degC], and pressure [Pa], using the UNESCO (1981) equation of state |
| Ccalculate_spec_vol_unesco | Compute the in situ specific volume of sea water (in [m3 kg-1]), or an anomaly with respect to a reference specific volume, from salinity [PSU], potential temperature [degC], and pressure [Pa], using the UNESCO (1981) equation of state |
| ▼Nmom_eos_wright | The equation of state using the Wright 1997 expressions |
| Ccalculate_density_derivs_wright | For a given thermodynamic state, return the derivatives of density with temperature and salinity |
| Ccalculate_density_second_derivs_wright | For a given thermodynamic state, return the second derivatives of density with various combinations of temperature, salinity, and pressure |
| Ccalculate_density_wright | Compute the in situ density of sea water (in [kg m-3]), or its anomaly with respect to a reference density, from salinity (in psu), potential temperature (in deg C), and pressure [Pa], using the expressions from Wright, 1997, J. Atmos. Ocean. Tech., 14, 735-740 |
| Ccalculate_spec_vol_wright | Compute the in situ specific volume of sea water (in [m3 kg-1]), or an anomaly with respect to a reference specific volume, from salinity (in psu), potential temperature (in deg C), and pressure [Pa], using the expressions from Wright, 1997, J. Atmos. Ocean. Tech., 14, 735-740 |
| ▼Nmom_file_parser | The MOM6 facility to parse input files for runtime parameters |
| Cfile_data_type | The valid lines extracted from an input parameter file without comments |
| Cget_param | An overloaded interface to read and log the values of various types of parameters |
| Clink_parameter | A link in the list of variables that have already had override warnings issued |
| Clog_param | An overloaded interface to log the values of various types of parameters |
| Clog_version | An overloaded interface to log version information about modules |
| Cparam_file_type | A structure that can be parsed to read and document run-time parameters |
| Cparameter_block | Specify the active parameter block |
| Cread_param | An overloaded interface to read various types of parameters |
| ▼Nmom_forcing_type | This module implements boundary forcing for MOM6 |
| Cforcing | Structure that contains pointers to the boundary forcing used to drive the liquid ocean simulated by MOM |
| Cforcing_diags | Structure that defines the id handles for the forcing type |
| Cmech_forcing | Structure that contains pointers to the mechanical forcing at the surface used to drive the liquid ocean simulated by MOM. Data in this type is allocated in the module MOM_surface_forcing.F90, of which there are three versions: solo, coupled, and ice-shelf |
| ▼Nmom_geothermal | Implemented geothermal heating at the ocean bottom |
| Cgeothermal_cs | Control structure for geothermal heating |
| ▼Nmom_get_input | Reads the only Fortran name list needed to boot-strap the model |
| Cdirectories | Container for paths and parameter file names |
| ▼Nmom_grid | Provides the ocean grid type |
| Cocean_grid_type | Ocean grid type. See mom_grid for details |
| ▼Nmom_grid_initialize | Initializes horizontal grid |
| Cgps | Global positioning system (aka container for information to describe the grid) |
| ▼Nmom_hor_index | Defines the horizontal index type (hor_index_type) used for providing index ranges |
| Cassignment(=) | Copy the contents of one horizontal index type into another |
| Chor_index_type | Container for horizontal index ranges for data, computational and global domains |
| ▼Nmom_hor_visc | Calculates horizontal viscosity and viscous stresses |
| Chor_visc_cs | Control structure for horizontal viscosity |
| ▼Nmom_horizontal_regridding | Horizontal interpolation |
| Cfill_boundaries | Fill grid edges |
| Choriz_interp_and_extrap_tracer | Extrapolate and interpolate data |
| ▼Nmom_ice_shelf | Implements the thermodynamic aspects of ocean / ice-shelf interactions, along with a crude placeholder for a later implementation of full ice shelf dynamics, all using the MOM framework and coding style |
| Cice_shelf_cs | Control structure that contains ice shelf parameters and diagnostics handles |
| ▼Nmom_ice_shelf_dynamics | Implements a crude placeholder for a later implementation of full ice shelf dynamics |
| Cice_shelf_dyn_cs | The control structure for the ice shelf dynamics |
| ▼Nmom_ice_shelf_state | Implements the thermodynamic aspects of ocean / ice-shelf interactions, along with a crude placeholder for a later implementation of full ice shelf dynamics, all using the MOM framework and coding style |
| Cice_shelf_state | Structure that describes the ice shelf state |
| ▼Nmom_int_tide_input | Calculates energy input to the internal tides |
| Cint_tide_input_cs | This control structure holds parameters that regulate internal tide energy inputs |
| Cint_tide_input_type | This type is used to exchange fields related to the internal tides |
| ▼Nmom_interface_heights | Functions for calculating interface heights, including free surface height |
| Cfind_eta | Calculates the heights of sruface or all interfaces from layer thicknesses |
| ▼Nmom_internal_tides | Subroutines that use the ray-tracing equations to propagate the internal tide energy density |
| Cint_tide_cs | This control structure has parameters for the MOM_internal_tides module |
| Cloop_bounds_type | A structure with the active energy loop bounds |
| ▼Nmom_io | This module contains I/O framework code |
| Cfile_exists | Indicate whether a file exists, perhaps with domain decomposition |
| Cmom_read_data | Read a data field from a file |
| Cmom_read_vector | Read a pair of data fields representing the two components of a vector from a file |
| Cvardesc | Type for describing a variable, typically a tracer |
| ▼Nmom_kappa_shear | Shear-dependent mixing following Jackson et al. 2008 |
| Ckappa_shear_cs | This control structure holds the parameters that regulate shear mixing |
| ▼Nmom_lateral_mixing_coeffs | Variable mixing coefficients |
| Cvarmix_cs | Variable mixing coefficients |
| ▼Nmom_marine_ice | Routines incorporating the effects of marine ice (sea-ice and icebergs) into the ocean model dynamics and thermodynamics |
| Cmarine_ice_cs | Control structure for MOM_marine_ice |
| ▼Nmom_meke | Implements the Mesoscale Eddy Kinetic Energy framework with topographic beta effect included in computing beta in Rhines scale |
| Cmeke_cs | Control structure that contains MEKE parameters and diagnostics handles |
| ▼Nmom_meke_types | |
| Cmeke_type | This type is used to exchange information related to the MEKE calculations |
| ▼Nmom_mixed_layer_restrat | Parameterization of mixed layer restratification by unresolved mixed-layer eddies |
| Cmixedlayer_restrat_cs | Control structure for mom_mixed_layer_restrat |
| ▼Nmom_neutral_diffusion | A column-wise toolbox for implementing neutral diffusion |
| Cneutral_diffusion_cs | The control structure for the MOM_neutral_diffusion module |
| ▼Nmom_neutral_diffusion_aux | A column-wise toolbox for implementing neutral diffusion |
| Cndiff_aux_cs_type | The control structure for this module |
| ▼Nmom_ocmip2_cfc | Simulates CFCs using the OCMIP2 protocols |
| Cocmip2_cfc_cs | The control structure for the OCMPI2_CFC tracer package |
| ▼Nmom_oda_driver_mod | Interfaces for MOM6 ensembles and data assimilation |
| Coda_cs | Control structure that contains a transpose of the ocean state across ensemble members |
| Cptr_mpp_domain | A structure with a pointer to a domain2d, to allow for the creation of arrays of pointers |
| ▼Nmom_offline_main | The routines here implement the offline tracer algorithm used in MOM6. These are called from step_offline Some routines called here can be found in the MOM_offline_aux module |
| Coffline_transport_cs | The control structure for the offline transport module |
| ▼Nmom_opacity | Routines used to calculate the opacity of the ocean |
| Copacity_cs | The control structure with paramters for the MOM_opacity module |
| Coptics_type | This type is used to store information about ocean optical properties |
| ▼Nmom_open_boundary | Controls where open boundary conditions are applied |
| Cfile_obc_cs | Control structure for open boundaries that read from files. Probably lots to update here |
| Cobc_registry_type | Type to carry basic OBC information needed for updating values |
| Cobc_segment_data_type | Open boundary segment data from files (mostly) |
| Cobc_segment_tracer_type | Tracer segment data structure, for putting into an array of objects, not all the same shape |
| Cobc_segment_type | Open boundary segment data structure |
| Cobc_struct_type | Type to carry something (what] for the OBC registry |
| Cocean_obc_type | Open-boundary data |
| Csegment_tracer_registry_type | Registry type for tracers on segments |
| ▼Nmom_pointaccel | Debug accelerations at a given point |
| Cpointaccel_cs | The control structure for the MOM_PointAccel module |
| ▼Nmom_pressureforce | A thin wrapper for Boussinesq/non-Boussinesq forms of the pressure force calculation |
| Cpressureforce_cs | Pressure force control structure |
| ▼Nmom_pressureforce_afv | Analytically integrated finite volume pressure gradient |
| Cpressureforce_afv_cs | Finite volume pressure gradient control structure |
| ▼Nmom_pressureforce_blk_afv | Analytically integrated finite volume pressure gradient |
| Cpressureforce_blk_afv_cs | Finite volume pressure gradient control structure |
| ▼Nmom_pressureforce_mont | Provides the Montgomery potential form of pressure gradient |
| Cpressureforce_mont_cs | Control structure for the Montgomery potential form of pressure gradient |
| ▼Nmom_regridding | Generates vertical grids as part of the ALE algorithm |
| Cregridding_cs | Regridding control structure |
| ▼Nmom_regularize_layers | Provides regularization of layers in isopycnal mode |
| Cregularize_layers_cs | This control structure holds parameters used by the MOM_regularize_layers module |
| ▼Nmom_remapping | Provides column-wise vertical remapping functions |
| Cremapping_cs | Container for remapping parameters |
| ▼Nmom_restart | The MOM6 facility for reading and writing restart files, and querying what has been read |
| Cfield_restart | A structure with information about a single restart field |
| Cmom_restart_cs | A restart registry and the control structure for restarts |
| Cobsolete_restart | A structure to store information about restart fields that are no longer used |
| Cp0d | A type for making arrays of pointers to scalars |
| Cp1d | A type for making arrays of pointers to 1-d arrays |
| Cp2d | A type for making arrays of pointers to 2-d arrays |
| Cp3d | A type for making arrays of pointers to 3-d arrays |
| Cp4d | A type for making arrays of pointers to 4-d arrays |
| Cquery_initialized | Indicate whether a field has been read from a restart file |
| Cregister_restart_field | Register fields for restarts |
| ▼Nmom_safe_alloc | Convenience functions for safely allocating memory without accidentally reallocating pointer and causing memory leaks |
| Csafe_alloc_alloc | Allocate a 2-d or 3-d allocatable array |
| Csafe_alloc_ptr | Allocate a pointer to a 1-d, 2-d or 3-d array |
| ▼Nmom_set_diffusivity | Calculate vertical diffusivity from all mixing processes |
| Cdiffusivity_diags | This structure has memory for used in calculating diagnostics of diffusivity |
| Cset_diffusivity_cs | This control structure contains parameters for MOM_set_diffusivity |
| ▼Nmom_set_visc | Calculates various values related to the bottom boundary layer, such as the viscosity and thickness of the BBL (set_viscous_BBL) |
| Cset_visc_cs | Control structure for MOM_set_visc |
| ▼Nmom_sponge | Implements sponge regions in isopycnal mode |
| Cp2d | A structure for creating arrays of pointers to 2D arrays |
| Cp3d | A structure for creating arrays of pointers to 3D arrays |
| Csponge_cs | This control structure holds memory and parameters for the MOM_sponge module |
| ▼Nmom_sum_output | Reports integrated quantities for monitoring the model state |
| Cdepth_list | A list of depths and corresponding globally integrated ocean area at each depth and the ocean volume below each depth |
| Csum_output_cs | The control structure for the MOM_sum_output module |
| ▼Nmom_surface_forcing | Functions that calculate the surface wind stresses and fluxes of buoyancy or temperature/salinity andfresh water, in ocean-only (solo) mode |
| Csurface_forcing_cs | Structure containing pointers to the forcing fields that may be used to drive MOM. All fluxes are positive into the ocean |
| ▼Nmom_tfreeze | Freezing point expressions |
| Ccalculate_tfreeze_linear | Compute the freezing point potential temperature [degC] from salinity [ppt] and pressure [Pa] using a simple linear expression, with coefficients passed in as arguments |
| Ccalculate_tfreeze_millero | Compute the freezing point potential temperature [degC] from salinity [PSU] and pressure [Pa] using the expression from Millero (1978) (and in appendix A of Gill 1982), but with the of the pressure dependence changed from 7.53e-8 to 7.75e-8 to make this an expression for potential temperature (not in situ temperature), using a value that is correct at the freezing point at 35 PSU and 5e6 Pa (500 dbar) |
| Ccalculate_tfreeze_teos10 | Compute the freezing point conservative temperature [degC] from absolute salinity [g/kg] and pressure [Pa] using the TEOS10 package |
| ▼Nmom_thickness_diffuse | Thickness diffusion (or Gent McWilliams) |
| Cthickness_diffuse_cs | Control structure for thickness diffusion |
| ▼Nmom_tidal_forcing | Tidal contributions to geopotential |
| Ctidal_forcing_cs | The control structure for the MOM_tidal_forcing module |
| ▼Nmom_tidal_mixing | Interface to vertical tidal mixing schemes including CVMix tidal mixing |
| Ctidal_mixing_cs | Control structure with parameters for the tidal mixing module |
| Ctidal_mixing_diags | Containers for tidal mixing diagnostics |
| ▼Nmom_tracer_advect | This program contains the subroutines that advect tracers along coordinate surfaces |
| Ctracer_advect_cs | Control structure for this module |
| ▼Nmom_tracer_flow_control | Orchestrates the registration and calling of tracer packages |
| Ctracer_flow_control_cs | The control structure for orchestrating the calling of tracer packages |
| ▼Nmom_tracer_hor_diff | Main routine for lateral (along surface or neutral) diffusion of tracers |
| Cp2d | A type that can be used to create arrays of pointers to 2D arrays |
| Cp2di | A type that can be used to create arrays of pointers to 2D integer arrays |
| Ctracer_hor_diff_cs | The ocntrol structure for along-layer and epineutral tracer diffusion |
| ▼Nmom_tracer_registry | This module contains the tracer_registry_type and the subroutines that handle registration of tracers and related subroutines. The primary subroutine, register_tracer, is called to indicate the tracers advected and diffused |
| Ctracer_registry_type | Type to carry basic tracer information |
| Ctracer_type | The tracer type |
| ▼Nmom_unit_scaling | Provides a transparent unit rescaling type to facilitate dimensional consistency testing |
| Cunit_scale_type | Describes various unit conversion factors |
| ▼Nmom_variables | Provides transparent structures with groups of MOM6 variables and supporting routines |
| Caccel_diag_ptrs | Pointers to arrays with accelerations, which can later be used for derived diagnostics, like energy balances |
| Cbt_cont_type | Container for information about the summed layer transports and how they will vary as the barotropic velocity is changed |
| Ccont_diag_ptrs | Pointers to arrays with transports, which can later be used for derived diagnostics, like energy balances |
| Cocean_internal_state | Pointers to all of the prognostic variables allocated in MOM_variables.F90 and MOM.F90 |
| Cp2d | A structure for creating arrays of pointers to 2D arrays |
| Cp3d | A structure for creating arrays of pointers to 3D arrays |
| Csurface | Pointers to various fields which may be used describe the surface state of MOM, and which will be returned to a the calling program |
| Cthermo_var_ptrs | Pointers to an assortment of thermodynamic fields that may be available, including potential temperature, salinity, heat capacity, and the equation of state control structure |
| Cvertvisc_type | Vertical viscosities, drag coefficients, and related fields |
| ▼Nmom_vert_friction | Implements vertical viscosity (vertvisc) |
| Cvertvisc_cs | The control structure with parameters and memory for the MOM_vert_friction module |
| ▼Nmom_verticalgrid | Provides a transparent vertical ocean grid type and supporting routines |
| Cverticalgrid_type | Describes the vertical ocean grid, including unit conversion factors |
| ▼Nmom_wave_interface | Interface for surface waves |
| Cwave_parameters_cs | Container for all surface wave related parameters |
| ▼Nmom_wave_speed | Routines for calculating baroclinic wave speeds |
| Cwave_speed_cs | Control structure for MOM_wave_speed |
| ▼Nmom_wave_structure | Vertical structure functions for first baroclinic mode wave speed |
| Cwave_structure_cs | The control structure for the MOM_wave_structure module |
| ▼Nmom_write_cputime | A module to monitor the overall CPU time used by MOM6 and project when to stop the model |
| Cwrite_cputime_cs | A control structure that regulates the writing of CPU time |
| ▼Nneverland_surface_forcing | Wind and buoyancy forcing for the Neverland configurations |
| Cneverland_surface_forcing_cs | This control structure should be used to store any run-time variables associated with the Neverland forcing |
| ▼Noil_tracer | A tracer package to mimic dissolved oil |
| Coil_tracer_cs | The control structure for the oil tracer package |
| ▼Npseudo_salt_tracer | A tracer package that mimics salinity |
| Cpseudo_salt_tracer_cs | The control structure for the pseudo-salt tracer |
| ▼Nregional_dyes | A tracer package for using dyes to diagnose regional flows |
| Cdye_tracer_cs | The control structure for the regional dyes tracer package |
| ▼Nregrid_consts | Contains constants for interpreting input parameters that control regridding |
| Ccoordinateunits | Returns a string with the coordinate units associated with the coordinate mode |
| Cstate_dependent | Returns true if the coordinate is dependent on the state density, returns false otherwise |
| ▼Nregrid_interp | Vertical interpolation for regridding |
| Cinterp_cs_type | Control structure for regrid_interp module |
| ▼Nrgc_tracer | This module contains the routines used to set up a dynamically passive tracer. Set up and use passive tracers requires the following: (1) register_RGC_tracer (2) apply diffusion, physics/chemistry and advect the tracer |
| Crgc_tracer_cs | Tracer control structure |
| ▼Nscm_cvmix_tests | Initial conditions and forcing for the single column model (SCM) CVMix test set |
| Cscm_cvmix_tests_cs | Container for surface forcing parameters |
| ▼Nshelfwave_initialization | Configures the model for the idealized shelfwave test case |
| Cshelfwave_obc_cs | Control structure for shelfwave open boundaries |
| ▼Ntidal_bay_initialization | Configures the model for the "tidal_bay" experiment. tidal_bay = Tidally resonant bay from Zygmunt Kowalik's class on tides |
| Ctidal_bay_obc_cs | Control structure for tidal bay open boundaries |
| ▼Nuser_change_diffusivity | Increments the diapycnal diffusivity in a specified band of latitudes and densities |
| Cuser_change_diff_cs | Control structure for user_change_diffusivity |
| ▼Nuser_revise_forcing | Provides a template for users to code updating the forcing fluxes |
| Cuser_revise_forcing_cs | Control structure for user_revise_forcing |
| ▼Nuser_shelf_init | This module specifies the initial values and evolving properties of the MOM6 ice shelf, using user-provided code |
| Cuser_ice_shelf_cs | The control structure for the user_ice_shelf module |
| ▼Nuser_surface_forcing | Template for user to code up surface forcing |
| Cuser_surface_forcing_cs | This control structure should be used to store any run-time variables associated with the user-specified forcing |
| ▼Nuser_tracer_example | A sample tracer package that has striped initial conditions |
| Cuser_tracer_example_cs | The control structure for the USER_tracer_example module |