Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Management Interface (DMI) Enhancements Overview Bill Oakley.

Similar presentations


Presentation on theme: "Data Management Interface (DMI) Enhancements Overview Bill Oakley."— Presentation transcript:

1 Data Management Interface (DMI) Enhancements Overview Bill Oakley

2 DMI Enhancements New features New features Solicited from users Solicited from users Internal changes Internal changes Determined by developers Determined by developers Motivated by new features Motivated by new features Improve code (extensibility, maintainability, performance) Improve code (extensibility, maintainability, performance)

3 DMI Enhancements Import data at any date within a timeseries Import data at any date within a timeseries Allow a new keyword, data_date, in the DMI control file: data_date: 1996-01-09 12:00 Allow a new keyword, data_date, in the DMI control file: data_date: 1996-01-09 12:00 data_date must be within the timeseries start and end dates data_date must be within the timeseries start and end dates

4 DMI Enhancements Import data from multiple data files from a single control file entry Import data from multiple data files from a single control file entry Allow multiple file= keywords Allow multiple file= keywords Imported from left to right Imported from left to right All data files (except perhaps one) should use the new data_date keyword All data files (except perhaps one) should use the new data_date keyword All data files must be in the same scale and units All data files must be in the same scale and units

5 DMI Enhancements Improved handling of timestep keyword Improved handling of timestep keyword Silently ignored unless its value differs from the timeseries value, in which case an error is reported Silently ignored unless its value differs from the timeseries value, in which case an error is reported

6 DMI Enhancements Portable DMI definitions (available in 4.3) Portable DMI definitions (available in 4.3) Allow environment variables in control file path and executable path in DMI definition Allow environment variables in control file path and executable path in DMI definition Allow environment variables in control file entries Allow environment variables in control file entries Convert file paths (e.g. ‘/’ to ‘\’) as necessary Convert file paths (e.g. ‘/’ to ‘\’) as necessary Windows support for non-native executables (Perl and Tcl) Windows support for non-native executables (Perl and Tcl)

7 DMI Enhancements Select user-defined parameters in batch mode Select user-defined parameters in batch mode Extend Rcl syntax to include user-defined parameters: InvokeDMI keyword=value InvokeDMI !keyword Extend Rcl syntax to include user-defined parameters: InvokeDMI keyword=value InvokeDMI !keyword

8 DMI Enhancements Complete wildcarding in control files Complete wildcarding in control files Current wildcarding is limited to: Current wildcarding is limited to: Concrete simulation object types (e.g. LevelPowerReservoir ) Concrete simulation object types (e.g. LevelPowerReservoir ) Slot types (e.g. SeriesSlot ) Slot types (e.g. SeriesSlot ) Add wildcarding for: Add wildcarding for: Abstract simulation object types (e.g. Reservoir ) Abstract simulation object types (e.g. Reservoir ) Account types (e.g. StorageAccount ) Account types (e.g. StorageAccount ) Account attributes (e.g. water type) Account attributes (e.g. water type)

9 DMI Enhancements Complete wildcarding in control files (cont) Complete wildcarding in control files (cont) Add wildcarding for: Add wildcarding for: Supplies Supplies Supply attributes (e.g. release type) Supply attributes (e.g. release type) Exchanges Exchanges Paybacks Paybacks

10 DMI Enhancements Workspace DMI quick-pick button Workspace DMI quick-pick button Move DMI from “Utilities” menu to its own menu: Move DMI from “Utilities” menu to its own menu:

11 DMI Enhancements Workspace DMI quick-pick button (cont) Workspace DMI quick-pick button (cont) The “DMI” menu will contain a “Selector” menu item and per-DMI and per-group menu items: The “DMI” menu will contain a “Selector” menu item and per-DMI and per-group menu items:

12 DMI Enhancements Named DMI groups Named DMI groups Ability to define a group of DMIs, to be executed in order Ability to define a group of DMIs, to be executed in order Ability to “continue on error” Ability to “continue on error” Ability to determine DMI’s group membership Ability to determine DMI’s group membership Nested – groups can contain other groups Nested – groups can contain other groups

13 DMI Enhancements Graphical user interface for user-defined parameters Graphical user interface for user-defined parameters Ability to define parameters – name, type and valid values Ability to define parameters – name, type and valid values Boolean (or flag) Boolean (or flag) Integer, integer range, integer list Integer, integer range, integer list Double, double list Double, double list String, string list String, string list “Special” types (e.g. month, day of month) “Special” types (e.g. month, day of month)

14 DMI Enhancements Graphical user interface for user-defined parameters (cont) Graphical user interface for user-defined parameters (cont) Ability to select parameters – name and value Ability to select parameters – name and value Ability to export/import (share) parameter definitions Ability to export/import (share) parameter definitions “System” parameters (e.g. model, controller, ruleset, accounting period) “System” parameters (e.g. model, controller, ruleset, accounting period)

15 DMI Enhancements Graphical user interface for creating control files Graphical user interface for creating control files Ability to select any slot in the model (the “Grand Unified Slot Selector”) Ability to select any slot in the model (the “Grand Unified Slot Selector”) Ability to select slots using slot types and names, object types and names, and (where appropriate) object attributes Ability to select slots using slot types and names, object types and names, and (where appropriate) object attributes Ability to select the slots now (fully specified slot names) or in the future (wildcarding) Ability to select the slots now (fully specified slot names) or in the future (wildcarding)

16 DMI Enhancements Graphical user interface for creating control files (cont) Graphical user interface for creating control files (cont) Example – select “all reservoir inflow slots” Example – select “all reservoir inflow slots” Now – fully specified slot names BlueMesa.Inflow: Crystal.Inflow: … TaylorPark.Inflow: Now – fully specified slot names BlueMesa.Inflow: Crystal.Inflow: … TaylorPark.Inflow: In the future – wildcarding Reservoir.Inflow: In the future – wildcarding Reservoir.Inflow:

17 DMI Enhancements Graphical user interface for creating control files (cont) Graphical user interface for creating control files (cont) Ability to specify slot keywords: Reservoir.Inflow: file=… scale=… units=… Ability to specify slot keywords: Reservoir.Inflow: file=… scale=… units=…

18 DMI Enhancements Improved control file parsing (internal) Improved control file parsing (internal) Current parsing is “manual” if-then-else parsing; difficult to extend Current parsing is “manual” if-then-else parsing; difficult to extend New parsing will be Flex/Bison based New parsing will be Flex/Bison based

19 DMI Enhancements General improvements (internal) General improvements (internal) Remove data structures and methods made obsolete by development which postdates the original DMI development Remove data structures and methods made obsolete by development which postdates the original DMI development


Download ppt "Data Management Interface (DMI) Enhancements Overview Bill Oakley."

Similar presentations


Ads by Google