Modules

adjustment_initialization

Configures the model for the geostrophic adjustment test case.

advection_test_tracer

This tracer package is used to test advection schemes.

baroclinic_zone_initialization

Initial conditions for an idealized baroclinic zone.

basin_builder

An idealized topography building system.

benchmark_initialization

Initialization for the “bench mark” configuration.

bfb_initialization

Initialization of the boundary-forced-basing configuration.

bfb_surface_forcing

Surface forcing for the boundary-forced-basin (BFB) configuration.

boundary_impulse_tracer

Implements a boundary impulse response tracer to calculate Green’s functions.

circle_obcs_initialization

Configures the model for the “circle_obcs” experiment which tests Open Boundary Conditions radiating an SSH anomaly.

coord_adapt

Regrid columns for the adaptive coordinate.

coord_hycom

Regrid columns for the HyCOM coordinate.

coord_rho

Regrid columns for the continuous isopycnal (rho) coordinate.

coord_sigma

Regrid columns for the sigma coordinate.

coord_zlike

Regrid columns for a z-like coordinate (z-star, z-level)

dense_water_initialization

Initialization routines for the dense water formation and overflow experiment.

dome2d_initialization

Initialization of the 2D DOME experiment with density water initialized on a coastal shelf.

dome_initialization

Configures the model for the “DOME” experiment.

dome_tracer

A tracer package that is used as a diagnostic in the DOME experiments.

dumbbell_initialization

Configures the model for the idealized dumbbell test case.

dumbbell_surface_forcing

Surface forcing for the dumbbell test case.

dyed_channel_initialization

Initialization for the dyed_channel configuration.

dyed_obc_tracer

This tracer package dyes flow through open boundaries.

dyed_obcs_initialization

Dyed open boundary conditions.

external_gwave_initialization

Initialization for the “external gravity wave wave” configuration.

ideal_age_example

A tracer package of ideal age tracers.

idealized_hurricane

Forcing for the idealized hurricane and SCM_idealized_hurricane examples.

isomip_initialization

Configures the ISOMIP test case.

isomip_tracer

Routines used to set up and use a set of (one for now) dynamically passive tracers in the ISOMIP configuration.

kelvin_initialization

Configures the model for the Kelvin wave experiment.

lock_exchange_initialization

Initialization of the “lock exchange” experiment.

mom

The central module of the MOM6 ocean model.

mom_ale

This module contains the main regridding routines.

mom_ale_sponge

This module contains the routines used to apply sponge layers when using the ALE mode.

mom_array_transform

Module for supporting the rotation of a field’s index map.

mom_barotropic

Barotropic solver.

mom_bkgnd_mixing

Interface to background mixing schemes, including the Bryan and Lewis (1979) which is applied via CVMix.

mom_boundary_update

Controls where open boundary conditions are applied.

mom_bulk_mixed_layer

Build mixed layer parameterization.

mom_CFC_cap

This module contains the code that is needed to simulate CFC-11 and CFC-12 using atmospheric and sea ice variables provided via cap (only NUOPC cap is implemented so far).

mom_cfc_cap

Simulates CFCs using atmospheric pressure, wind speed and sea ice cover provided via cap (only NUOPC cap is implemented so far).

mom_check_scaling

This module is used to check the dimensional scaling factors used by the MOM6 ocean model.

mom_checksum_packages

Provides routines that do checksums of groups of MOM variables.

mom_checksums

Routines to calculate checksums of various array and vector types.

mom_coms

Interfaces to non-domain-oriented communication subroutines, including the MOM6 reproducing sums facility.

mom_continuity

Solve the layer continuity equation.

mom_continuity_ppm

Solve the layer continuity equation using the PPM method for layer fluxes.

mom_controlled_forcing

Use control-theory to adjust the surface heat flux and precipitation.

mom_coord_initialization

Initializes fixed aspects of the related to its vertical coordinate.

mom_coriolisadv

Accelerations due to the Coriolis force and momentum advection.

mom_coupler_types

This module provides coupler type interfaces for use by MOM6.

mom_cpu_clock

Provides cpu clock functions.

mom_cvmix_conv

Interface to CVMix convection scheme.

mom_cvmix_ddiff

Interface to CVMix double diffusion scheme.

mom_cvmix_kpp

Provides the K-Profile Parameterization (KPP) of Large et al., 1994, via CVMix.

mom_cvmix_shear

Interface to CVMix interior shear schemes.

MOM_data_override

Public functions: mom_data_override_infra:impose_data_init.

mom_data_override

These interfaces allow for ocean or sea-ice variables to be replaced with data.

mom_debugging

