Advanced Scientific Computing Research (ASCR) under the U.S. Department of Energy Office of Science (Office of Science)

Project Team Members:

Northwestern University

The HDF Group

Argonne National Laboratory

North Carolina State University

Northwestern University - EECS Dept.

Damsel Usecase - a simple 2D

Just to get the ball rolling on these use cases, here is a simple example. Let us represent a 2D array in the proposed data model.


Consider a 2D (N by M) array of double-precision floating point values. For the sake of this discussion we will assume the application has cell-centered data. This 2D array represents surface barometric pressure over some land area.


Fairly straightforward requirements. This use case is perhaps the simplest we can imagine. Damsel will represent far more complicated data models, but this simple case should not be high-overhead.


column-major 2d array

What HDF5 and pnetcdf think of as a 2d array, our data model sees as a 2d structured mesh. Our N by M array will be a collection of N*M entities arranged in such a mesh. In this figure the entities carry an identifier.

The description in terms of the data model:

  1. Structured vertex block: x0, y0 = (0, 0); dx, dy = (1.0, 1.0); IMIN/IMAX = (0, 5); JMIN/JMAX = (0, 3); --> block b1, start handle-- --h1
  2. Structured quad block: uses b1 --> block b2, start handle-- --h2
  3. Units: create units "entry" (kg/1/0, m/0/1, s/0/2) -->-- --units handle h3
  4. Tag: name "surface_barometric_pressure"; size type = fixed; size sizeof(double); data type = double; default value = -1.0; storage type = dense; associated with units handle h3 --> tag handle h4
  5. Tag values: input double* pointing to (IMAX-IMIN)(JMAX-JMIN) = 15 pressure values, assigned to tag h4 on entities in b2 -->-- --assigned value for tag h4 on quads-- --[h2, h2+15)

Responses to questions

Once the polygons have been defined, we need to describe how those polygons are connected to each other. In the case of a structured mesh, connectivity is implied by associating structured vertex block b1 to quad block b2. Connectivity means the vertices defining each quad; adjacency means quad h2+1 is adjacent to quad h2+2 through two of its vertices, h1+2, h1+2+(IMAX-IMIN+1)=h1+8.

Northwestern University EECS Home | McCormick Home | Northwestern Home | Calendar: Plan-It Purple
© 2011 Robert R. McCormick School of Engineering and Applied Science, Northwestern University
"Tech": 2145 Sheridan Rd, Tech L359, Evanston IL 60208-3118  |  Phone: (847) 491-5410  |  Fax: (847) 491-4455
"Ford": 2133 Sheridan Rd, Ford Building, Rm 3-320, Evanston, IL 60208  |  Fax: (847) 491-5258
Email Director

Last Updated: $LastChangedDate: 2014-09-17 14:51:09 -0500 (Wed, 17 Sep 2014) $