MOHID water modelling system

MOHID is short for Modelo Hidrodinâmico which is hydrodynamic model in Portuguese. The MOHID water-modelling system is a modular (see Modular programming) finite volumes (Finite-volume method) water-modelling system written in ANSI-Fortran95 using an Object-oriented programming philosophy, integrating diverse mathematical models and supporting graphical user interfaces that manage all the pre- and post-processing. It is an integrated modelling tool able to simulate physical and biogeochemical processes in the water column as well as in the sediments, and is also able to simulate the coupling between these two domains and the latter with the atmosphere.

The development of MOHID started back in 1985. Since that time a continuous development effort of new features has been maintained. Model updates and improvements were made available in a regular basis were used in the framework of many research and engineering projects.

Overview

Initially, MOHID was a two-dimensional tidal model written in Fortran 77 (Neves, 1985). This version also gave the present name to model, which derives from the Portuguese abbreviation of MOdelo HIDrodinâmico (hydrodynamic model) and was used to study estuaries and coastal areas using a classic finite-differences approach.

In the subsequent years, two-dimensional eulerian and Lagrangian transport modules were included in this model, as well as a Boussinesq model (Boussinesq approximation) for non-hydrostatic gravity waves (Silva, 1991). The first three-dimensional version of the model was introduced with the version MOHID 3D which used a vertical double Sigma coordinate (Santos, 1995). The limitations of the double Sigma coordinate revealed the necessity to develop a new version which could use a generic vertical coordinate, allowing the user to choose from several coordinate system, depending on the main processes in the study area. This necessity led to the introduction of the concept of the Finite volume method which was introduced in the version MESH 3D (Martins, 1999). In MESH 3D model, a 3D eulerian transport model, a 3D lagrangian transport model (Leitão, 1996) and a zero-dimensional water-quality model (Miranda, 1999) were included. This version revealed that the use of an integrated model based on a generic vertical coordinate is a very powerful tool.

However it was clear that the model was difficult to maintain and to extend due to the Fortran 77 language limitations and due to the increasing number of users and programmers and the interdisciplinary character of the modelled processes. Thus, it was necessary to establish a methodology which permitted to reuse the code more often and improve its robustness related to programming errors (Leitão, 2003). It was decided to reorganize the model, writing it in ANSI Fortran 95, profiting from all its new features, including the ability to produce object-oriented programming with it, although it is not an object-oriented programming language. This migration began in 1998, implementing object oriented features like those described in Decyk (Decyk, et al., 1997) with significant changes in code organization (Miranda, et al., 2000). This migration resulted in An object-oriented model for surface water bodies which integrates scales and processes (Leitão, 2003).

Actual state

Mohid Water Modelling System is organized in a hierarchical modular structure being, at the present time, constituted by over 60 modules which complete around 300,000 source code lines. Each module is responsible to manage a certain kind of information handling a specific function or process. The information flux between modules is made in a client/server basis, assuring the information encapsulation in each module. Each module manages his associated memory, which is dynamically allocated.

In order to convert, programmatically, environmental systems into a mathematical model, an analysis of processes included in the model and the environmental compartments in which they take place, had to be conducted. Environmental systems are assumed to be divided into three compartments or media: air, water and land. This was the approach followed to reach the actual structure of Mohid, leading to six functional groups of modules:

Global parameters modules – modules which handle global parameters like recognized property lists, time handling and functions, etc. (e.g. module globaldata, module time); Independent functions modules – modules that handle specific operations (e.g. module functions – various mathematical or scientific functions, module triangulation – performs advanced triangulation, Module LUD – equations systems solver); Structural modules – modules that handle geometry domain discretization, transformation and referentials, using variables like distances, areas, volumes, compute points, etc. (e.g. Module HorizontalGrid – handles the horizontal discretization, module horizontalmap – handles 2D horizontal mapping of grid cells like covered and uncovered cells, module map – handles 3D mapping of grid cells, Module Geometry – handles the vertical discretization and volumes); Data handling modules – modules that perform I/O operations (e.g. Module EnterData – reads and writes ASCII data files, Module HDF5 – reads and writes matricial data into HDF5 format (Hierarchical Data Format), Module TimeSerie – reads and writes formatted time series ASCII files);

All programs included in MOHID Water Modelling System are built on the top of one or more base libraries and the two core executables files can be found at the top of the pyramid:

Smaller utility programs are easily built on the top of the libraries, which are usually designed for pre or post-processing results of the models. This support tools are normally managed by graphical user interfaces which allow management of input data, control of program execution, and output results analysis, along with other pre- and post-processing operations.

The integration of MOHID’s different tools can be easily achieved since these tools are based on the same framework. This coupling can thus be used to study the water cycle and its associated processes in an integrated approach.

References

External links

This article is issued from Wikipedia - version of the Monday, February 29, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.