Explorer
Organizing models and scenarios¶
Models are conveniently arranged in groups and subgroups. Groups and subgroups can be created and renamed, and subgroups can be moved between groups, similar to the way files are managed in folders.
Create a new model group¶
Description | Illustration |
---|---|
Create a new model group by right clicking on an existing group, and select New Group from the context menu. The new model group is created as a subgroup under the group that was selected. |
|
The new model group will by default either be called New Group or New Sub Group. The new model group will initially be editable and you can type an appropriate name. |
Rename a group¶
Description | Illustration |
---|---|
An existing model group can always be renamed. Right-click on the group and select Rename from the context menu. |
|
The model group name becomes now editable, and a new name can be entered. |
Working with models¶
A model consists of a number of Model Objects. A model object is typically a physical entity represented in the model, such as a reservoir, a river branch, a catchment, water user node etc. The types of available model objects depend on the type of model (simulation package). The model objects are organized in model object groups.
Example of a Model Object Groups:
Example of Model Objects within a Model Object Group:
To each model object is attached a number of variables, which describes the property of model object, e.g. reservoir characteristics for a reservoir. The variables may be a parameter (e.g. the initial water level in a reservoir) or a variable (e.g. time series water demand for a water user node object).
The model object variables describe the properties of a model object. For a model created with MIKE BASIN, the model object representing a water user node will include the following variables, which includes both input data variables and output data variables (results).
Example of Model Variables of a model object:
The model set up, the model objects and the variables are presented in a data view section. The data view section consists of a map section in which the model topology is displayed (top), and an explorer section, where the model objects and variables are presented (bottom).
The explorer can be used to drill down into the model hierarchy from model object to the variable information. The location in the hierarchy is illustrated by a bread crumb control on the top of the explorer.
View basic model properties¶
Description | Illustration |
---|---|
Click on the model in the explorer to view the general properties of a model. The properties are now displayed in the Properties control. The properties include information about: (editable) |
View model properties in the data view¶
Description | Illustration |
---|---|
Double click or right click and select Open from the context menu to view the model properties. Note: In the following the data view for models is called the model view In the map section is now shown the schematization of the model. In the Explorer section is now shown the model objects group Double-click on a Model Object Group to view a list of all model objects of a given type. (The name of the group indicates the type of model objects contained in the group). |
|
Double-click on a Model Object to view a list of all model object variables. Note: The bread crumb control which shows the current location in the hierarchy is in the Water user node group. To move back to the root of the explorer, click on a higher link in the bread crumb control. |
|
To view a model object variable, double-click one of the model objects in the list. The characteristics of the variable is shown in a Chart View |
|
Model object variables, e.g. an input variable, can be analyzed using one of the tools displayed in the Tool Explorer. Browse to the model object variable level. Select one or more input variables. Notice the tool explorer now gets populated with the tools that apply to the selected model object variable type (e.g. a time series). |
Working with Scenarios¶
A scenario can be created when a model is registered. This scenario contains the model properties the model had when it was registered. If a scenario was not created, a scenario can later be created by right-clicking on the model and select New Scenario from the context menu. This scenario is also identical to the model setup from which it was derived, and running this scenario will in most cases be used as a baseline scenario in the scenario analysis. It will be useful to give the scenario a name which illustrates its condition.
New scenarios can be created under the same model by selecting New Scenario from the model setup context menu. The scenarios can contain variations in input parameters and input variables to represent changed conditions, e.g. as shown below:
A Scenario is opened by double-clicking or selecting “Open” from the Scenario context menu. A Scenario data view, very similar to the Model setup data view, will be opened. Only the Model object / variables that deviate from the Model Setup will be shown, and hence, the model object explorer will initially be empty.
To create a variation compared to e.g. the baseline scenario, the model object variables to be varied are selected from the model setup data view and added to the scenario either by drag-and-drop from the model setup data view to the scenario node in the scenario explorer, or through the Include in scenario entry in the model object variable context menu. As soon as a variable has been added to a scenario it will appear in the scenario data view.
The value of a model object variable can now be edited either by dragging an existing time series from the time series explorer to the variable in the scenario data view, or to create and edit a copy of the original value using the Edit entry in the model object variable context menu.
Notice that only output variables that have been added to a given scenario will be available in the simulation results after executing a scenario.
Create a new scenario¶
Description | Illustration |
---|---|
Right click on the Model setup to create a new scenario from a model setup and select “New scenario” from the context menu. A new scenario node will be added under the model setup. |
|
The default name will be Scenario of \ Note: In the example shown here the Initially they have both the same variables as the model. |
Copy an existing scenario¶
Description | Illustration |
---|---|
A new scenario can also be created by copying an existing scenario. This is done by selecting an existing scenario from the scenario explorer and select “Copy” from the context menu. A new scenario is now added under the Model setup. By default the name will be *Clone of \ Initially, the new scenario will be an exact copy of the scenario that was copied. |
Open a scenario¶
Description | Illustration |
---|---|
Right-click on the scenario and select Open from the scenario context menu. A data view with the scenario properties will now appear: Note: In the following the data view for scenarios is called: scenario view |
|
The scenario view has the same design as the model view. It contains map section and an explorer section. Initially, the scenario view does not contain any model objects. These will be added manually to describe the scenario. |
Populate a scenario¶
Description | Illustration |
---|---|
The scenario should be populated with objects, which will have their variables changed compared to the basic model scenario. All other object variables remain unchanged compared to the basic scenario. The objects are retrieved from the model view. |
|
Go back to the model view The model view contains all the variables available for change. The variables can be added to the scenario by Right click on the variable and select the scenario where it should be included. Note: Only the output variables that are added to a scenario can be accessed after running a simulation. |
|
The variable can also be included in the scenario dragging and dropping it from the model object explorer to the scenario in the scenario explorer. Multiple variables can be dragged and dropped at the same time. To select more than one variable, hold the ctrl key while selecting the variables. The search functionality is useful for selecting multiple variables containing the same name, e.g. “water demand”. |
Edit model object variables¶
Description | Illustration |
---|---|
The model object variable can now be edited to create a variant compared to the base scenario. Otherwise it will remain unchanged compared to the model setup. One way to create a variation is to associate the variable to an existing time series of the same type as the original series, but having different values. This can be done by dragging a time series from the time series explorer to the model object variable in the scenario data view, |
|
The full path of the time series that has been associated to a variable can be seen in the fly-by text when holding the pointer above the variable. This is useful for checking that the right scenario contains the correct modified time series. |
|
Alternatively, a copy of the original model input time series can be created and edited: Right-click on a variable and select Edit to edit the time series. | |
A message will be issued informing the user where the copy will be located, and a copy of the time series will be opened in a table view. After editing: Click Save and close the table. |
Use Hierarchy tool¶
The Hierarchy tool allow the user to define the input timeseries of a scenario in a robust and user friendly way.
Note: this menu is only available if one or several timeseries are included in the scenario. The “Define Input Hierarchy” menu will be hidden if there is no timeseries to configure.
Right click on your scenario and select Define Input Hierarchy
A window opens listing on the left panel all the input timeseries defined in the scenario
Each input type has its timeseries represented in a separate tab (e.g. boundary, structures, catchment, data assimilation, etc.)
Note: To enable timeseries in a scenario you should add them from the model object
Select the timeseries to create rules for and click on the arrow
Note: Timeseries that are not included will not be edited because each run by the hierarchy. This means that either the timeseries is long enough and does not need edition or the timeseries is edited elsewhere (e.g. script, job, etc.)
Clicking on the Set rules for timeseries button to define each input timeseries
This allows the user to add rules.
Note: A rule is a succession of steps creating an input timeseries from several time series.
Rules should reflect different combination of input timesries
Note: Each line in the list corresponds to a specific way of creating a timeseries. The top rule is the best case scenario (typically all data are here). Then, going down the list, rules less and less restrictive will be defined (only observed is available, nothing is available, etc.)
A rule will be applied only if a rule with higher priority fails. This means that if a rule succeeds, the following rules are ignored.
For each of those cases, the corresponding timeseries to use should be defined by clicking “Configure”
The Full path to the time series in the time series manager should be entered.
The factor is a number. This will be used as a factor with which each timestep of the timeseries will be multiplied.
The ToValue is used when replacing values
Note: The image represent a case where the first timeseries (Flag1) will be used from 2 days before the Time Of Forecast (TOF), as defined by “From,” all the way to the TOF, as defined by “To”. This timeseries has a different time zone so the times are shifted by 1 hours (“Time Step”).
Then, from TOF to TOF+1 day, the second timeseries is used (Flag 2).
Finally from TOF+1 day to TOF+4 days, the last timeseries is used (flag 3)
For each timeseries, several functions can be applied:
-
None: raw timeseries used. TimeStep/Offset is added to time steps if specified.
-
Prefix: Makes time steps with the specified time step length with constant values (Factor/Value), prefixing the time series using the from and to dates.
-
Postfix: Makes time steps with the specified time step length with constant values (Factor/Value), post fixing the time series using the from and to dates.
-
value defined using the from and to time span.
This will make sure that timesteps are available in the specified period. -
RemoveTimeSteps: Remove time steps in the specified interval.
-
ReplaceValue: Replaces the specified value with the “To Value” in the specified interval.
-
FadeIn: Extend with a time series, fading in the difference in case of a gab. Time Step, defines the time step length of the time steps to extend with. “Value” defines the relative increase in value between each time step. Value=0 means that the fade in should be linear.
Fadein requires a time series. -
Constant: Make time steps with the specified length with the constant
The validity rules defines if the current generated timeseries is usable or not (i.e. the Rule is valid or not).
When assessing the validity of the timeseries, if it fails to fulfil the requirements, the “Rule” will return false and the next one in “Rule Prioritisation” form will be assessed.
Three rules are supported:
-
Need Hindacast: the generated timeseries should at least go from SOS to TOF
-
Need Forecast: the generated timeseries should at least go from TOF to EOS
-
Need Full Coverage: the generated timeseries should at least go from SOS to EOS. In this case the two other rules are checked (true) as well.
Once all timeseries of this particular rule are define, you should press “OK”. The Rule prioritization window shows and rule is tagged as Configured
Once all the rules are configures the button OK becomes available and Rule Prioritisation can be saved
Becomes:
Analyze model object variables¶
To analyze one or more model object input variables:
Browse to the variable or perform a search to get a list of the input variables. Select one or more input variables and select the tools in the Tool explorer to analyze the variable(s). Note:
The toolbox becomes available with the tools that apply to the selected model object variable type (e.g. time series).
Working with Simulations¶
Run a simulation¶
To carry out a simulation for a certain scenario:
Right-click on a Scenario node and select Run Simulation.
When running a simulation the scenario definition is used to set up the simulation input and the registered model is executed. When the simulation is successfully terminated, a new simulation node is created under the parent scenario. The simulation node contains the inputs and outputs of the simulation.
The name of the simulation will by default be: Simulation of \<Name of scenario> To change the name:
Right click on the node and select Rename.
View a simulation¶
To open a simulation:
Right-click on the simulation, and select Open from the simulation context menu.
A simulation data view, very similar to the scenario data views opens. Like the scenario data view, it consists of a map view and a model object explorer. Only variables that have been modified compared to the parent scenario are visible.
Analyze simulation input and output variables¶
To analyze one or more model object input variables, browse to the variables in the simulation object explorer, or perform a search to get a list of the variables. Select one or more variables. Note: The toolbox gets populated with the tools that apply to the selected model object variable type (e.g. time series). Select the appropriate tools to analyze the input variables.
Retrieving existing models¶
When registering a model, it will automatically appear in the Scenario explorer. However, after each restart of the shell, the scenario explorer will be empty until the existing model is retrieved from the database.
There are several ways to retrieve models which are convenient to use when a large number of models are stored in the database. The retrieval can be carried out using different search criteria. Search criteria are specified in the search control, which is located at the top of the Scenario Explorer.
The search control can be used in two modes, Quick Search mode and Assisted Search. To switch between modes, click the green arrow next to the search string text box:
Quick Search mode | Assisted Search mode |
---|---|
All types of queries can be performed in quick search mode, but for advanced queries it is recommended to use the assisted search mode to construct the search criteria.
Quick Search¶
By default, the search control will be in Quick Search mode. When in Quick Search mode, the control will consist of a single text box where the search string is specified. The simplest search that can be executed is a get-all search: Click without specifying any search criteria. Searches are by default performed on Model.Name. More advanced searches can be performed by typing in key-values pairs separated by commas as when the assisted search is used (see below).
Assisted search¶
In the Assisted search mode the control will expand. The search criteria text box will become read-only. By default, the Model.Name criterion will be enabled. To search for a model with a given name, type in the name and press:
Enter or click the search button .
The tree under the Model Setups group will get populated with the models that match the name search criterion.
More advanced criteria can be constructed:
Click on the Add criteria button, and select a criterion from the drop-down list
When new criteria are added, the corresponding search string is automatically constructed and displayed in the search string text box at the top of the control. When done, the search is executed by clicking the search button, and the Model Setups list will get populated with the models that match the specified search criterion.
The search functionality can be expanded to include scenario- and simulation properties.
Get all models¶
Description | Illustration |
---|---|
Click the green arrow to bring the search control in Assisted search mode, and type a “*” in the Model.Name field. Execute the search by clicking the search button, or press enter. All models will be listed in the tree below the control. Notice that the search string is created automatically in the read-only search string text box. |
|
To obtain the same result using the Quick search, switch to Quick search mode. The search string text box is cleared, and becomes editable. Now, type Model.Name:* in the search string field, and press enter. All models will be retrieved listed. Hint: As the quick search uses the Model.Name as default when no keyword has been supplied, the same result could have been obtained simply by writing “*” in the search field. Moreover, as this is a common search criterion, an empty search string is interpreted as Model.Name:* and hence when in quick search mode, all models can be retrieved simply by executing an empty search. |
Get models with specific names¶
Description | Illustration |
---|---|
Switch to Assisted search mode. If searching for a model with a specific name, type in the exact name in the Model.Name field, and execute the search. Only the models that have the specified name will be listed. |
|
To get all models that contains a certain text, use the “*” in the query. In the example shown here, the search will return all models that start with Blue Nile. Notice that the search string is automatically constructed. |
|
To obtain the same result using the Quick search, switch to Quick search mode. The search string text box is cleared, and becomes editable. Now, type Model.Name:Blue Nile* in the search string field, and press enter. All models that start with Blue Nile will be listed. |
Get models in specific groups¶
Description | Illustration |
---|---|
Switch to Assisted search mode. To get all models in a specific group, change the search keyword from Model.Name to Group.Name. This is done by selecting the new search keyword from the drop down list as shown here. |
|
Type in the group name, and execute the search In the example here, the search for “U*” will return all models that are located in groups starting with “U”. | |
To obtain the same result using the Quick search, switch to Quick search mode. The search string text box is cleared, and becomes editable. Now, type Group.Name:U* in the search string field, and press enter. All models that are located in groups starting with “U” will be listed. |
Combine search criteria¶
Description | Illustration |
---|---|
Switch to Assisted search mode. Multiple criteria can be combined in a single search by adding more “criterion boxes” to the search control. Click the “Add criteria” button, and select a search element (e.g. Model.Type). |
|
A new criterion box is added to the search control. Select one of the available model types, and execute the search. In the example given here, all model that has Detailed in the model name, and is of type MIKE BASIN will be returned. Note: The list of available models will depend on which model adaptors that have been installed. |
|
A criterion can be removed by selecting “Remove” from the criterion drop-down list. | |
To obtain the same result using the Quick search, switch to Quick search mode. The search string text box is cleared, and becomes editable. Now, type Model.Name:*Detailed*,Model.Type:MIKE BASIN in the search string field, and press enter. All the models that has Detailed in the model name, and is of type MIKE BASIN will be returned. |
Using Recent searches¶
Description | Illustration |
---|---|
To get a list of the most recent searches that was executed, switch to Assisted search mode. Click the button marked in the figure, and select a recent search string from the menu. When a search string is selected, the search is executed. |
Using saved search strings¶
Description | Illustration |
---|---|
Switch to Assisted search mode. Build a search string, and click the Save button. The search string will be saved and can be reused at a later time. |
|
To use a saved search string, click the button marked in the figure, and select a saved search string from the menu. When the search string is selected, the search is executed. |
Copy a model setup¶
Description | Illustration |
---|---|
A new model setup can be created by copying an existing model setup. This is done simply by selecting “Copy” from the Model setup context menu. |
|
A new model is added to the group of the model being copied. The default name is “Clone of \<Model being copied>” |
|
To rename the model: Select Rename from the model context menu, and type in a new name. |
|
To move the copied model to another group: Drag the model node to the new group. |
Search for model object variables¶
Description | Illustration |
---|---|
The model object explorer search functionality can be used to search for model object variables across model objects. Searches are always performed at the current level in the model object hierarchy and below. Hence, to search for model object variables in e.g. model objects of type Water users, enter the water user node object group, and perform the search from here, e.g. on the output variable Used Water |
|
To clear the search list and return to the model object group: Click the Clear search button. |
Copy an existing scenario¶
Description | Illustration |
---|---|
A new scenario can be created by copying an existing scenario. This is done by selecting an existing scenario from the scenario explorer and select “Copy” from the context menu. |
|
A new scenario is added under the Model setup. By default the name will be *Clone of \ The scenario can be renamed by selecting “Rename” from the context menu. Initially, the new scenario will be an exact copy of the scenario that was copied. |
Adapters¶
The MIKE WORKBENCH comes equipped with adapters for a couple for the DHI modeling tools. They are very similar but still different, so this chapter describes the specialties for each adapter as well as some best practices for preparing a model setup for registration with the MIKE WORKBENCH.
The modeling concept¶
A standard model setup¶
A model is a “black box”. It contains some proprietary configuration information describing the model setup. A model takes input time series and in some cases initial conditions as input to a new run. After a run we usually get Output time series, Logs, some other outputs (e.g. images, grids,…) and in some cases output states which can be
reused as initial conditions.
A MIKE WORKBENCH model setup¶
All the files in the above description are proprietary and specific to the model tool. The way the model setup files describe the physical (or conceptual) problem depends on the implementation done by the model tool developer – as well as the type of modeling tool.
For instance MIKE BASIN uses a node concept where different calculation entities in the model are expressed as nodes. The entire model is then constructed by connecting a set of different nodes, adhering to certain rules defined by MIKE BASIN. Another tool like MIKE 11 describes a different problem and does not use the same clear convention to describe the physics of the problem – the node concept is not as clear. A 2D model like MIKE 21 or 3D model like MIKE 3 is probably not possible to describe by nodes – like MIKE BASIN.
This makes it a challenge to construct a common system which shall work across model types. It calls for some generalization – which has the benefit of handling all types of models – and possibly the draw-back of not being specific in some areas for all models.
So the MIKE WORKBENCH uses an adapter concept which enables a common representation of any model setup and hides proprietary formatted files from the MIKE WORKBENCH. The adapter is responsible for conversion between the MIKE WORKBENCH data and the model data (see The adapter concept). I.e. the original model setup becomes a black box in its entirety.
The common representation used by the MIKE WORKBENCH is similar to the one used by MIKE BASIN, i.e. a set of nodes each having different parameters and each having input and output time series. But as opposed to the model tool the MIKE WORKBENCH cannot handle links between nodes (this lies with the proprietary modeling tool).
The data model for a model setup in the MIKE WORKBENCH looks like shown below. It illustrates that a model setup consists of a number of model objects (or nodes). Each node can have a number of input time series, may produce a number of output time series and/or a number of other outputs (e.g. images, text files). The entire setup may also have mode-wide outputs and may use initial conditions.
A model object may – in addition to the associated data types as shown – contain properties reflecting model settings or so-called model parameters. A model object may also reflect a geographic position.
The adapter concept¶
In order for the MIKE WORKBENCH to communicate in a standard way with different types of modeling tools the adapter concept is used. This means that a model can be registered in and controlled from the MIKE WORKBENCH if a piece of software is added to the MIKE WORKBENCH – the adapter – between the MIKE WORKBENCH business logic and the model setup/model tool specifics.
Each model tool has its own adapter.
The adapter shall ‘shield’ the model setup and proprietary files from the MIKE WORKBENCH, making the model setup appear like any other model setup to the MIKE WORKBENCH. The responsibilities of the adapter are in short:
-
Configuration
-
Describe the setup in MIKE WORKBENCH context (model objects, input/output time series, outputs, initial conditions)
-
Provide model setup data enabling the MIKE WORKBENCH to run the same model setup.
-
-
Runtime
-
Convert the input data provided by the MIKE WORKBENCH to proprietary formats (initial conditions, input time series)
-
Execute the model
-
Assess success/failure of the model run
-
Extract outputs to MIKE WORKBENCH format (new initial states, output time series, output data)
-
How to prepare a setup¶
The adapter shall ‘just’ parse the model setup pick up files and data and prepare the configuration input for the MIKE WORKBENCH. However, modelers tend to organize files and data differently which may give problems to some adapters.
The below bullets highlight a couple of recommendations which will reduce the number of problems which may be experience when registering a model:
-
Put the main model file (mdb, mxd, sim11, she, …) in the root folder of the setup and have all other setup files and input time series in the same folder or in sub-directories.
(it should be possible to copy the setup from the root folder to another location and still be able to run the model). -
Empty the directory structure for any unnecessary files – maybe the adapter will zip all files from the root and down…
-
The setup to be registered only needs enough input data to run for a short period, i.e. reduce the size of input files and result files (initial conditions) before registration.
-
If possible avoid strange characters (special language characters) in file names, station names, item names etc.
-
Consider the projection of the setup. It should be one of the projections supported by the MIKE WORKBENCH. A good test is to try first to import shape files or similar directly into the MIKE WORKBENCH via GIS Manager to verify if they are supported
-
Make single item time series files if possible. The MIKE WORKBENCH will provide data series data one by one. If the input time series files contain multiple items per (dfs0-) file, the adapter is then responsible for synchronizing the data series before writing the items in the file in the right order. This potential interpolation is avoided if files have only one item each.
-
Register a model setup WITH result files. i.e. run the model prior to registration. Only then can the adapter validate the potential outputs.