This section highlights the main differences between MOM 2 and MOM 3. Section 2.5 provides a discussion of the differences between MOM 1 and MOM 2. In general, model variables and indices are the same as in MOM 2 except that two dimensional arrays have been removed from common blocks and placed into modules. The three dimensional arrays associated with the baroclinic and tracer portions of the model remain as common blocks. The intent is to eventually have all arrays placed within modules but this has not yet been implemented because doing so currently results in a significant speed penalty (about 30%) on the CRAY T90. At present common blocks can be replaced by modules under control of an ifdef for testing purposes. When the Fortran 90 environment matures, the intent is to remove common blocks and install modules. For upgrading local modifications from MOM 2 to MOM 3, refer to Section 3.12.