# About COHERENS

## Introduction

COHERENS is an open source ocean circulation model developed during the nineties by several european institutions and the Management Unit of the North Sea Mathematical Models and the Scheldt estuary (MUMM, now OD Nature). The name COHERENS is an acronym for COupled Hydrodynamical Ecological model for REgioNal Shelf seas. It is a three-dimensional multi-purpose numerical model, designed for application in coastal and shelf seas, estuaries, lakes, reservoirs, ... The model is available as a free source code for the scientific community following the GNU General Public License principles and can be considered as a tool for a better understanding of the physical and ecological processes and for the prediction and monitoring of waste material in shelf seas, the coastal zone and estuaries.

Its ease of implementation across a range of computing platforms means that it is attractive to groups who have a sufficient modelling expertise and have need for sophisticated model products. Important advantages of the model are its transparency due to its modular structure and its flexibility because of the possibility to select different processes, specific schemes and different types of forcing for a particular application. The program structure allows users to perform process academic as well as predictive and operational setups without knowledge of the detailed model structure.

## Development history

The first version of the program, now denoted as COHERENS V1, was developed over the period 1990-1998 in the framework of a series of European funded projects. Preparation for a full update of the program was carried out between 2003 -2009 (European Projects ODON and ECOOP). The major updates in V2 concern the introduction of a more flexible curvilinear mesh, computations on parallel machines, generalized vertical coordinate and nesting of finer sub-grids within coarser main grids.

From 2008 to 2015 further developments in version V2 were carried out in the framework of the project "*Uitbouw numeriek modelinstrument
voor de Noordzeehavens*" (Expansion of the numerical modeling tools for the North Sea Harbors), assigned by the Maritime Access division (aMT)
of the Department of Mobility and Public Works of the Flemish Government. These developments were carried out by a consortium of IMDC n.v. and Antea Group n.v.,
supported by the universities of Gent and Leuven and consisted of adaptations and additions to the existing code, in order to better represent the estuarine
and coastal conditions. Major developments in this phase consisted of the implementation of a multigrid solver, introduction of dedicated modules
for sediment transport and morphology, dredging operations, structures for engineering applications, wave-current interaction and additional boundary conditions.
The addition of a central input file has made the code more accessible. A validation document has been composed by Flanders Hydraulics Research.

## Licence

The COHERENS model is freely available and is released under the “European Union Public Licence” (EUPL).

The EUPL is the first European Free/Open Source Software (F/OSS) licence.

It has been created on the initiative of the European Commission.

When publishing the EUP, the European Commission has paved the way for legal interoperability. The EUPL is the first open source licence with a working value in all EU official languages. The EUPL is now used by European and national administrations, and by enterprises as well.

## Main features

- The code is written in
`FORTRAN90`

. - Simulations can optionally be run on parallel
computing facilities using the
`MPI`

(Message Passing Interface) communication library. This allows the simulations to run much faster by distributing the domain of interest over different processes which perform the whole computing chain. - The code is portable: a generic
`Makefile`

allows compilation on different platforms, including the following compilers:`gfortran`

,`Intel`

,`XL Fortran`

,`Digital Fortran`

,`PG Fortran`

. - The model can be setup and the input of forcing data can be made via user-friendly interfaces.
- Data at open boundaries can be supplied in different ways (Riemann characteristics, forcing files, …) with different spatial and temporal resolutions.
- Astronomical tidal forcing can be taken into account.
- Output can be provided in different formats,
including
`netCDF`

allowing an easy display of model results on different graphical platforms. - Several simulations can be set up and executed within one model run.
- Restart times can be defined where the program writes initial conditions for potential restarts of the program.
- Optional monitoring files can be produced by the program for tracing information, timer report, error checking.

## Model grid

- The model equations are discretized on an
`Arakawa C-grid`

using either`Cartesian`

or`spherical`

coordinates as selected by the user. - A
`rectangular`

or a`curvilinear`

grid can be selected in the horizontal directions. - In the vertical,
`σ-coordinates`

or`s-coordinates`

(generalized σ-coordinates) can be used. The grid size in σ-space can be either uniform, vertically non uniform and non uniform in both vertical and horizontal directions. - The model can either be set up on a
`3-D`

grid, in`2-D`

(depth-averaged) mode or in`1-D`

(water column) mode. - A one-way
`sub-grid nesting`

for 2-D and 3-D model quantities using an off-line procedure is implemented. The advantage is that multiple sub-grids can be simultaneously defined without any restrictions on grid sizes and sub-grid time steps.

## Numerical schemes

- A
`mode-splitting technique`

is applied to solve the 2-D and 3-D momentum and continuity equations. An implicit solver without mode splitting is under development. - Two different advection schemes are implemented: a
`first order upwind`

and a more accurate`TVD`

(Total Variation Diminishing) scheme. - A separate selection can be made for
`2-D transports`

,`3-D currents`

,`3-D scalars`

and`turbulence`

transport variables. - A
`drying/wetting scheme`

allows simulating tidal flats. Simulation of inundated land areas is also possible.

## Physics

- The program runs by default in barotropic mode, i.e. without density effects. Equations for temperature and salinity can optionally be solved.
- A variety of schemes for
`vertical diffusion`

are available: algebraic formulations, one- or two-equation schemes (Mellor-Yamada, k-ε), various types of RANS models. `Horizontal diffusion`

is computed using either a constant diffusion coefficient or a Smagorinsky formulation.- At the request of users, additional types of
`open boundary conditions`

have been implemented. - Different formulations for the
`wind stress`

and`surface heat fluxes`

