100 likes | 340 Views
Cartographic Modeling Language Approach for CyberGIS : A Demonstration with Flux Footprint Modeling. Michael E. Hodgson, April Hiscox, Shaowen Wang, Babak Behzad, Sara Flecher, Kiumars Soltani , Yan Liu and Anand Padmanabhan. 12 hour samples of NH 4 concentrations.
E N D
Cartographic Modeling Language Approach for CyberGIS: A Demonstration with Flux Footprint Modeling Michael E. Hodgson, April Hiscox, Shaowen Wang, Babak Behzad, Sara Flecher, KiumarsSoltani, Yan Liu and Anand Padmanabhan 12 hour samples of NH4 concentrations. Where did the samples come from? Meteorological sampling at 10-hz (i.e. Big Data) Receptor Location
One-Dimensional Flux Footprint Model(Horst and Weil, 1992) Z = f(downwind distance) Probability -> Calculate spatial probability for 1 met sample; then integrate with ~500,000 others. Receptor Location Downwind Distance • Implementation by a GIS Analyst would require distance, direction, and algebraic operators. • How would a GIS analyst implement this spatial-temporal model? • Likely in a script (e.g. AML, EML, Python) with CML-type language.
What is the Cartographic Modeling Language (CML) Framework? • Common language for spatial modeling within the GIS community (some may argue only for raster modeling) • Widely accepted in the GIS analyst community • Widely implemented in the GIS Software Industry • Common approach used in education. Analogy: Structured Query Language (SQL) in DBMS
Building a Model Within the ArcMap ‘Environment’ Command Line Tool Model Builder GUI Visual Basic Application (VBA) Script (e.g. Python) c) 2009 M.E. Hodgson
Development of a Geographic Model USER Graphical Model (e.g. Model Builder/Maker, Stella) Script (e.g. AML, EML, Python, PHP) Programming Language (e.g. VBA, C, FORTRAN) Interface (Data Access) Interface (Operators) Geospatial Data Geographic Operators (library) 1 CPU 1 CPU 1 CPU 1 CPU 1 CPU 1 CPU 1 CPU
Development of Geographic Model(Implementation Approach) USER What must the user know to aid in the parallel decomposition? Graphical Model (e.g. Model Builder/Maker, Stella) Script (e.g. AML, EML, Python) Translator Programming Language (e.g. VBA, C, FORTRAN) Interface (Data Access) Interface (Operators) 1 CPU 1 CPU Geospatial Data Geographic Operators (library) 1 CPU 1 CPU 1 CPU 1 CPU
Parallelization Strategies • Parallelize Euclidean direction and distance matrices calculation • Merge multiple loops into single • Temporal loop Parallelization • Parallel modules exposed as library functions • Provides basis of CML operator development • Lowers the barrier-to-entry for parallel computing