Provides checksumming functions for debugging.

mom_density_integrals

Provides integrals of density.

mom_diabatic_aux

Provides functions for some diabatic processes such as fraxil, brine rejection, tendency due to surface flux divergence.

mom_diabatic_driver

This routine drives the diabatic/dianeutral physics for MOM.

mom_diag_mediator

The subroutines here provide convenient wrappers to the fms diag_manager interfaces with additional diagnostic capabilies.

mom_diag_remap

provides runtime remapping of diagnostics to z star, sigma and rho vertical coordinates.

mom_diagnostics

Calculates any requested diagnostic quantities that are not calculated in the various subroutines.

mom_diapyc_energy_req

Calculates the energy requirements of mixing.

mom_document

The subroutines here provide hooks for document generation functions at various levels of granularity.

mom_domains

Describes the decomposed MOM domain and has routines for communications across PEs.

mom_dyn_horgrid

Contains a shareable dynamic type for describing horizontal grids and metric data and utilty routines that work on this type.

mom_dynamics_split_rk2

Time step the adiabatic dynamic core of MOM using RK2 method.

mom_dynamics_unsplit

Time steps the ocean dynamics with an unsplit quasi 3rd order scheme.

mom_dynamics_unsplit_rk2

Time steps the ocean dynamics with an unsplit quasi 2nd order Runge-Kutta scheme.

MOM_energetic_PBL

By Robert Hallberg, 2015.

mom_energetic_pbl

Energetically consistent planetary boundary layer parameterization.

mom_ensemble_manager

Manages ensemble member layout information.

mom_entrain_diffusive

Diapycnal mixing and advection in isopycnal mode.

mom_eos

Provides subroutines for quantities specific to the equation of state.

mom_eos_Jackett06

<undocumented>

mom_eos_jackett06

The equation of state using the Jackett et al 2006 expressions that are often used in Hycom.

mom_eos_linear

A simple linear equation of state for sea water with constant coefficients.

mom_eos_Roquet_rho

<undocumented>

mom_eos_roquet_rho

The equation of state using the expressions of Roquet et al.

mom_eos_Roquet_SpV

<undocumented>

mom_eos_roquet_spv

The equation of state for specific volume (SpV) using the expressions of Roquet et al.

mom_eos_teos10

The equation of state using the TEOS10 expressions.

mom_eos_UNESCO

<undocumented>

mom_eos_unesco

The equation of state using the Jackett and McDougall fits to the UNESCO EOS.

mom_eos_wright

The equation of state using the Wright 1997 expressions.

mom_eos_wright_full

The equation of state using the Wright 1997 expressions.

mom_eos_wright_red

The equation of state using the Wright 1997 expressions.

mom_error_handler

Routines for error handling and I/O management.

mom_file_parser

The MOM6 facility to parse input files for runtime parameters.

mom_file_parser_tests

<undocumented>

mom_fixed_initialization

Initializes fixed aspects of the model, such as horizontal grid metrics, topography and Coriolis.

mom_forcing_type

This module implements boundary forcing for MOM6.

mom_full_convection

Does full convective adjustment of unstable regions via a strong diffusivity.

mom_generic_tracer

Drives the generic version of tracers TOPAZ and CFC and other GFDL BGC components.

mom_geothermal

Implemented geothermal heating at the ocean bottom.

mom_get_input

Reads the only Fortran name list needed to boot-strap the model.

mom_grid

Provides the ocean grid type.

mom_grid_initialize

Initializes horizontal grid.

mom_hor_bnd_diffusion

Calculates and applies diffusive fluxes as a parameterization of horizontal mixing (non-neutral) by mesoscale eddies near the top and bottom (to be implemented) boundary layers of the ocean.

mom_hor_index

Defines the horizontal index type (hor_index_type()) used for providing index ranges.

mom_hor_visc

Calculates horizontal viscosity and viscous stresses.

mom_horizontal_regridding

Horizontal interpolation.

mom_hybgen_regrid

This module contains the hybgen regridding routines from HYCOM, with minor modifications to follow the MOM6 coding conventions.

mom_hybgen_remap

This module contains the hybgen remapping routines from HYCOM, with minor modifications to follow the MOM6 coding conventions.

mom_hybgen_unmix

This module contains the hybgen unmixing routines from HYCOM, with modifications to follow the MOM6 coding conventions and several bugs fixed.

mom_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.

mom_ice_shelf_dynamics

Implements a crude placeholder for a later implementation of full ice shelf dynamics.

mom_ice_shelf_initialize

Initialize ice shelf variables.

mom_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.

mom_int_tide_input

Calculates energy input to the internal tides.

