The Centre For Water Research

ELCOM
 

1. Introduction

1.1 The ELCOM model

ELCOM (Estuary, Lake and Coastal Ocean Model) is a numerical modeling tool that applies hydrodynamic and thermodynamic models to simulate the temporal behavior of stratified water bodies with environmental forcing. The hydrodynamic simulation method solves the unsteady, viscous Navier-Stokes equations for incompressible flow using the hydrostatic assumption for pressure. Modeled and simulated processes include baroclinic and barotropic responses, rotational effects, tidal forcing, wind stresses, surface thermal forcing, inflows, outflows, and transport of salt, heat and passive scalars. Through coupling with the CAEDYM (Computational Aquatic Ecosystem DYnamics Model) water quality module, ELCOM can be used to simulate three-dimensional transport and interactions of flow physics, biology and chemistry. The hydrodynamic algorithms in ELCOM are based on the Euler-Lagrange method for advection of momentum with a conjugate-gradient solution for the free-surface height (Casulli and Cheng, 1992). Passive and active scalars (i.e. tracers, salinity and temperature) are advected using a conservative ULTIMATE QUICKEST discretization (Leonard 1991).

1.2 Implementation language

ELCOM is implemented in Fortran 90 (with F95 extensions) so that three-dimensional space can be mapped into a single vector for fast operation using array-processing techniques. Only the computational cells that contain water are represented in the single vector so that memory usage is minimized. This allows Fortran 90 compiler parallelization and vectorization without platform-specific modification of the code. A future extension of ELCOM will include dynamic pressure effects to account for nonlinear dynamics of internal waves that may be lost due to the hydrostatic approximation.

1.3 Outline of a simulation run

Setting up and running an ELCOM simulation requires the following steps:

  1. prepare bathymetry.dat file that provides topography and grid information (see section 2.2),
  2. prepare bc.dat file that designates sets of cells for applying boundary conditions (see section 2.3),
  3. prepare levee.dat file that designates sets of cells for levee boundary conditions (see section 2.4),
  4. prepare update.dat file that designates sets of cells for update boundary conditions (see section 2.5),
  5. run the pre-processor to produce sparsedata.unf and usedata.unf files section 2.6,
  6. configure the simulation run_elcom file (see section 3.6)
  7. specify output in a datablock file (*.db) for designating data output operations (see section 3.7.6),
  8. prepare temporal boundary condition files (*.dat) for data applied to the boundary condition cells (see section 3.7),
  9. prepare initial conditions files(see section 3.4)
  10. run the executable, directing the screen output to a file(see section 3.8)
  11. post-process data (see section 3.9)

ELCOM uses and creates a large number of files. The following directory structure is suggested to help streamline ELCOM's use. This directory tree can be downloaded structure can downloaded HERE

/ELCOM/BIN/

contains elcom.exe, pre_elcom.exe, dbconv.exe and elcom_gui??.jar executables, and must be in the search path

/ELCOM/pre/

contains run_pre.dat

/ELCOM/pre/bathymetry/

contains bathymetry.dat, bc.dat, update.dat and levee.dat files for various user simulations

/ELCOM/runs/RUN_A/

contains run_elcom.dat file for a simulation, as well as ELCOM status output files

/ELCOM/runs/RUN_A/infiles/

contains user input files for a simulation (ie. sparsedata.unf, usedata.unf, temporal boundary condition files, initial condition files, and datablock.db)

/ELCOM/runs/RUN_A/unffiles/

contains ELCOM *.unf output files to be converted to *.nc files using dbconv

/ELCOM/runs/RUN_A/txtfile/

contains output text files from ELCOM


1.4 Conventions and definitions

In this document, a number of conventions will be used. For clarity, the computational domain will generally be referred to as a "lake". However, the simulation method is designed for applicability to estuaries and coastal ocean environments

x,y,z space
Full Cartesian space which covers all of the bathymetry.
i,j,k space
Discrete integer space of computational cells which covers all of the bathymetry.
land
A computational cell that cannot contain water.
open
A cell used for an open boundary condition.
interior
A cell that may contain water.
x_rows
Number of grid cells in the x direction.
y_columns
Number of grid cells in the y direction.
z_layers
Number of grid cells in the (vertical) z direction.
land_value
Number used in the bathymetry file to represent the land cells.
open_value
Number used in the bathymetry file to represent the open boundary cells.
dx, dy, dz
Grid spacing (delta) in the x,y,z direction, may be uniform or non-uniform (in metres).

Continue on to Pre-processor

ELCOM User-Guide

Welcome!

1. Introduction

1.1 The ELCOM model
1.2 Implementation language
1.3 Outline of a simulation run
1.4 Conventions and definitions

2. Pre-processor

2.1 Introduction
2.2 bathymetry.dat
2.3 bc.dat
2.4 levee.dat
2.5 update.dat
2.6 Running

3. ELCOM

3.1 Introduction
3.2 Files for ELCOM
3.3 Simulation modules
3.4 Initialisation
3.5 Configuration controls
3.6 Configuration
3.7 Input Files
3.8 Running ELCOM
3.9 Post-Processing
3.10 Valid Scalars

Back to ELCOM