Skip to content

Multi-dimensional model represents data in relation to the multiple dimensions:

  • Items – attributes dimension
  • SpatialDomain – spatial dimension
  • TemporalDomain – time dimension
  • VerticalDomain – vertical dimension (optional)

Multi-dimensional model schema

Multi dimensional model is represented as an enumerable of slices. Slice can be understood as a data column, this means an array of data measured for one attribute and one time step and one layer across the whole spatial domain. Therefore it can be also understood as column model.

Slice schema

Slice dimensions:

  • ItemIndex – refers to index of item (attribute) in Items collection
  • TimestepIndex – refers to an index of a time step in stored TemporalDomain object
  • Layer – refers to an index of a layer stored in SpatialDomain.VerticalDomain object
    • If item has no layers, then value is -1

Spatial domains

Equidistant grid

Distances between cells are equdistant. Defined by:

  • X0 - X coordinate of reference point.
  • Nx - number of cells in X direction
  • Dx - size of the cell in X direction
  • Y0 - Y coordinate of reference point.
  • Ny - number of cells in Y direction
  • Dy - size of the cell in Y direction

Equidistant grid

There a two main types differed by cell alignment and how the position of X0, Y0 coordinates is interpreted :

Equidistant grid - alignment

Non-equidistant grid

Grid is defined by the array of coordinates in X, Y direction. There are three main types differed by cell alignment and how the positions of coordinates are interpreted:

Non-equidistant grid

Mesh

MeshDomain - is defined by the collection of mesh nodes and by collection of mesh elements. MeshNode - is defined by its x, y, z coordinates. MeshElement - is defined by the collection of NodeIndices, each node index refers to the node in Nodes collection.

Mesh

3D Grid

3D grid defines its VerticalDomain, which contains a vertical definition. Each VerticalDomain has one IVerticalTransformation, currently we support two type of transformations: EquidistantTransformation - layers are distributed at the same distance from another NonEquidistantTransformation - layers are not distributed at the same distance from another

3D grid

3D Mesh – Static layers

3D grid defines its VerticalDomain, which contains a vertical definition. Each VerticalDomain has one IVerticalTransformation, currently we support two type of transformations: EquidistantTransformation - layers are distributed at the same distance from another NonEquidistantTransformation - layers are not distributed at the same distance from another

3D mesh

3D Mesh – Dynamic layers

Definition of layers differ across the time steps. Layers are defined by ZLevelItem and Z-coordinates across the time steps are stored in special Slice: - Layer index is always -1 - Data are not stored per element, but per nodes of 3D elements: [Z0, Z1,…, Zn] - VerticalDomain.Transformation is of type EmptyTransformation Z-Slice

There are two types of dynamic layers:

Sigma layers -Layer must be defined for each 2D element. Z-coordinates may differ across the elements. Sigma layers

Sigma-Z layers -Layer may not be defined for each 2D element. Sigma-Z layers

3D Layered vs. Non-Layered model

3D models can be represented in two states. We differentiate between two state of models, based on whether the elements of a SpatialDomain consist from 3D-elements or the spatial domain is just a vertical projection of 3D domain and therefore consist just from 2D-elements + VerticalDomain. Both states of a domain are convertible between each other.

Non-Layered model

  • Spatial domain has no vertical domain
  • 3D models have DFS domain extensions:
    • Dfs3DEqGrid
    • Dfs3DMeshDomain
  • Elements of Spatial domain are 3D elements Layer index in slices = -1 3D-slice

Layered model

  • Spatial domain has vertical domain (where TSpatialDomain : IVerticalSpatialDomain)
  • Elements of Spatial domain are 2D elements 2D-slice

Examples

Equidistant-Grid .nc (Copernicus) in Panoply Equidistant-Grid .dfs2 in MIKE0 Mesh .nc (HYCOM GLBa0.08) in Panoply Mesh .dfsu in MIKE0