mom_interface_filter

Interface height filtering module.

mom_interface_heights

Functions for calculating interface heights, including free surface height.

mom_internal_tides

Subroutines that use the ray-tracing equations to propagate the internal tide energy density.

mom_interpolate

This module provides added functionality to the FMS temporal and spatial interpolation routines.

mom_intrinsic_functions

A module with intrinsic functions that are used by MOM but are not supported by some compilers.

mom_io

This module contains I/O framework code.

MOM_IO_file

This file defines the MOM_file classes used to inferface with the internal IO handlers, such as the configured “infra” layer (FMS) or native netCDF.

mom_io_file

This module contains the MOM file handler types.

mom_is_diag_mediator

Convenient wrappers to the FMS diag_manager interfaces with additional diagnostic capabilies.

mom_isopycnal_slopes

Calculations of isoneutral slopes and stratification.

mom_kappa_shear

Shear-dependent mixing following Jackson et al.

mom_lateral_mixing_coeffs

Variable mixing coefficients.

mom_load_love_numbers

Load Love Numbers for degree range [0, 1440].

mom_marine_ice

Routines incorporating the effects of marine ice (sea-ice and icebergs) into the ocean model dynamics and thermodynamics.

mom_meke

Implements the Mesoscale Eddy Kinetic Energy framework with topographic beta effect included in computing beta in Rhines scale.

mom_meke_types

<undocumented>

mom_mixed_layer_restrat

Parameterization of mixed layer restratification by unresolved mixed-layer eddies.

mom_netcdf

MOM6 interface to netCDF operations.

mom_neutral_diffusion

A column-wise toolbox for implementing neutral diffusion.

mom_obsolete_diagnostics

Provides a mechanism for recording diagnostic variables that are no longer valid, along with their replacement name if appropriate.

mom_obsolete_params

Methods for testing for, and list of, obsolete run-time parameters.

mom_ocmip2_cfc

Simulates CFCs using the OCMIP2 protocols.

MOM_oda_driver_mod

<undocumented>

mom_oda_driver_mod

Interfaces for MOM6 ensembles and data assimilation.

mom_oda_incupd

This module contains the routines used to apply incremental updates from data assimilation.

mom_offline_aux

Contains routines related to offline transport of tracers.

mom_offline_main

The routines here implement the offline tracer algorithm used in MOM6.

mom_opacity

Routines used to calculate the opacity of the ocean.

mom_open_boundary

Controls where open boundary conditions are applied.

mom_pointaccel

Debug accelerations at a given point.

mom_porous_barriers

Module for calculating curve fit for porous topography.

mom_pressureforce

A thin wrapper for Boussinesq/non-Boussinesq forms of the pressure force calculation.

mom_pressureforce_fv

Finite volume pressure gradient (integrated by quadrature or analytically)

mom_pressureforce_mont

Provides the Montgomery potential form of pressure gradient.

mom_random

Provides gridded random number capability.

mom_regridding

Generates vertical grids as part of the ALE algorithm.

mom_regularize_layers

Provides regularization of layers in isopycnal mode.

mom_remapping

Provides column-wise vertical remapping functions.

mom_restart

The MOM6 facility for reading and writing restart files, and querying what has been read.

mom_safe_alloc

Convenience functions for safely allocating memory without accidentally reallocating pointer and causing memory leaks.

mom_set_diffusivity

Calculate vertical diffusivity from all mixing processes.

mom_set_visc

Calculates various values related to the bottom boundary layer, such as the viscosity and thickness of the BBL (set_viscous_BBL).

mom_shared_initialization

Code that initializes fixed aspects of the model grid, such as horizontal grid metrics, topography and Coriolis, and can be shared between components.

mom_spatial_means

Functions and routines to take area, volume, mass-weighted, layerwise, zonal or meridional means.

mom_spherical_harmonics

Laplace’s spherical harmonic transforms (SHT)

mom_sponge

Implements sponge regions in isopycnal mode.

mom_state_initialization

Initialization functions for state variables, u, v, h, T and S.

mom_stoch_eos

Provides the ocean stochastic equation of state.

mom_stochastics

Top-level module for the MOM6 ocean model in coupled mode.

mom_string_functions

Handy functions for manipulating strings.

mom_sum_output

Reports integrated quantities for monitoring the model state.

MOM_temperature_conv

<undocumented>

mom_temperature_convert

Functions to convert between conservative and potential temperature.

mom_tfreeze

Freezing point expressions.

mom_thickness_diffuse

Isopycnal height diffusion (or Gent McWilliams diffusion)

mom_tidal_forcing

Tidal contributions to geopotential.

