_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
An Introduction to the Multimedia Integrated Modeling System (MIMS)
Examples for Integrating Environmental Models
Kim HanisakApril 21, 2004
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Container Structure within MIMS
Project
Modules
Parameters
Domain Objects
Parameters
Processes
Scenarios
Domain Objects
Module Instances
Framework Objects
Parameters Parameters
Parameters
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Project Window Manages multiple types of building blocks in the project Available operations include: rename, duplicate, open,
delete, import, export
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Module Window
Software program, scenario, or code fragment to be executed by MIMS (e.g. SMOKE, CCTM, BASINS, MM5, Java code fragment)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Parameters A piece of information about a building block
– E.g. Input file, start date, run duration, AQM grid
Every parameter has an associated type.
Boolean Flag
Chemical Mechanism
Date
Directory
Distribution
Duration
File
Floating Point
Floating Point Series
Grid Family
Group
Integer
List
Long Integer
M3IO File
Regular Grid
String Choice
String
Typed File
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Group Parameter
Used to organize large numbers of parameters E.g. Scenario File Management Parameters
– Note: parameter language used for some values
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Special Parameter GUIs Some parameters have special GUIs (e.g. Chemical
mechanism, Grid Family, Distribution)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Domain Object Window
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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.
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Module Instance
Unchangeable copy (except parameter values) of the module for a single application
Parameter values set independently from other instances
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Scenario Window
•Both tree and directed graph views are supported (Data flows along the arrows)
•Execution status is show in circular icons
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Scenario Parameter Values
Accessible to all Domain Objects and Module Instances (thus good for global information)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
Example Models-3 ProjectProject: Demo
Module: SMOKE
Parameters
Domain Object: Ground
Parameters
Process: Emit
Scenario: Air Trial
Domain Object: Ground
Module Instance: SMOKE
Scenario Parameters
Parameters: InvFiles, Met.ncf,
Emis.ncf
Module: MM5
Parameters
Domain Object: Air
Parameters
Process: Evolve Meteorology
Process: Evolve Trace Concentrations
Parameters
Domain Object: Air
Module Instance: MM5
Parameters: InitFiles, Met.ncf,
Emis.ncf, Time Period, Conc.ncf
Module Instance: CCTM
Module: CCTM
Parameters
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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.)
_____________________________________________________Introduction to MIMS
___________________________________________________Carolina Environmental Program
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