MOM was originally designed within Fortran 77 which did not support the concept of a module. Nevertheless, there was an attempt to emulate the module concept as implemented in languages other than Fortran (i.e. Turbo Pascal). For purposes of MOM, modules and modularity were used as key organizational tools to minimize inter-connectivity between various model components so that the model's structure remained relatively clear even when subjected to a large number of additions.
Since the adoption of Fortran 90 as a minimum requirement for MOM, the intent was to take advantage of the Fortran 90 modules where possible. Although most of the coding is still in the fortran 77 style, some of the latter additions are in the style of Fortran 90. Time does not permit re-writing MOM 3 to make better use of Fortran 90. A good example of a Fortran 90 module is the time manager which is described below.