Proposal: A Geo-Element File Type
in the Models-3/EDSS I/O API

Carlie J. Coats, Jr., Ph.D.
MCNC Environmental Programs

!! This document is under construction !!



The intent is to extend the Models-3/EDSS I/O API by adding a new data type (and therefore a new file type), the geospatial-element cell complex (GECC) data type, that supports both geospatial and finite-element data in a way upwardly compatible with the existing API and its library. This extension significantly generalizes the geospatial metadata structure espoused by Butler et al, along lines discussed by John Ambrosiano and the author since 1996. The data structures involved are based upon foundational twentieth century work on the classification of geometric structure by topologists and geometers Whitney, Whitehead, Kervaire, Milnor, and Adams, and more recently Quillen and Sullivan, who proved that the data structures proposed are both necessary and sufficient to deal with problems of three dimensional geometric structure (and that the obvious generalization is adequate through six dimensions; Sullivan and Quillen give an explicit classification of its indeterminacy for problems of seven or greater dimensions).

GECC files have three sections:

There are new data structures introduced to allow for access, storage, and retrieval of these geometric specifications, as well as new API-methods GEOPEN3() (if necessary, depending upon decisions that need to be made (below)) to open or create GECC files, GEDESC3() to retrieve a file's geometric specification, and various utility methods to perform other geometry-related tasks. Existing I/O API routines READ3(), WRITE3(), INTERP3(), and DDTVAR3() would be extended for GECC-file data access, storage, and retrieval. The resulting API will be callable from at least Fortran 77 and 90, C, and C++. GECC-files offer direct support for polygon-based data such as is found in emissions (e.g., area sources) and in GIS-related coverages, without biasing the representation by artificial triangulation or reticulation, and without the extra storage overhead which would also ensue.

One aspect that deserves attention is dealing with the existing built-in I/O API layer structure: unless this is over-ridden, the geometry will automatically have a layer structure given by the built-in layer structure. One could argue that it would be simpler to ignore the 3-dimensional-cell description aspect and use purely the layer structure to extend the geometry to the vertical dimension. This would be sufficient for the vast majority of GIS-related geospatial data applications; however, it would fail to support data with irregular or only partially-layered vertical structures (like ocean models or irregular three-dimensional geological structures for ground water modeling) which would be significant at a later date. The recommendation is to do the fully three-dimensional cell-complex geometry descriptions and to support the I/O API layer structure, with the interpretation that when the number of layers is nontrivial and the number of higher-dimensional cells is zero (no 3-cells, etc.), then the generic I/O API layer structure is responsible for the vertical structure (giving "prismic geometry" for which all horizontal cross-sections are identical as a result). This would be useful, for example, for emissions point-source plume rise for which there is a vertical structure, but only at the vertices (there being no edges, faces, nor 3-cells). The one ambiguous interpretation problem is dealing with the case of a fully three-dimensional cell complex that also has a nontrivial vertical layer structure. Options are to:

Back to Contents

Geospatial Cell Complexes

A Geospatial Element Cell Complex is a geometric data structure with the following components and relationships: The dimension of a GECC is given by the smallest nonempty skeleton: 0-dimensional if only the node-set is nonempty, 1-dimensional if the edge-set (and therefore the node-set) is nonempty. etc. In environmental modeling, we need to describe variables in terms of how the modeling algorithms interpret them: some variables are naturally thought of as being a property of the nodes; others of the edges, faces, or cells. In the current air quality models, for example, we think of concentrations as being cell-means (and so associated with the 3-skeleton), whereas we think of wind fields as being associated with corners (and so associated with the 0-skeleton). In emissions, area and biogenic sources will be associated with county-polygons, i.e., the 2-skeleton, etc.

All edges, faces, and cells are oriented, as is required to do line, surface, and volume integrals (and to make the relationships among them correct -- Green's, Stokes', Gauss' Theorems, etc.). This orientedness shows up in the boundary relations:

Many of the applications anticipated in atmosphere-related environmental modeling will profit from a natural I/O API extension -- layered GECC's, for which the set of cells (and possibly the sets of faces or edges) is empty, and one is trying to model the Cartesian product structure of some lower-dimensional cell complex with a layered atmospheric structure. The most obvious application of this is in modeling point source plume rise, in which there is a natural 0-dimensional cell complex of point sources, and a variable (plume fraction) that "lives" on the atmospheric layer structure above the point sources. Arguably, one might improve plume-in-grid modeling by having either a 1-dimensional cell complex that is the union of the various plume-centerlines, a vertically layered atmospheric structure, and a Gaussian horizontal structure, or a two-dimensional horizontal GECC structure with a vertically layered atmospheric structure. Both cases require at least time-varying geometry (with time-independent topology), as discussed in the section on issues, below.

There are additional geometric-utility routines that might be desirable, including routines for at least the following tasks:

Back to Contents

Public Data Structures and Routines

NOTE: details of these will vary, dependent upon certain choices/design decisions that need to be made (below).

Back to Contents

Applicability to Geospatial and Finite Element Problems

Back to Contents

Issues and Questions to be Resolved

Back to Contents

Implementation Status

The following INCLUDE files are affected:

The following Fortran routines are affected:

The following C bindings are affected:

Extensions of existing analysis and visualization tools:

STATUS::  not yet started.

GECC-related geometric utility routines:
STATUS:!! TBD -- open issue !!

GECC-related geometric tool/support programs:
STATUS:!! TBD -- open issue !!

Back to Contents

dummy section

Back to Contents

Send comments to
Carlie J. Coats, Jr.