Many people have been giving important impulses to the development of GOTM. The first lines of the first PASCAL code had been programmed in late 1992 by Hans Burchard as part of a Ph.D. project at the Institute of Oceanography at the University of Hamburg, Germany, under the supervision of Jürgen Sündermann and Helmut Baumert. This was the basis for a one-dimensional water column model for simulating the so-called FLEX’76 data in the Northern North Sea. Substantial advice for these modelling activities (such as the introduction to the Patankar trick) came also from Eckard Kleine (Bundesamt für Seeschiffahrt und Hydrographie, Hamburg, Germany) who together with Helmut Baumert had a long time experience in turbulence modelling.
A strong motivation for extending the model code (which at that stage only included the k-epsilon model) came in 1995 from George Mellor who provoked with the statement that he never saw a k-epsilon model (as contrasted to his Mellor-Yamada model) reproducing the Monin-Obukhov similarity theory. In an effort together with Ole Petersen (International Centre of Computational Hydrodynamics, Hørsholm, Denmark) the equivalence of the k-epsilon and the Mellor-Yamada models under certain circumstances and thus the successful reproduction of the Monin-Obukhov similarity theory could be demonstrated. Numerical stability problems occurred when the water column model (now already with a switch for choosing either the k-epsilon or the Mellor-Yamada model) was transferred to FORTRAN in late 1996. It was Boris Kagan who insisted that oscillations in the turbulent macro length scale under very small stable stratification are numerical artifacts and therefore unacceptable. The solution to that problem was finally to use double instead of single precision for the calculations. In a cooperation with Nadia Pinardi and Sergio Castellari during 1997 and 1998, the turbulence model code was incorporated into a version of MOM for calculating the general circulation and convective events in the Mediterranean Sea. During the same years, the one-dimensional water column model was challenged by in-situ turbulence observations by Walter Eifler and Adolf Stips. During this effort both, the strategies for modelling and measurements, were significantly improved.
The idea (and the name) of GOTM as a community model was born in spring 1998, when Karsten Bolding joined the development. It was a major effort to collect the many different codes (each set up for only one test case), written in different programming languages, stored on different computers and merge them together into one product. In summer 1998, Manuel Ruiz Villarreal joined the GOTM developers for a few years. Later, Pierre-Philippe Mathieu carried out some changes which simplified the use of GOTM, such that he became GOTM author no. 4 for a few years (see photograph).
October 18-22, 1999 in Ispra, Italy for the CARTUM autumn school This shows the still small GOTM developers group with Karsten Bolding, Manuel Ruiz Villarreal, Hans Burchard and Pierre-Philippe Mathieu.
At this stage, the first version of GOTM was copied to the anonymous-ftp server of the Institute of Oceanography in Hamburg, Germany and started as a community model on May 1, 1999 as gotm1.0.
Shortly after all four early GOTM developers left the inspiring environment of the Lago Maggiore, Lars Umlauf met Hans Burchard and Karsten Bolding in Irkutsk at Lake Baikal, where Lars surprised them with a presentation showing that the k-epsilon model is flawed under breaking surface waves and that the k-omega model should be preferably used. The following intensive wodka-fuelled discussions led to the inspiration to first build the k-omega model explicitly into GOTM and then to construct a generic length scale equation where two parameters allowed to smoothly shift between different options such as k-epsilon or k-omega. It actually took some time to get this generic model published (in the end is was accepted in the Journal of Marine Research), because for many physical oceanographers it was too pragmatic, but finally is got a great push by being implemented into ROMS as turbulence closure module. Another important addition by Lars Umlauf was the coding of the KPP parametric turbulence model into GOTM, just for comparison to the physically more consistent second-moment closures.
In the meanwhile, GOTM had been coupled to biogeochemical models in a generic way (then called gotm-bio), including new numerical schemes for the dynamics of the sink and source terms to guarantee non-negativity of concentrations. In that stage, Jorn Bruggeman as a first-year PhD student in Biology joined the GOTM development after identifying weaknesses of these schemes and proposing improved numerics (such that now conservation could be achieved on the element level). Once engaged in GOTM, Jorn coded a graphical user interface (GUI) for GOTM, such that also non-UNIX people could use GOTM. Along with the GUI, a powerful graphical tool for displaying GOTM results had been written by Jorn. A lot of useful GOTM infrastructure has been added by Jorn such as the automatic generation of namelists.
Together with Karsten Bolding, Jorn developed then the Framework of Aquatic Biogeochemical Models (FABM) which was far more generic than the gotm-bio coupling in linking biogeochemical modules to GOTM and many other hydrodynamic drivers.
In recent years, GOTM has been extended towards a one-dimensional model for lakes, by including the hypsometry of lakes. Here, besides Karsten Bolding and Jorn Bruggeman, also the new GOTM developer Knut Klingbeil has been very active in testing the code and making it more consistent.