CEMPD Links

Atmospheric Chemistry
Emissions
Meteorology
SIP Support
Software Design
Decision Support
Featured Projects

Staff
Experts
Publications
Contact Info
Help With This Site
Driving Directions (PDF) (Map)
Brochure (PDF)
CMAS
SMOKE
CMAQ
CEMPD Home > SOFTWARE DESIGN

Software Design

CEMPD software engineers have developed many models and software tools that support environmental modeling. These include emissions, air quality, and multimedia fate and transport models, tools for scientific visualization, and tools that support other aspects of modeling such as the creation of spatial surrogates. Using a team approach to software design and engineering, we focus on improving the modeling process by facilitating the automation of modeling studies and by developing tools for the generation and use of metadata during model application studies.

We apply software design techniques such as object-oriented and agile programming to most of our products. We also utilize software process techniques that improve the quality of our products such as source code revision control, unit testing, and web-based tracking of bugs and feature requests. The members of this talented team are skilled in software development using the Java, C++, C, Python, scripting, and FORTRAN programming languages. Our software development team has experience with accessing large data sets output from models in various formats, including netCDF, delimited ASCII, and relational databases such as MySQL, Oracle, and PostgreSQL.

This list below provides brief summaries of our current software engineering projects. Support for all of these products is available through our free Bugzilla email help desk .

  • The Sparse Matrix Operator Kernel Emissions (SMOKE) Modeling System integrates emissions data processing with high-performance computing (HPC) sparse-matrix algorithms. SMOKE is primarily an emissions processing system designed to create gridded, speciated, hourly emissions for input into a variety of air quality models such as CMAQ, REMSAD, CAMX and UAM. SMOKE is an open source project that can be accessed through the CMAS Center Model Clearinghouse.
  • The Package for Analysis and Visualization of Environmental (PAVE) data, introduced in 1994, is still widely used for the analysis and presentation of the inputs and outputs to emissions and air quality models. It has been released as an open source tool at http://paved.sourceforge.net.
  • EmisView is a new quality assurance tool for emissions modeling data that is under development. This tool will provide both interactive and automated analyses of emissions modeling data associated with SMOKE, CONCEPT, and EPS 2.5. The first release will be available in Spring, 2005. For more information, see http://emisview.sourceforge.net.
  • CEMPD developed portions of the Multimedia Integrated Modeling System (MIMS). We worked closely with the EPA staff on the design and development of the MIMS Framework for automatically running sets of integrated models. MIMS software, including the framework and analysis engine, is available from http://mimsfw.sourceforge.net.
    • The MIMS Analysis Engine is a new tool for creating plots and tables from tabular ASCII data. It is useful for quality assurance, model evaluation, sensitivity and uncertainty analysis, and more!
    • The MIMS Spatial Allocator creates spatial surrogates that are used as inputs to emissions models such as SMOKE, and it performs other types of spatial allocation. Enhancements to this tool are underway and new versions will be made available in Winter 2005, and June 2005.
  • The Total Risk Integrated Methodology (TRIM) was developed in part at CEMPD. CEMPD staff focused on using MIMS to integrate and automate the execution of the exposure and risk modules, and on the development of analysis tools for the resulting data.
    • CEMPD developed the TRIM.FaTE computer framework to predict the movement and transformation of toxic and criteria pollutants within a multimedia system that includes air, soil, water, and biological organisms.
    • The Data Analysis and Visualization Engine (DAVE) is part of the TRIM system that extracts data from relational databases for presentation in plots and tables.

Relevant Projects

No ongoing projects at this time