Conventions and units
ANUGA uses SI units throughout and a small number of conventions that are worth knowing before you build a model.
Coordinate system
The mesh lives in a 2D Cartesian plane: x points east, y points
north, both in metres. Models are usually built in a projected
coordinate system (e.g. a UTM zone) so that distances are metric and locally
undistorted — not in latitude/longitude.
To tie the mesh to a real-world CRS, attach a Geo_reference (UTM zone
or EPSG code, plus a local origin xllcorner/yllcorner). ANUGA works
internally in coordinates relative to that origin to keep the numbers small
and preserve floating-point precision; the origin is added back when results are
written or when you request absolute coordinates. See
Coordinate Reference Systems for details.
Quantities and their units
Every model tracks these quantities on the mesh:
Quantity |
Units |
Meaning |
|---|---|---|
|
m |
Bed elevation / bathymetry, measured from the vertical datum. |
|
m |
Absolute water-surface elevation, from the same datum as elevation. |
|
m²/s |
Depth-integrated momentum in the x-direction ( |
|
m²/s |
Depth-integrated momentum in the y-direction ( |
|
– |
Manning roughness coefficient n (dimensionless). |
Depth is derived, not stored: depth = stage - elevation. A cell is dry
where stage equals elevation. Because stage is measured from the
datum, it is not the water depth — a common source of confusion when setting
initial conditions.
Velocity is recovered from momentum as velocity = momentum / depth; in very
shallow water this is regularised by velocity_protection (see below) to avoid
dividing by a vanishing depth.
Wetting and drying
ANUGA models moving wet/dry fronts. A cell is treated as dry once its depth
falls below minimum_allowed_height (default 1.0e-5 m); such cells carry
no momentum. Only depths above minimum_storable_height (default 1.0e-3
m) are written to the SWW output, so shallow films do not clutter results.
Physical defaults and constants
Defined in anuga.config and used unless you override them:
Constant |
Default |
Meaning |
|---|---|---|
|
9.8 m/s² |
Gravitational acceleration. |
|
0.03 |
Default Manning friction if |
|
1.0e-5 m |
Depth below which a cell is considered dry. |
|
1.0e-6 |
Regularises velocity = momentum / depth in shallow water. |
Time
Simulation time is in seconds, measured from the Unix epoch —
00:00:00 UTC on 1 January 1970 — so the default start of t = 0
corresponds to that instant. Set a real-world start with
set_starttime(), which accepts either a number of seconds or a
Python datetime object; use the standard library datetime and
zoneinfo modules to build a timezone-aware start time (and
set_timezone() to control how times are reported).
finaltime / duration in evolve() are likewise in seconds.
The internal timestep is chosen automatically to satisfy the CFL stability
condition and is generally much smaller than the yieldstep — see
Setting up the Evolve loop.