Skip to content

The Modular Ocean Model (MOM)

The Modular Ocean Model (MOM) is a numerical representation of the ocean fluid with applications from the process scale to the planetary circulation scale. Its lineage dates back to the 1960s with efforts from Kirk Bryan and Michael Cox. This page focuses on the most recent version, MOM6, which offers a powerful framework for simulating the ocean.

MOM6

MOM6 is a major algorithmic departure from the previous versions of MOM (up to and including MOM5). Here are some of the highlights of MOM6.

  • MOM6 is based on the horizontal C-grid stencil, which is preferred for simulations that include an active mesoscale eddy field (MOM5 and earlier used the B-grid).
  • MOM6 uses vertical Lagrangian remapping (a variant of the Arbitrary Lagrangian Eulerian (ALE) algorithm) to enable the use of any vertical coordinate, including geopotential (z or z*), isopycnal, terrain-following, or hybrid/user-defined.
  • MOM6’s implementation of vertical ALE removes the vertical advection CFL restriction on the time-step so that the model is unconditionally stable to thin (or even vanishing) layers. The ability to handle vanishing layers allows for the conservative representation of wetting and drying, which is a process essential for representing the evolution of ice shelf grounding lines as well as coastal/tidal estuaries.
  • Physical closures in MOM6 include scale-aware parameterizations for mesoscale eddy-permitting regimes; boundary layer schemes that incorporate Langmuir mixing; a suite of parameterized mixing from breaking gravity waves; and a new method for performing neutral diffusion that precludes the spurious creation of extrema.

MOM6 community

The MOM6 code and an extensive suite of test cases are available under an open-development software framework.  Consequently, anyone can obtain the code and collaborate on up-to-date development branches. Presently, there are active development projects with MOM6 centered at NOAA/GFDL, NCEP, NCAR, Rutgers, FSU, and ANU, along with a variety of allied developers abroad. Since MOM6 is actively evolving, the code is not released with versions. We welcome input from any interested person to help evolve the code, test cases, and documentation. A discussion of the development philosophy is available on the MOM6 GitHub wiki and we encourage interested developers to take a look prior to embarking on new projects.

Documentation and Publications

MOM6 includes a thorough installation guide as part of its GitHub repository. Further documentation of the code, its algorithms, and its parameterizations occurs through publications that are focused on the variety of science elements going into the code and the suite of science applications emerging from its simulations. Here is a list of papers that the interested reader/user may find helpful for understanding the code and its scientific features.