Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algebraic Manipulation of Scientific Datasets Bill Howe and David Maier OGI School of Science and Engineering at Oregon Health and Science University Portland.

Similar presentations


Presentation on theme: "Algebraic Manipulation of Scientific Datasets Bill Howe and David Maier OGI School of Science and Engineering at Oregon Health and Science University Portland."— Presentation transcript:

1 Algebraic Manipulation of Scientific Datasets Bill Howe and David Maier OGI School of Science and Engineering at Oregon Health and Science University Portland State University

2 Environmental Observation and Forecasting on the Columbia River Sensors Simulation Data Products

3 Gridded Scientific Datasets 3.2 3.1 3.8 12.1  C 12.6  C 13.1  C 13.2  C 12.8  C 12.5  C 3.6 3.23.3 3.4 3.6 4.0 4.1 4.0

4 Some CORIE Grids H = 2d Horizontal Grid T = 1d Time Grid V = 1d Vertical Grid Mean Sea Level Underground (not shown)

5 Thesis Grid topology requires explicit data model support. Transformations can be expressed via composition of a few logical operators. Performance can be preserved via algebraic optimization and specialized operator implementations.

6 Roadmap DomainIntroduction Model Introduction Conventional Approaches Examples of Optimization Conclusion

7 Grid Topology –A collection of cells of various dimensions, –implicit or explicit incidence relationships 1 A B 0 2 3 m n o p q 2-Cells0-Cells A0 A1 A3 B1 B2 B3 1-Cells0-Cells m 0 m 1 n 1 n 2 : : 2-Cells = {A,B} 1-Cells = {m,n,o,p} 0-Cells = {0,1,2,3}

8 Grid Properties Topology <> geometry A grid may contain cells of –multiple dimensions –multiple “shapes” Dimension of a grid is the maximum dimension of its cells 1 A B 0 2 3 m n o p q 4 r

9 GridField: Grid with Bound Data Tuples of numeric primitives Total functions over cells of dimension k Two gridfields may share a grid xysalttemp x1y129.412.1 x2y229.812.5 x3y328.012.0 x4y430.113.2 fluxarea 11.53.3 13.95.5 13.14.5

10 Roadmap DomainIntroduction Model Introduction Conventional Approaches Examples of Optimization Conclusion

11 1) Modeling with Relations trivial join dependency embedded in the key –decomposition won’t help –no notion of “grid” xytsalttemp x1y1129.412.1 x2y2129.812.5 x3y3128.012.0 x4y4130.113.2 x1y1230.612.1 x2y2231.512.2 x3y3231.711.8 x4y4232.010.1 Node Data cidfluxarea a11.53.3 b13.95.5 c13.14.5 Cell Data G G cidxy ax1y1 ax2y2 ax4y4 bx2y2 ::: Incidence

12 2) Spatial Extensions Incidence relationship dependent on geometry rather than topology Geometry information redundantly defined in nodes and cells No concept of a “grid”: impedance mismatch with visualization applications Node::Pointtsalttemp Point(x1,y1)129.412.1 Point(x2,y2)129.812.5 Point(x3,y3)128.012.0 Point(x4,y4)130.113.2 Point(x1,y1)230.612.1 Point(x2,y2)231.512.2 Point(x3,y3)231.711.8 Point(x4,y4)232.010.1 Node Data Cell::Polygonfluxarea Polygon(Point(x1,y1),…)11.53.3 Polygon(Point(x2,y2),…)13.95.5 Polygon(Point(x1,y1),…)13.14.5 Cell Data

13 3) Visualization Libraries Different algorithms, each dependent on data characteristics. Programmer’s responsibility to match algorithms with data Logical equivalences are obscured vtkExtractGeometry vtkThreshold vtkExtractGrid vtkExtractVOI vtkThresholdPoints Grid restriction: With VTK: restrict

14 Roadmap DomainIntroduction Model Introduction Conventional Approaches Examples of Optimization Conclusion

15 associate grids with data combine grids topologically reduce a grid using data values transform grids or data bind (b) union, intersection, cross product (  ) restrict (r) aggregate (a) TaskOperator Operators

16 25 26 21 19 Restrict Semantics 24 26 25 27 25 24 26 21 19 26 27 25 24 restrict(<24) Values bound to 0-cells (nodes) Values bound to 2-cells (triangles)

17 Working With GridFields  H : (x,y,b) V : (z) r(z>b ) b(s) r(region) rende r HV (H  V) r(H  V) b(r(H  V))r(b(r(H  V))) “wetgrid”

18 Optimize: Push Restricts salt,temp defined on G Materialize pointers to elements of salt, temp Bind salt, temp to a subgrid of G, G ' G = s1s1 s2s2 s3s3 s4s4 s5s5 t1t1 t2t2 t3t3 t4t4 t5t5 :::: G' = s1s1 s3s3 s5s5 :::: t1t1 t3t3 t5t5 salt = temp = salt' = temp' =  r(p(x,y)) r(p(z)) r(z>b ) b(s) H : (x,y,b) V : (z)

19 Optimization Results

20 Horizontal Slice  H(x,y,b) V(z) r(z>b) b(s ) slice H(x,y,b) r(z>b) b(s ) apply

21 Transect (Vertical Slice)  H(x,y,b) V(z) r(z>b) b(s) “join”  P P  V

22 Transect (Vertical Slice) V(z) P H(x,y,b) “join” b(s)  “join” A B C P 

23 A

24 B C

25 Transect Optimizations

26


Download ppt "Algebraic Manipulation of Scientific Datasets Bill Howe and David Maier OGI School of Science and Engineering at Oregon Health and Science University Portland."

Similar presentations


Ads by Google