_____________________________________________________Introduction to MIMS...

28
_____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program An Introduction to the Multimedia Integrated Modeling System (MIMS) Examples for Integrating Environmental Models Kim Hanisak April 21, 2004

Transcript of _____________________________________________________Introduction to MIMS...

Page 1: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________Introduction to MIMS

___________________________________________________Carolina Environmental Program

An Introduction to the Multimedia Integrated Modeling System (MIMS)

Examples for Integrating Environmental Models

Kim HanisakApril 21, 2004

Page 2: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 3: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 4: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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)

Page 5: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 6: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 7: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 8: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 9: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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)

Page 10: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 11: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 12: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 13: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________Introduction to MIMS

___________________________________________________Carolina Environmental Program

Special Parameter GUIs Some parameters have special GUIs (e.g. Chemical

mechanism, Grid Family, Distribution)

Page 14: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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)

Page 15: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________Introduction to MIMS

___________________________________________________Carolina Environmental Program

Domain Object Window

Page 16: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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.

Page 17: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 18: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 19: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 20: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________Introduction to MIMS

___________________________________________________Carolina Environmental Program

Scenario Parameter Values

Accessible to all Domain Objects and Module Instances (thus good for global information)

Page 21: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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)

Page 22: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 23: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 24: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 25: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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

Page 26: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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)

Page 27: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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.)

Page 28: _____________________________________________________Introduction to MIMS ___________________________________________________Carolina Environmental Program.

_____________________________________________________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