IM
IM is an important parameter in the fort.15 file that
defines numerical model formulation and dimension. Among other things, IM
specifies whether ADCIRC is solved in two-dimensional depth-integrated (2DDI) or
in three-dimensions (3D), solution of the governing equations is semi-implicit
or explicit in time, and whether the model formulation is barotropic or
baroclinic. Popular values for 2D barotropic ADCIRC include IM=0
and
IM=111112
; users should be aware that the
A00, B00, and C00 coefficients must be
specified differently in these two cases.
Default IM Values
Default simulation option combinations can be specified through single or double
digit values, some of which are shortcuts to the six-digit codes described in
the next heading. The available IM
values are specified in the table below
and in the following section on 6-digit values:
IM Value |
Six-digit Equivalent |
Description |
---|---|---|
0 |
111111 |
Barotropic 2DDI |
1 |
611111 |
Barotropic 3D velocity-based momentum |
2 |
Barotropic 3D stress-based momentum |
|
10 |
Barotropic 2DDI with passive scalar transport |
|
11 |
Barotropic 3D velocity-based momentum with passive scalar transport |
|
20 |
Baroclinic 2DDI |
|
21 |
Baroclinic 3D velocity-based momentum |
|
30 |
Baroclinic 2DDI with passive scalar transport |
|
31 |
Baroclinic 3D velocity-based momentum with passive scalar transport |
Note that all default IM
values employ the semi-implicit consistent GWCE
mass matrix solver. It has less numerical error and tends to be more stable than
the explicit mass-lumping approach at the expense of computational time and
memory.
Six-digit IM Codes
For fine-grained control of various options six-digit codes for IM
can be
specified. Each digit represents a specific option regarding the dimension and
the formulation of certain terms or integration methods in the GWCE or momentum
equations. The available options for each digit are specified below, with the
first digit being the left-most. The internal flags that are set are listed to
help users dig through the code.
Value |
Digit 1: 2DDI/3D, Lateral Stress in GWCE [1] |
Digit 2: Advection in GWCE [2] |
Digit 3: Lateral Stress in Momentum [1] |
Digit 4: Advection in Momentum [2] |
Digit 5: Area Integration in Momentum |
Digit 6: GWCE Mass Matrix, Barotropic/Baroclinic |
---|---|---|---|---|---|---|
1 (default) |
2DDI, Kolar-Gray flux-based |
Non conservative |
Integration by parts, velocity-based |
Non conservative |
Corrected |
Consistent (implicit for linear part of gravity wave term), barotropic |
2 |
2DDI, 2-part flux-based |
Conservative form 1 |
Integration by parts, flux-based |
Conservative form 1 |
Original |
Lumped (explicit), barotropic |
3 |
2DDI, 2-part velocity-based |
Conservative form 2 |
Integration by parts, velocity-based symmetrical |
Conservative form 2 |
Consistent (implicit for full gravity wave term), barotropic |
|
4 |
2DDI, 2-part flux-based symmetrical |
Integration by parts, flux-based symmetrical |
||||
5 |
2DDI, 2-part velocity-based symmetrical |
2 Part, velocity-based (not implemented) |
||||
6 |
3D, Kolar-Gray flux-based |
2 Part, flux-based (not implemented) |
A common code combination is IM=111112
, which is identical to the default
111111
(same as IM=0
), but simulates in explicit mass-lumping mode. Note
that A00, B00, and C00 must be set to
0.0 1.0 0.0
when in this mode. Lumped explicit mode is a useful alternative
to the (default) semi-implicit consistent GWCE mass matrix mode, because the
latter requires a matrix solve that increases computational time and memory. By
comparison, the explicit mass-lumping mode is about twice as fast and scales to
fewer grid nodes per computational core. [3] Moreover, for model setups that
are sufficiently resolved in space and time, differences in the solution between
approaches should be small. Though, many users have reported somewhat lower
stability in lumped explicit mode.
The most recent version (55+) also has an option that improves the (default) semi-implicit consistent GWCE mass matrix mode to compute the complete (total depth) gravity wave term (free surface gradient) implicitly; toggled by setting IMDigit-6 to 3. The default version (IMDigit-6=1), only computes the initial still water depth component of the free surface gradient implicitly, which might make it more susceptible to CFL violations in shallow depths and can encounter Matrix diagonality issues overland where the initial still water depth is negative.