SMS:CGWAVE Graphical Interface

From XMS Wiki
Jump to navigationJump to search

The CGWAVE Graphical Interface includes tools to assist with creating, editing, and debugging a CGWAVE model. The CGWAVE interface exists in the 2D Mesh Module.

Model Construction Steps

There is a very consistent method that can be used to apply the CGWAVE model. The steps to this process include:

  1. Load bathymetry – This data can come from LIDAR surveys, digital elevation maps (DEMs), previous grids or a variety of other sources. They must be referenced to the same datum the wave data will reference, and must have positive values represent depths. SMS includes functionality to convert datums, reverse directions and smoothor filter data.
  2. Limit bathymetry to positive values – CGWAVE does not handle wetting/drying or runup processes. All the nodes in the model must have a positive depth. This limiting process can be handled later in the mesh generation process, or the bathymetry itself can be modified (in a copied dataset) using the data calculator. For example, if wanting to limit the domain to areas of at least one meter of depth, use the following equation in the data calculator max(d1, 1.0) (where d1 is the label for the depth dataset).
  3. Compute the wavelength – This is also done in the dataset toolbox, using the Wave Length and Celerity tool. Enter the smallest wave period of interest (to generate the highest needed resolution).
  4. Create a size function – Typically this is simply a scaled version of the wavelength dataset. For example, a basic rule would be to have at least six elements per wavelength. Some experts recommend at least 10 elements per wavelength. The real issue is that there needs to be enough resolution to represent the wave shape.
    1. To create a "Size" function with "N" elements per wavelength, go to the data calculator and enter the equation d3/N (where d3 is the label for the wavelength dataset).
    2. An alternative that may be needed with large domains is to create a spatially varied scale for the wavelength function. For example to have 15 elements per wavelength in the shallow region or the model (i.e. depths less than 3 meters), but only have 7 elements per wavelength in the deep regions (i.e. depths greater than 200 meters). To create this size function, still use the data calculator and enter the equation d3/max(min(15+(d1-3)/(200-3)*(7-15),7)) (where d1 is the label for the depth function and d3 is the label for the wavelength dataset).
  5. Define the coastline or land edge of the domain – This can be done using a contour of the bathymetry or reading a coastline vector file. It should be stored in SMS as a coastline arc in a CGWAVE coverage in the Map module.
  6. Define the ocean boundary – This is also an arc in the CGWAVE coverage. It must be either a semi circle or circle and can be defined in SMS by selecting the coastline (or extreme locations on the coastline) and issuing the Feature Objects | Define domain... command in the map module.
  7. Build polygons in the map module and assign polygon attributes for the polygon to use the depth and size functions for bathymetry and size respectively in the mesh generation process.
  8. Remove excess arcs and points. All arcs will be converted to a nodestring and considered a boundary condition during the mesh generation process. Remove any arcs outside of the domain to prevent disjointed nodes and nodestring numbering problems.
  9. Generate the mesh.
  10. With this mesh constructed, the rest of the graphical interface, defined below can be used to control the numerical simulation.


CGWAVE makes use of the standard menus along with the CGWAVE menu. The following menu commands are available in the CGWAVE Menu:

Assign BC
Assigns boundary conditions along a selected nodestring(s).
Material Properties
Opens the CGWAVE Material Properties dialog.
Reset 1D Spacing
Brings up the Modify 1D Wave Line dialog.
Model Check
Check for common problems. The model checker performs the generic mesh checking along with optionally checking to insure:
  • All boundaries mesh boundaries are assigned as land with a reflection coefficient or as open ocean.
  • All water depths are positive.
Model Control
Brings up the Model Control dialog to specificy model parameters.
Brings up a dialog that checks what executable of CGWAVE should be run and then runs the model with the currently loaded simulation. As the model runs, a dialog monitors progress of the model and gives status messages. When the run is complete, the spatial solutions are read in for analysis and visualization.

Model Control

The CGWAVE Model Control dialog is used to setup the options that apply to the simulation as a whole. These options include time controls (steady state/dynamic), run types, output options, global parameters, print options and other global settings.

Boundary Conditions

All numeric models require boundary condition data. In CGWAVE boundary conditions are defined on nodestrings. The default boundary condition is a closed boundary (no flow). See CGWAVE Boundary Conditions Dialog for more information.

Material Properties

Example of the CGWAVE Materials Properties dialog.

Each element is assigned a material type. Material properties describe the hydraulic characteristics of each material type.

  • Bottom friction – The bottom friction can be specified for the element(s) and material selected in this field.
  • Floating dock – Represent an object anchored in place, but floating in or on the water and thereby obstructing wave fields. Elements will be treated as floating barriers when the simulation is saved.

Running the Model

The CGWAVE files are written automatically with the SMS project file or can be saved separately using the File | Save CGWAVE or File | Save As menu commands.

CGWAVE can be launched from SMS using the CGWAVE | Run CGWAVE menu command. A check of some of the common problems called the Model Checker is done each time the model is launched, or by selecting the CGWAVE | Model Check menu command.

Processing Solutions

CGWave creates a single output file (normally including *.cgo extension when run with SMS). This file can be brought into SMS to graphically view the results. As SMS reads the file, it translates (using an embeded version of the CGWAVE "trans" code) the complex numbers representing wave heights and phases for each wave component into spatial and temporal datasets including:

  • Steady State
    • Wave Height
    • Wave Phase
    • Direction of Maximum Particle Velocity
  • Time Varying (through a single wave period. SMS breaks the period into 20 time steps)
    • Pressures (at surface, mid depth and bed)
    • Particle Velocities (at surface, mid depth and bed)
    • Sea Surface Elevation
    • Wave Velocity.

When the solution is read in, SMS allows limits to the wave heights in the solution. This only applies to linear runs of CGWAVE to allow the heights to be adjusted to be more realistic. This is accomplished by applying a factor, whose value ranges from 0 to 1 (defined as H/d). (Because wave height cannot exceed the value of depth or factor=1). SMS recommends a range of 0.4 to 0.8 and defaults to 0.64. If desired, enter another factor dependent on knowledge of wave mechanics, type of problem, etc.

Related Topics