SMS:Cartesian Grid Module

From XMS Wiki
Jump to navigationJump to search
Cartesian grid example

At a glance

  • Used to create, edit, and visualize rectilinear grids
  • Datasets can have values at cells, corners, and midsides
  • Can use cell-centered or mesh-centered grids


The 2D Cartesian Grid module contains tools used to construct 2D Cartesian finite difference grids. These grids consist of cells aligned with a rectilinear coordinate system.

Some models limit the grid to be defined with square cells, others limit to constant sized rectangular cells, while others add the flexibility of having variable sizes to the cells (variable row height or column width.

It is strongly recommended that grids be created through the Map module. The grid module currently includes interfaces for:

  • BOUSS-2D – Phase resolving Boussinesq wave energy and circulation model
  • CMS-Wave – Wave energy model
  • STWAVE – Wave energy model
  • TUFLOW – Coastal, Riverine, and Urban hydrodynamic model with emphasis in flooding applications

In previous versions, the CMS-Flow model used Cartesian grids. Starting with SMS 12.1, the CMS-Flow interface was changed to work with quadtree rather than a Cartesian grid. A quadtree can be used to represent a Cartesian grid and at a future date, may be used exclusively for Cartesian grid based models in SMS.

The Grid module is included with all paid editions of SMS.

Grid Types

Types of 2D grids Supported by models SMS. (a) Mesh-Centered Grid (b) Cell-Centered Grid.

Multiple types of grids are supported in the 2D grid module because each numerical engine has its own limitations and supported features. Variations include:

  • Mesh-centered vs. Cell-centered. This refers to where data values are associated with a grid. For mesh centered grids, values are assumed to be at the intersection of lines or cell corners. The BOUSS-2D model is an example of this type. For cell centered grids, values are associated with a cell in general and assumed to be at the cell centroid. STWAVE and CMS-Wave are examples of this type. In reality, this is just a visualization difference, but in practice it can get complicated because a numerical model may have some data expected as grid centered and other data as cell centered. There is also an option for some types of data to actually be associated with a face of the cell such as the vertical (or J direction) flow being associated with the top face and the horizontal (or I direction) flow associated with the left face. This is the situation with the CMS-Flow engine.
  • Rotational limitations. Some numerical engines require that the grid be a true Cartesian grid, meaning that it is not rotated. The WAM model requires this condition. Other engines operate in their own local space, so while the I/J directions of the grid do not necessarily correspond to a global orientation (such as East and North), they are still considered Cartesian space from the numerical analysis perspective.
  • Cell shape limitations. Some numerical engines require that all cells be square. WAM is an example of this. Earlier versions of STWAVE had this restriction but now supports rectangular cells.
  • Refinement limitations. Some numerical engines allow the cells to change aspect ratio. Obviously, in order for this to be supported, the engine must also support non-square cells. The CMS models are the only engines supported in SMS that allow this type of grid. The SMS interface allows creating refined points in a Cartesian grid coverage to specify the desired row width (and/or cell height) at a specific location in the domain. The grid generation method will create cells that match the smallest specified dimension and grow at a user specified rate to a maximum dimension.
  • Projection limitations. Most numerical engines are designed to work in a specific type of coordinate system or projection. The WAM model only operates on a grid in geographic space. The other numerical engines currently in the SMS interface require a Cartesian space such as UTM or State Plane. Some responsibility is left to ensure that the projection being used in a simulation is compatible with the numerical engine being employed.

Previous versions of SMS supported limited options for refining a Cartesian grid. This has been replaced in version 12.0 and newer with telescoping or quadtree grids. The CMS-Flow engine utilizes this domain. In this geometric object, specify a constant resolution grid as a background grid (either number of rows/columns or a fixed width/height), and then specifies refinements as a maximum allowable dimension in a polygonal zone.

When a dataset is imported to a cell-centered grid, there is one value in the dataset for each cell.

In Cartesian grids, row and column boundaries are straight. Each cell center or grid node can have a unique elevation. The grid can also be rotated about the Z axis if desired.

Creating and Editing 2D Grids

Creating 2D Grids

The two main techniques used to create 2D grids are: the Map → 2D Grid command and the Create Grid command. It is encouraged to utilize the Map Module rather than generating grids directly in the Cartesian grid module because the map module creates a record that can be edited and repeated.

Cartesian Grid Generator Coverage

Starting with SMS 12.0, a generic Cartesian Grid Generator coverage or CGrid Generator coverage can be used with the Map module. This coverage allows access to the Create 2D Grid Frame SMS Create Grid Frame Tool.svg tool to frame feature objects in the coverage. Once the grid frame has been created, the feature objects in the coverage can be converted to the Cartesian Grid module by using the Map → 2D Grid command.

Map → 2D Grid

The Map → 2D Grid command is used to construct a 2D grid using a grid frame feature object in a the current coverage. When the Map → 2D Grid command is selected, the Map → 2D Grid dialog appears.

Parameters specified to create the grid include:

  • Grid Geometry – Specifies the origin, orientation and size of the grid. The fields of these quantities are populated with default values based on the three points. The orientation is measured as an angle from the positive X axis.
  • Cell Options – Specifies the number of cells in each direction in the grid. Several options are available. Specifies sizes in the I (Delta U)and J (Delta V) directions or a number of columns and rows. If the Use Grid Frame Size option is checked, the grid will exactly match the dimensions specified in the Grid Geometry section. If that option is not checked, the last row and column may extend beyond the specified lengths. This allows specifying exact grid size, or exact cell size.
  • Depth Options – The elevations or depths assigned to each cell or node can be specified as a single value, or select a dataset to interpolate from.
  • Current – For models that support currents. Also specifies if current field either as a constant, or interpolated from a vector dataset.

The type and orientation of the grid generated is controlled by the current Cartesian grid model.

For some models, specific grid helps are available via a button at the bottom of the dialog.

If one or more refine points are defined (CMS models only) in the conceptual model, the number of rows and columns in the grid will be automatically determined when the grid is created. Thus, these fields cannot be edited and will be dimmed. If refine points are not defined, enter the number of rows and columns.

If the grid is intended for CMS-Flow, and telescoping resolution is specified in at least one feature polygon, SMS will generate a recursively refining grid based on the input parameters.

Create Grid

A new grid can be created by selecting the Create 2D Grid Frame Create Cartesian Grid Tool.svg tool from the Cartesian Grid tools. With this tool active, create a grid by clicking on three points in the Graphics Window. The first click defines the origin of the grid, the second click defines the orientation of the grid and length of the I axis and the third click defines the length of the length of the J axis. After clicking three times defining the three points, the Map → 2D Grid dialog appears.

Editing 2D Grids

Each of the cells in a 2D grid can be active (water) or inactive (land). An inactive cell is ignored when contours or vectors are displayed on the grid and by the numeric engine during computation. If a cell has the potential of becoming active (due to wetting/drying or a similar process), it should be classified as active. Cells status is specified by selecting the cell and assigning a status through the model menu.

Rows and columns can be added to an existing grid that supports variable row/column size by using the Insert Row, Insert Column, Drag Row, or Drag Column tool. (See 2D Grid Tool Palette)

Smoothing 2D Grids

It may be useful to smooth the spatial data stored on a 2D grid for a number of reasons. These reasons include:

  • In order to conserve the amount of disk spaced required to store a DEM, many DEM formats store elevations rounded to the nearest integer value. This causes elevation changes to occur in discrete steps rather than smoothly, as would be the case in nature. In regions of low relief, rounded elevations can cause an area to be artificially "flat."
  • Surveys may include anomalies. Smoothing algorithms blend these bad data points into the surrounding values.
  • Datasets may include spurious noise either from physical conditions such as waves or numerical filtering. Smoothing can dampen these variations.

When right-clicking on the grid in the Project Explorer, operations for the grid appear in a pop up window. One of these is the smooth operation.

Converting 2D Grids

2D grids may be converted to other types of data used in SMS, such as a scattered dataset or a 2D mesh. 2D grids can be converted by right-clicking on the grid item 2D Grid Icon.svg in the Project Explorer.

Project Explorer

The following Project Explorer mouse right-click menus are available when the mouse right-click is performed on a Cartesian grid module item.

Cartesian Grid Module Root Folder Right-Click Menus

Right-clicking on the Cartesian Grid module root folder 2D Grid Folder.svg in the Project Explorer invokes an options menu with the following options:

Cartesian Grid Item Right-Click Menus

Create Transformed Grid dialog

Right-clicking on a Cartesian Grid item 2D Grid Icon.svg in the Project Explorer invokes an options menu with the following module specific options:

  • Interpolate to – Opens the Interpolation Options dialog.
  • Convert – Opens a submenu to allow conversion of this grid to another geometry type.
  • Export – Opens the export dialog to allow the grid to be exported to an XMDF (h5) file.
  • Smooth – Opens the Cartesian Grid Smoothing Options dialog.
  • Create Transformed Grid – Opens the Create Transformed Grid dialog. Creates a copy of the grid with a rotated origin. Used to change the I direction for wave models.

Cartesian Grid Dataset Right-Click Menus

Right-clicking on a Cartesian Grid dataset in the Project Explorer invokes an options menu with the following module specific options:

  • Properties – Opens a Properties dialog that shows information about the dataset.

Cartesian Grid Module Tools

See Cartesian Grid Module Tools for more information.

Cartesian Grid Module Menus

See Cartesian Grid Module Menus for more information.

How do I?

To learn more about how to use the Cartesian Grid module go to the Tutorials section of the Aquaveo website at: http://www.aquaveo.com/software/sms-learning-tutorials.

Related Coverages

The grid module currently includes interfaces for:

  • BOUSS-2D – Phase resolving Boussinesq wave energy and circulation model
  • CMS-Wave – Wave energy model
  • STWAVE – Wave energy model
  • TUFLOW – Coastal, riverine, and urban hydrodynamic model with emphasis in flooding applications

Related Topics