mom_tidal_mixing

Interface to vertical tidal mixing schemes including CVMix tidal mixing.

mom_tracer_advect

This module contains the subroutines that advect tracers along coordinate surfaces.

mom_tracer_diabatic

This module contains routines that implement physical fluxes of tracers (e.g.

MOM_tracer_flow_control

By Will Cooke, April 2003 Edited by Elizabeth Yankovsky, May 2019.

mom_tracer_flow_control

Orchestrates the registration and calling of tracer packages.

mom_tracer_hor_diff

Main routine for lateral (along surface or neutral) diffusion of tracers.

mom_tracer_initialization_from_z

Initializes hydrography from z-coordinate climatology files.

mom_tracer_registry

This module contains subroutines that handle registration of tracers and related subroutines.

mom_tracer_types

This module contains the tracer_type() and and tracer_registry_type().

mom_tracer_z_init

Used to initialize tracers from a depth- (or z*-) space file.

mom_transcribe_grid

Module with routines for copying information from a shared dynamic horizontal grid to an ocean-specific horizontal grid and the reverse.

mom_unique_scales

This module provides tools that can be used to check the uniqueness of the dimensional scaling factors used by the MOM6 ocean model or other models.

mom_unit_scaling

Provides a transparent unit rescaling type to facilitate dimensional consistency testing.

mom_unit_testing

<undocumented>

mom_unit_tests

Invokes unit tests in all modules that have them.

mom_variables

Provides transparent structures with groups of MOM6 variables and supporting routines.

mom_vert_friction

Implements vertical viscosity (vertvisc)

mom_verticalgrid

Provides a transparent vertical ocean grid type and supporting routines.

mom_wave_interface

Interface for surface waves.

mom_wave_speed

Routines for calculating baroclinic wave speeds.

mom_write_cputime

A module to monitor the overall CPU time used by MOM6 and project when to stop the model.

mom_zanna_bolton

<undocumented>

neverworld_initialization

Initialization for the “Neverworld” configuration.

nw2_tracers

Ideal tracers designed to help diagnose a tracer diffusivity tensor in NeverWorld2.

oil_tracer

A tracer package to mimic dissolved oil.

p1m_functions

Linear interpolation functions.

p3m_functions

Cubic interpolation functions.

PCM_functions

Date of creation: 2008.06.06 L.

pcm_functions

Piecewise constant reconstruction functions.

phillips_initialization

Initialization for the “Phillips” channel configuration.

plm_functions

Piecewise linear reconstruction functions.

polynomial_functions

Polynomial functions.

posix

Interface to the libc POSIX API.

ppm_functions

Provides functions used with the Piecewise-Parabolic-Method in the vertical ALE algorithm.

pqm_functions

Piecewise quartic reconstruction functions.

pseudo_salt_tracer

A tracer package that mimics salinity.

regional_dyes

A tracer package for using dyes to diagnose regional flows.

regrid_consts

Contains constants for interpreting input parameters that control regridding.

regrid_edge_values

Edge value estimation for high-order reconstruction.

regrid_interp

Vertical interpolation for regridding.

regrid_solvers

Solvers of linear systems.

remapping_attic

Retains older versions of column-wise vertical remapping functions that are no longer used in MOM6, but may be useful later for documenting the development of the schemes that are used in MOM6.

rgc_initialization

Configures the models sponges for the Rotating Gravity Current (RGC) experiment.

rgc_tracer

This module contains the routines used to set up a dynamically passive tracer.

rossby_front_2d_initialization

Initial conditions for the 2D Rossby front test.

scm_cvmix_tests

Initial conditions and forcing for the single column model (SCM) CVMix test set.

seamount_initialization

Configures the model for the idealized seamount test case.

shelfwave_initialization

Configures the model for the idealized shelfwave test case.

sloshing_initialization

Initialization for the “sloshing” internal waves configuration.

soliton_initialization

Initial conditions for the Equatorial Rossby soliton test (Boyd).

supercritical_initialization

The “super critical” configuration.

tidal_bay_initialization

Configures the model for the “tidal_bay” experiment.

tidal_forcing

Code by Robert Hallberg, August 2005, based on C-code by Harper Simmons, February, 2003, in turn based on code by Brian Arbic.

user_change_diffusivity

Increments the diapycnal diffusivity in a specified band of latitudes and densities.

user_initialization

A template of a user to code up customized initial conditions.

user_revise_forcing

Provides a template for users to code updating the forcing fluxes.

user_shelf_init

This module specifies the initial values and evolving properties of the MOM6 ice shelf, using user-provided code.

user_tracer_example

A sample tracer package that has striped initial conditions.