Access to the full COHERENS manual

The manual describes the code in a complete and organized manner and has two parts: a reference manual (634 p.) and a user manual (920 p.). Though Chapter 1 of the official manual provides info on its structure and a recommendation of which parts are important for a starting user, it remains a huge chunk of information. The COHERENS manual is quite unique in its completeness and structured set up among the reference books of hydrodynamic manuals. Because the manual is a vademecum, its first concern was providing all the information needed to understand the code. The manual explains the code structure, provides the theoretical background of the features included and contains all the switches and code options.

The Central Input File in COHERENS is a functionality used to setup models. The purpose of this functionality is to provide an alternative to users who are not familiar with the Fortran 90 programming language. Hence, the CIF consist mainly of a text file (i.e. ASCII format) that can be edited by any text editor whenever is necessary. The CIF file can be created on request of the user, being based on the setup data defined in the Usrdef files.

Guidelines for COHERENS developers

The full and detailled guidelines are available here.

Basic rules

The basic rules for programming can be summarised by a few key words

  1. Portability
    • FORTRAN 90 ANSI standard to make the code compiler-independent.
    • Ensure maximum independency of computing platform.
      • COHERENS is intended for implementation on UNIX/LINUX systems (WINDOWS, although not excluded a priori , is not supported)
      • Use bash mode for shell scripts.
      • Generic Makefile independent on type of compiler and computing platform.
      • System dependent parameters, such as path names for the location of libraries should be provided from a user-defined configuration file.
  2. Error-free
  3. Optimisation
    • Optimise (minimise) computing time
    • Optimise (minimise) internal memory use (provided this is not in conflict with CPU optimisation)
  4. Efficiency
    • Use generic formats (i.e. for parallel communications, I/O, array interpolation, routines used by different model compartments,...).
    • When a new development is added to the code, make a clear distinction to what is new and should be implemented by creating new routines and files, and what can be integrated within the already existing routines and files.
    • Further recommendations are listed here.
  5. Transparancy
    • The code should be written in a transparant user-friendly readable format so that it is understandable by other developers even if this implies a (slightly) less optimum code.
    • Use standard "COHERENS" coding guide lines.
    • Compliance with the User Documentation.
    • Standard (consistent) formats for internal documentation.


The documentation is organised in sections and chapters. Expand individual sections, then expand chapters by clicking on the arrows.

CIF manual

The CIF manual will be made available in the near future.

The CIF file is composed of two main components, the parameters defined in the CIF file and the callings to external files where forcing data is defined. These forcing data is still provided in a standard COHERENS format. These formats can be read by the program without the need to change the model setup code (and recompile the program) in the Usrdef files.

This file is composed of different data blocks, which are identified by a keyword to facilitate the input of data:

Keyword Description
INIT Monitoring parameters
PHYSICS General model setup parameters
SEDIMENTS Parameters for sediment transport
TIMESERIES Parameters for the setup of time series output
TIMEAVERAGE Parameters for the setup of time averages output
FREQS Parameters for the setup of harmonic analysis
HARMONIC Parameters for the setup of harmonic analysis