SMS:Cartesian Grid Module: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
No edit summary
 
(36 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{SMS_at_a_glance_cartesian_grid_module|Heading===At a glance==}}
{{SMS_at_a_glance_cartesian_grid_module|Heading===At a glance==}}
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.  
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.  
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 [[SMS:Map Module|Map Module]]. The grid module currently includes interfaces for:
It is strongly recommended that grids be created through the [[SMS:Map Module|Map module]]. The grid module currently includes interfaces for:


*[[SMS:BOUSS-2D|BOUSS-2D]] – Phase resolving Boussinesq wave energy and circulation model
*[[SMS:BOUSS-2D|BOUSS-2D]] – Phase resolving Boussinesq wave energy and circulation model
Line 11: Line 11:
*[[SMS:TUFLOW|TUFLOW]] – Coastal, Riverine, and Urban hydrodynamic model with emphasis in flooding applications
*[[SMS:TUFLOW|TUFLOW]] – Coastal, Riverine, and Urban hydrodynamic model with emphasis in flooding applications


In previous versions, the [[SMS:CMS-Flow|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.
In previous versions, the [[SMS:CMS-Flow|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 [http://www.aquaveo.com/software/sms-pricing paid editions] of SMS.
The Grid module is included with all [http://www.aquaveo.com/software/sms-pricing paid editions] of SMS.


==Grid Types==
==Grid Types==
[[File:GridTypeSMS.jpg|thumb|400 px|Types of 2D Grids Supported by models SMS. (a) Mesh-Centered Grid (b) Cell-Centered Grid.]]  
[[File:GridTypeSMS.jpg|thumb|400 px|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:
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 [[SMS:BOUSS-2D|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. [[SMS:STWAVE|STWAVE]] and [[SMS:CMS-Wave|CMS-Wave]] are example 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 [[SMS:CMS-Flow|CMS-Flow]] engine.
* 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 [[SMS:BOUSS-2D|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. [[SMS:STWAVE|STWAVE]] and [[SMS:CMS-Wave|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 [[SMS:CMS-Flow|CMS-Flow]] engine.
* Rotational limitations. Some numerical engines require that the grid be a true Cartesian grid, meaning that it is not rotated.  The [[SMS:WAM|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.
* Rotational limitations. Some numerical engines require that the grid be a true Cartesian grid, meaning that it is not rotated.  The [[SMS:WAM|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.  [[SMS:WAM|WAM]] is an example of this.  Earlier versions of [[SMS:STWAVE|STWAVE]] had this restriction but now supports rectangular cells.
* Cell shape limitations. Some numerical engines require that all cells be square.  [[SMS:WAM|WAM]] is an example of this.  Earlier versions of [[SMS:STWAVE|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 refine 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.
* 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.
* [[SMS:Telescoping Grids|Telescoping or QuadTree grids]]. The [[SMS:CMS-Flow|CMS-Flow]] engine also supports computation on a telescoping grid or quad tree.  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.  This is described more in the [[SMS:Telescoping Grids|Telescoping Grids]] definition.
* Projection limitations. Most numerical engines are designed to work in a specific type of coordinate system or projection.  The [[SMS:WAM|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.
* Projection limitations. Most numerical engines are designed to work in a specific type of coordinate system or projection.  The [[SMS:WAM|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 [[SMS:Telescoping Grids|telescoping or quadtree grids]]. The [[SMS:CMS-Flow|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 [[SMS:Datasets|dataset]] is imported to a cell-centered grid, there is one value in the dataset for each cell.
When a [[SMS:Datasets|dataset]] is imported to a cell-centered grid, there is one value in the dataset for each cell.
Line 35: Line 36:


====Cartesian Grid Generator Coverage====
====Cartesian Grid Generator Coverage====
[[File:GridGenerator.png|thumb|230 px|The ''Select Grid Type'' dialog]]
<!--obsolete [[File:GridGenerator.png|thumb|230 px|The ''Select Grid Type'' dialog]]-->
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 [[SMS:Map Module Tools#Create 2D Grid Frame|'''Create 2D Grid Frame''']] [[File:Create 2D Grid Frame.png]] 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 &rarr; 2D Grid''' command.
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 [[SMS:Map Module Tools#Create 2D Grid Frame|'''Create 2D Grid Frame''']] [[File:SMS Create Grid Frame Tool.svg|14 px]] 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 &rarr; 2D Grid''' command.
 
<!--
When creating the CGrid Generator coverage from the ''New Coverage'' dialog, the ''Select Grid Type'' dialog will appear before the coverage is created in the project explorer. This dialog gives the option to create the coverage as "Cell-centered" or "Mesh-centered". The selection should depend on which model the feature objects will be used in after conversion to the Cartesian Grid module.
When creating the CGrid Generator coverage from the ''New Coverage'' dialog, the ''Select Grid Type'' dialog will appear before the coverage is created in the Project Explorer. This dialog gives the option to create the coverage as "Cell-centered" or "Mesh-centered". The selection should depend on which model the feature objects will be used in after conversion to the Cartesian Grid module.-->


====Map &rarr; 2D Grid====
====Map &rarr; 2D Grid====
{{Anchor|Map to 2D Grid}}The '''[[SMS:Converting Coverages#Map to 2D Grid|Map &rarr; 2D Grid]]''' command is used to construct a 2D grid using a grid frame feature object in a the current coverage. When the '''''Map &rarr; 2D Grid''''' command is selected, the ''[[SMS:Converting_Feature_Objects#Map_to_2D_Grid|Map &rarr; 2D Grid]]'' dialog appears.
{{Anchor|Map to 2D Grid}}The '''[[SMS:Converting Coverages#Map to 2D Grid|Map &rarr; 2D Grid]]''' command is used to construct a 2D grid using a grid frame feature object in a the current coverage. When the '''Map &rarr; 2D Grid''' command is selected, the ''[[SMS:Converting_Feature_Objects#Map_to_2D_Grid|Map &rarr; 2D Grid]]'' dialog appears.


Parameters specified to create the grid include:
Parameters specified to create the grid include:
Line 47: Line 48:
*'''Grid Geometry''' &ndash; 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.
*'''Grid Geometry''' &ndash; 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''' &ndash; 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'' toggle 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.
*'''Cell Options''' &ndash; 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''' &ndash; The elevations or depths assigned to each cell or node can be specified as a single value, or select a [[SMS:Datasets|dataset]] to interpolate from.
*'''Depth Options''' &ndash; The elevations or depths assigned to each cell or node can be specified as a single value, or select a [[SMS:Datasets|dataset]] to interpolate from.
Line 53: Line 54:
*'''Current''' &ndash; For models that support currents. Also specifies if current field either as a constant, or interpolated from a vector [[SMS:Datasets|dataset]].
*'''Current''' &ndash; For models that support currents. Also specifies if current field either as a constant, or interpolated from a vector [[SMS:Datasets|dataset]].


The type and orientation of the grid generated is controlled by the current Cartesian Grid Model.  
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.
For some models, specific grid helps are available via a button at the bottom of the dialog.
Line 59: Line 60:
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 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 [[SMS:CMS-Flow|CMS-Flow]], and [[SMS:Telescoping Grids|telescoping]] resolution is specified in at least one feature polyon,  SMS will generate a recursively refining grid based on the input parameters.
If the grid is intended for [[SMS:CMS-Flow|CMS-Flow]], and [[SMS:Telescoping Grids|telescoping]] resolution is specified in at least one feature polygon,  SMS will generate a recursively refining grid based on the input parameters.


=====Create Grid=====
====Create Grid====
A new grid can be created by selecting the '''Create 2D Grid Frame''' [[File:Create 2D Grid Frame.png]] tool from the [[SMS:Cartesian Grid Tools|''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 ''[[SMS:Converting Coverages#Map to 2D Grid|Map &rarr; 2D Grid]]'' dialog appears.
A new grid can be created by selecting the '''Create 2D Grid Frame''' [[File:Create Cartesian Grid Tool.svg|16 px]] tool from the [[SMS:Cartesian Grid Tools|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 ''[[SMS:Converting Coverages#Map to 2D Grid|Map &rarr; 2D Grid]]'' dialog appears.


=== Editing 2D Grids ===
=== 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.
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 Coumn''', '''Drag Row''', or  '''Drag Coumn''' tool.  (See [[SMS:Cartesian Grid Tools|2D Grid Tool Palette]])
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 [[SMS:Cartesian Grid Tools|2D Grid Tool Palette]])


==Smoothing 2D Grids==
==Smoothing 2D Grids==
Line 78: Line 79:


==Converting 2D Grids==
==Converting 2D Grids==
2D Grids may be converted to other types of data used in SMS, such as a [[SMS:Scatter Module|Scattered Dataset]] of [[SMS:Mesh Module|2D mesh]]. 2D Grids can be converted by right-clicking on the grid in the ''Project Explorer''.
2D grids may be converted to other types of data used in SMS, such as a [[SMS:Scatter Module|scattered dataset]] or a [[SMS:Mesh Module|2D mesh]]. 2D grids can be converted by right-clicking on the grid item [[File:2D Grid Icon.svg|16 px]] in the Project Explorer.


==Project Explorer==
==Project Explorer==
The following [[SMS:Project Explorer|Project Explorer]] mouse right-click menus are available when the mouse right-click is performed on a Cartesian Grid Module item.
The following [[SMS:Project Explorer|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 ====
====Cartesian Grid Module Root Folder Right-Click Menus ====
Right-clicking on the Cartesian Grid module root folder in the project explorer invokes an options menu with the following options:  
Right-clicking on the Cartesian Grid module root folder [[File:2D Grid Folder.svg|16 px]] in the Project Explorer invokes an options menu with the following options:  
* [[SMS:Display Options|Display Options]]  
* [[SMS:Display Options|Display Options]]


====Cartesian Grid Item Right-Click Menus ====
====Cartesian Grid Item Right-Click Menus ====
Right-clicking on a Cartesian Grid item in the [[SMS:Project Explorer|Project Explorer]] invokes an options menu with the following module specific options:  
[[Image:Create Transformed Grid.png|thumb|200 px|''Create Transformed Grid'' dialog]]
Right-clicking on a Cartesian Grid item [[File:2D Grid Icon.svg|16 px]] in the [[SMS:Project Explorer|Project Explorer]] invokes an options menu with the following module specific options:  
* '''Interpolate to''' &ndash; Opens the [[SMS:Scatter_Interpolation|''Interpolation Options'']] dialog.
* '''Convert''' &ndash; Opens a submenu to allow conversion of this grid to another geometry type.
* '''Export''' &ndash; Opens the export dialog to allow the grid to be exported to an XMDF (h5) file.
* '''Smooth''' &ndash; Opens the [[SMS:Grid Smoothing|''Cartesian Grid Smoothing Options'']] dialog.  
* '''Smooth''' &ndash; Opens the [[SMS:Grid Smoothing|''Cartesian Grid Smoothing Options'']] dialog.  
*'''Create Transformed Grid''' &ndash; 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.


[[Image:Create Transformed Grid.jpg|thumb|200 px|''Create Transformed Grid'' dialog]]
====Cartesian Grid Dataset Right-Click Menus ====
 
Right-clicking on a Cartesian Grid dataset in the [[SMS:Project Explorer|Project Explorer]] invokes an options menu with the following module specific options:
====Model Specific Right-Click Menus====
* '''Properties''' &ndash; Opens a ''Properties'' dialog that shows information about the dataset.
*'''Create Transformed Grid'''
<blockquote style="margin-top:0px; margin-bottom:0px;">
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.
 
Related Models: [[SMS:CMS-Wave|CMS-Wave]], [[SMS:STWAVE|STWAVE]]
</blockquote>


==Cartesian Grid Module Tools==
==Cartesian Grid Module Tools==
Line 108: Line 108:


==How do I?==
==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 http://www.aquaveo.com/software/sms-learning-tutorials].
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 http://www.aquaveo.com/software/sms-learning-tutorials].


==Related Coverages==
==Related Coverages==
The grid module currently includes interfaces for:  
The grid module currently includes interfaces for:  
* [[SMS:BOUSS-2D|BOUSS-2D]] &ndash; Phase resolving Boussinesq wave energy and circulation model  
* [[SMS:BOUSS-2D|BOUSS-2D]] &ndash; Phase resolving Boussinesq wave energy and circulation model  
* [[SMS:CMS-Flow|CMS-Flow]] &ndash; Hydrodynamic circulation specifically adapted for coastal zone
* [[SMS:CMS-Wave|CMS-Wave]] &ndash; Wave energy model  
* [[SMS:CMS-Wave|CMS-Wave]] &ndash; Wave energy model  
* [[SMS:STWAVE|STWAVE]] &ndash; Wave energy model  
* [[SMS:STWAVE|STWAVE]] &ndash; Wave energy model  
* [[SMS:TUFLOW|TUFLOW]] &ndash; Coastal, Riverine, and Urban hydrodynamic model with emphasis in flooding applications
* [[SMS:TUFLOW|TUFLOW]] &ndash; Coastal, riverine, and urban hydrodynamic model with emphasis in flooding applications


== Related Topics ==
== Related Topics ==
Line 123: Line 122:
* [[SMS:Cartesian Grid Data Menu#Find Cell|Cartesian Grid Find Cell]]
* [[SMS:Cartesian Grid Data Menu#Find Cell|Cartesian Grid Find Cell]]
* [[SMS:Modules|SMS Modules]]
* [[SMS:Modules|SMS Modules]]


{{Template:Navbox SMS}}
{{Template:Navbox SMS}}

Latest revision as of 16:14, 16 February 2022

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