XMDF  2.2
2.4.2. Grid Groups

Grids differ from meshes in that they are structured. Each cell has an IJ or IJK index. We support both 2D and 3D grids. We support data sets with solutions at cell-centers, cell corners (mesh centered), as well as cell faces (Figure 2).

image004.gif
Figure 2 (a) Mesh-centered data values. (b) Cell-centered data values.

2D grids have rows and columns and 3D grids have rows, columns, and layers. We refer to these dimensions both as u, v and w as well as i, j, and k. The first direction of a grid (row direction) is the u direction. The index in that direction is "i". Changing the value of u or i is equivalent to moving back and forth between the different rows of a grid. The second direction of the grid is the v direction. This represents the grid columns and the index is j. The third direction (for 3D grids) is the w direction. This is the grid layers and the index in this direction is k. Different models make different assumptions concerning how the uvw or IJK axes are configured. We represent all possible configurations with an orientation and a rotation. There are optional parameters to define a computation origin and for 3D grids there is another optional parameter that defines the orientation of the uvw axes at the computational origin. The orientation parameter defines whether the grid axes follow the right hand rule or left hand rule (for 2D, this is viewed from above). The rotation includes two angles. The first is a rotation about the X axis or the angle between the Z axis and third grid direction. This angle would be set to 90 to stand a 2D grid on edge for vertically averaged simulations (such as CEQUAL-W2) and zero for depth-averaged simulations (such as STWAVE, M2D, and BOUSS2D). The angle also allows inclined planes for 3D grids. The second angle defines the angle from the X axis to the first grid direction. This can be thought of as a bearing or azimuth adjustment. It should be noted that these rotations are primarily for visualization since the models perform computations in local space. Numbering for data sets, attributes, etc. is done in I, J, K order. Both angles default to zero and are included as optional grid definition values.

2D grids can either be Cartesian or curvilinear. 3D grids can be Cartesian, curvilinear, or extruded 2D grids. Options to specify 3D layers on extruded 2D grids include sigma stretch, Cartesian, specify each corner z value for every layer (curvilinear at corners), and specify each column z value for every layer (curvilinear at mid-sides/cell centers). Sigma stretch grids have varying z values for the top and bottom of each column. Every layer in a sigma stretch grid has a constant percent thickness of the column thickness. All of the extrusion options are available regardless of the type of 2D grid. For example, MODFLOW uses a 2D cartesian grid extruded using the curvilinear at cell centers option.

The data required to define a grid consists of global parameters and the grid geometry. The grid geometry consists of the row, column, layer dimensions (coordinates) or in the case of curvilinear grids, the coordinates of the node corners.