290 likes | 421 Views
An Introduction to the Multimedia Integrated Modeling System (MIMS) Examples for Integrating Environmental Models. Kim Hanisak April 21, 2004. MIMS Background (courtesy Steve Fine). MIMS = Multimedia Integrated Modeling System Developed by EPA ORD (Steve Fine, Steven Howard)
E N D
An Introduction to the Multimedia Integrated Modeling System (MIMS)Examples for Integrating Environmental Models Kim HanisakApril 21, 2004
MIMS Background (courtesy Steve Fine) • MIMS = Multimedia Integrated Modeling System • Developed by EPA ORD (Steve Fine, Steven Howard) • Provides user interface to support connecting and interchanging compatible models / modules • Aid repetitive work, such as modeling multiple locations and sensitivity and uncertainty studies • Provide user interfaces for programs when desired (in most cases with no programming required) • Manage computations on one or more computers • Data management and manipulation
Potential MIMS Benefits for Environmental Modelers • GUI for running Models (e.g., CMAQ and SMOKE) • Alternative to scripting • Archive and share configurations for simulations • Automate repetitive work • Manage model executions on remote computers • Data Management (eventually) • Java implementation should make it portable • Data Analysis Engine currently in development provides multiple plotting and analysis tools
CEP’s Role • Supporting MIMS for Models-3 applications via CMAS • Implemented pieces of MIMS • Using MIMS in other applications • Testing • Integrated specific models within MIMS • CMAQ • SMOKE • TRIM (APEX, HAPEM, FATE) • REMSAD-ST • BENMAP • AIRNET (formerly called ControlNet)
Projects • Container for all of the building blocks (MIMS Objects) used in a study • Building blocks include modules, parameters, domain objects, and scenarios • Multiple projects are accessed via the Project Selection Window
Key MIMS Building Blocks • Module: A software program, code fragment, or collection of programs to be executed by MIMS • Parameter: A piece of information about a MIMS building block • (e.g. a file name, true false value, a grid) • Domain Object: • Represents a concept, thing, or part of the environment to be modeled (a noun) • Contains both information (parameters), and functions (processes) • Scenario: Connects building blocks into a particular configuration to perform one or more model runs
Project Window • Manages multiple types of building blocks in the project • Available operations include: rename, duplicate, open, delete, import, export
Module Window • Software program, scenario, or code fragment to be executed by MIMS (e.g. SMOKE, CCTM, BASINS, MM5, Java code fragment)
A piece of information about a building block E.g. Input file, start date, run duration, AQM grid Every parameter has an associated type. Parameters
Parameters Table • Columns give parameter name, environment variable name, value, access to special GUIs, input vs. output, etc. • Operations on toolbar include: expand/compress, print, undo, redo, cut, copy, paste, paste values, delete, edit type, add new, clear value, edit description, set from file, copy top value, reorder
Group Parameter • Used to organize large numbers of parameters • E.g. Scenario File Management Parameters • Note: parameter language used for some values
Some parameters have special GUIs (e.g. Chemical mechanism, Grid Family, Distribution) Special Parameter GUIs
Domain Objects • Represent a concept, thing, or part of the environment to be modeled (should be a noun) • E.g. surface water, atmosphere, area source emissions • Contain processes (behavior / functions) • E.g. evolve meteorology, process inventory • Also contain parameters (data) • E.g. wind speed, temperature, start date, emissions inventory • Used to pass information between modules • Input data is provided to its processes / module instances • Then processes are executed and output data is made available to other modules via the domain object (I.e. modules do not communicate directly)
Process • Describes a single action to be executed by the MIMS framework. • When a module is assigned to a process to implement its functions, a copy is made called a Module Instance.
Module Instance • Unchangeable copy (except parameter values) of the module for a single application • Parameter values set independently from other instances
Scenario • Arranges all of the MIMS building blocks (domain objects, framework objects, processes/module instances and parameters) in a fashion meaningful to their application. • Multiple Scenarios can exist in a project (e.g. base case and control strategies) • Linkages from output files (parameters) to input files (parameters) are defined via Parameter Connections • These are used to determine execution order • Executes processes / module instances • Local and remote execution (via ssh) is supported
Scenario Window • Both tree and directed graph views are supported (Data flows along the arrows) • Execution status is show in circular icons
Scenario Parameter Values • Accessible to all Domain Objects and Module Instances (thus good for global information)
Parameter Connection • Links Parameter values from one Module Instance or Domain Object to another (or to the Scenario). • Examples: • If the output Parameter from Process A is also the input Parameter for Process B, the Parameter Connection tells MIMS that Process A must run before Process B can run. • A Parameter Connection can be used to link multiple items to a common data source (I.e. a domain object or the scenario)
Execution • Execution commands are on Scenario menu • Execute all, reset all, execute selected processes • Execution status is indicated • Not ready, ready, running, completed, failed • After execution, right click on process to: • View run script, view output log, view error log
Local/Remote/Condor Execution • Programs can be run on remote computers via SSH • Initial set up is required • A number of limitations and assumptions apply • Can also use Condor method
Framework Objects • Represent a task or management function to perform, typically independent of environmental models (e.g. clear files from disk, iterate) • Iterators can sequence multiple runs with: • Different time periods (e.g. days / months / years) • Different emission control strategies • Different model input values (e.g. Monte Carlo simulation) • Currently available Iterators: • Temporal Iterator • Synchronized List Iterator • Simple Monte Carlo Iterator
File Viewers • File parameters can be viewed using default Windows programs (e.g. MS Word, notepad) • Custom viewers can be assigned in Administration Information (e.g. IOAPI file viewer) • Accessed by right clicking on file parameter and choosing View File • Viewer is chosen based on file extension or file type (for Typed File Parameters)
Plotters • Available for quick 2D plots of data • Histogram, time series, x-y • The new analysis engine will provide more full featured plotting capabilities • Based on R • Program built around the analysis engine (DAVE) has been used with TRIM to visualize and analyze outputs from specific models – can build similar customized GUI’s around other models • Provides for scatter, categorized, discrete, and basic bar plots • Customizable plots (font, legends, bar size, tic marks, etc.)
My MIMS Work • SMOKE • Integrated SMOKE 1.5 – waiting on funding to upgrade to 2.0 (includes Mobile6) • CMAQ • Integrated CMAQ v4.2.1 – can easily update for newest 4.3 release • Phoenix Framework • Created a framework for running AirNet (control strategies model), REMSAD-ST, and BenMAP (benefits model) and additional models for economic and environmental benefits • TRIM • Integrated Total Risk Integrated Methodology model parts including TRIM.Fate, HAPEM, and TRIM.Inhalation • Created scenarios to iterate over multiple pollutants, benefits, etc. • Training • Teach introduction to MIMS course for Community Modeling and Analysis System (CMAS) • Testing • Created test suites to be used as new MIMS source code is created