are available. Additional schemes have been added. - A
`wave-current`

interaction module is under development.

## Structures model

COHERENS can schematize the local geometry of hydraulic structures and simulate the effect of such structures through specific functionalities. The structures model functionality is of four ‘model units’ that are able to schematize the effect of hydraulic structures on the flow behavior. The following model units are implemented:

**dry cells:**dry cells are defined as grid cells that are taken as permanently dry during the simulation, irrespective of the local water depth. No flow exchange nor transport of scalars are allowed between dry cells and the adjacent grid cells.**thin dams:**Thin dams are defined as infinitely thin vertical walls. They are located at velocity nodes and prohibit flow exchange and fluxes of scalars between the two adjacent computational grid cells without reducing the total wet surface and the volume of the model.**weirs/barriers:**The aim of this model unit is twofold, the first aim is the schematization of structures that can be submerged like ‘levees’ or ‘dikes’. These structures are denoted as ‘weirs’. The second aim is a particular case of weirs, they oriented to schematize structures that can be submerged and present an opening close to the bottom, denoted as orifices (e.g. current deflecting walls). These are denoted as ‘barriers’**discharges:**Discharges are represented as sources or sinks in the continuity, momentum or scalar equations. They can be defined at specified (fixed or moving) locations at the surface, bottom or within the water column (e.g. discharge structures, pumping stations, discharge from moving ships, etc.). This model unit can be used to specify discharges of water, salinity, temperature and suspended sediments.

An example of the use of dry cells is depicted below:

## Dredging

COHERENS contains a dredging and relocation module that enables the simulation of dredging and/or relocation campaigns in designated areas of the model grid. This dredging and relocation module is broadly applicable and has many options that can be set by the user. This way, it provides a valuable resource for practical applications as well as scientific investigations. Its functionalities consist of:

- Simulating short term and long term effects of dredging and relocation, as well as plume dispersal
- Different criteria for dredging, either user-defined or through an automatic target bed level that triggers a campaign once exceeded by the model bathymetry
- Different dredging schemes: equal spreading of sediment across the entire dredging site, dredging of the site along a predefined order of dredging subzones and dredging along a dredging track (used solely for plume modeling)
- Different relocation schemes: equal spreading of sediment across the entire relocation site, relocation in a circular pattern with the deepest point of the relocation site as origin and relocation in a random relocation subzone
- Three ways of temporal coupling between dredging and relocation: instantaneous, time lagged and the full dredging cycle
- Spatial coupling algorithms, that allow the user to link certain relocation sites to a dredging site and, thus, highly customize the dredging campaigns

## Morphology

A morphology module is implemented into COHERENS in order to simulate the morphological evolution of sediment beds due to erosion and deposition patterns caused by the model flow. The morphological effects that can be modeled can be grouped into five categories:

**Bed elevation change:** A continuity equation for the material in the bed, also known as the Exner equation, is used to calculate the rate of increase or decrease of the bed level elevation due to sediment deposition or erosion. With respect to the time integration, the important consideration of limiting computation time led to the implementation of the first order Euler, the second order Adams-Bashforth and the third order Adams-Bashforth schemes.

**Morphological acceleration:** Morphological processes are typically much slower than the changes that occur in the flow, which means that it is often necessary to simulate large periods of time. As simulating these long periods on the time scale of the fluid flow would be a very costly operation, different techniques have been implemented to accelerate the calculation of the bathymetry in a way that a smaller number of hydrodynamic calculations need to be performed. Two ways of this so-called morphological acceleration have been implemented: the morphological factor and tidal acceleration

**Fixed layers:** In general morphological simulations, the bed consists of an endless amount of sediment across the entire domain. A fixed layer, however, is a layer that cannot be eroded by the flow; it is immobile and remains as such for the duration of the simulation. The mobile sediment that lies on top of this fixed layer is finite and can be exhausted. When all sediment on top of a fixed layer has been transported and the bed has reached the level of the fixed layer, sediment transport halts.

**Vertical sorting:** In case of stratified beds - i.e. beds that are composed of different sediment layers - some applications require to keep track of bed properties such as the thickness and the sediment fraction distribution of each separate layer the bed is composed of. These properties can change due to erosion, deposition and other mechanisms through which sediment is exchanged between different bed layers. This exchange of sediment between layers is denoted vertical sorting.

**Avalanching:** From geomechanics, it is known that every granular material possesses a so-called static angle of repose, i.e. the steepest angle of descent or dip of the slope relative to the horizontal plane when material on the slope face is on the verge of sliding. When this slope exceeds the static angle of repose, it is likely to collapse and decrease to a lower value denoted the dynamic angleof repose. This collapsing process is called avalanching.

## Sediment transport

A numerical model of a realistic application will probably need to include sediment at some point, as most natural ports, waterways and even oceans have a bed that consists of mobile sediment. This sediment is either transported by the flow as suspended sediment or deposits on the bed where it accumulates until it is eroded back into transport by the flow. COHERENS contains the following sediment transport related functionalities.

- Simulation of bed load using classical as well as state of the art bed load equations for currents or combined waves and currents including effects of bed slopes
- Total load equations for sand including the effects of waves and currents
- Simulation of suspended load for sand and mud in 2D and 3D
- Effect of non-breaking waves on the bed shear stress
- Multiple sediment fractions
- Graded sediments
- Sediment turbulence interaction: Adjustment of turbulence damping for high concentrations of suspended sediments
- Baroclinic density gradients and buoyancy stratification effects due to suspended sediment
- Parameterizations for near bed boundary conditions and settling velocities, including hindered settling and flocculation.