# MOHID

Il sistema di modellazione delle acque MOHID (abbreviazione del portoghese Modelo Hidrodinâmico, cioè modello idrodinamico) è un sistema modulare di modellazione delle acque basato sul metodo dei volumi finiti e scritto in linguaggio ANSI-Fortran 95 usando una filosofia di programmazione orientata agli oggetti che integra diversi modelli matematici e che supporta un'interfaccia grafica che gestisce tutto il pre- e post-processing.
Si tratta di uno strumento di modellazione integrato in grado di simulare i processi fisici e biogeochimici che avvengono sia nella colonna d'acqua che nei sedimenti ed è pure in grado di simulare l'accoppiamento di questi due domini tra loro e con l'atmosfera.
Lo sviluppo del MOHID è iniziato nel 1985 e da allora è stato oggetto di sviluppo continuo. Gli aggiornamenti e miglioramenti resi disponibili a intervalli regolari sono stati impiegati in molti progetti ingegneristici e di ricerca.

## Aspetti generali

Inizialmente il MOHID era un modello delle maree bidimensionale scritto in Fortran 77 (Neves, 1985), usato per lo studio degli estuari e delle aree costali utilizzando un classico approccio alle differenze finite. Da questa versione è derivato anche il nome del modello, ricavato dall'abbreviazione del portoghese MOdelo HIDrodinâmico (modello idrodinamico).
Negli anni seguenti furono inclusi nel modello moduli di trasporto bidimensionale euleriani e lagrangiani, come pure un modello di Boussinesq (basato sull'approssimazione di Boussinesq) per onde gravitazionali non idrostatiche (Silva, 1991). La prima versione tridimensionale del modello fu introdotta con la versione MOHID 3D che usava un sistema di coordinate verticali a doppio Sigma (Santos, 1995). Le limitazioni derivanti dalle coordinate doppio Sigma, rivelarono la necessità di sviluppare una nuova versione che potesse usare un generico sistema di coordinate verticali in modo da permettere la scelta del sistema di riferimento in funzione dell'oggetto dello studio. Questa necessità portò all'introduzione del concetto di metodo dei volumi finiti che fu introdotto con la versione MESH 3D (Martins, 1999). Nel MESH 3D venne introdotto un modello euleriano tridimensionale, un modello di trasporto lagrangiano tridimensionale (Leitão, 1996) e un modello della qualità dell'acqua zero dimensionale (Miranda, 1999). Questa versione mostrò che l'impiego di un modello integrato basato su un sistema generico di coordinate verticali è uno strumento molto efficace.
Il modello però si dimostrò difficile da mantenere e sviluppare a causa delle limitazioni del linguaggio Fortran 77 specialmente in funzione dell'aumentato numero di utilizzatori e programmatori e del carattere interdisciplinare dei processi modellati. Fu così necessario stabilire una metodologia che permettesse di riutilizzare più frequentemente il codice e che migliorasse la robustezza riferita agli errori di programmazione (Leitão, 2003). Fu deciso di riorganizzare il modello scrivendolo in Fortran 95, per approfittare di tutte le sue nuove caratteristiche, inclusa la possibilità di inserirvi una programmazione orientata agli oggetti, anche se non si tratta di un linguaggio orientato alla programmazione degli oggetti. La migrazione ebbe inizio nel 1998, implementando caratteristiche orientate agli oggetti come quelle descritte da Decyk (Decyk, et al., 1997) con significativi cambiamenti nell'organizzazione del codice (Miranda, et al., 2000). La migrazione diede luogo a un modello orientato agli oggetti per corpi d'acqua di superficie che integra scale e processi (Leitão, 2003).