Tool interface description

The tool should enable its users to model a local energy system (like an industry park or a district) with the possibility to include sector-coupling. This web-based tool is thought for planning purposes and not operation. It should allow the user to optimize the energy system model subject to equality constraints.

The optimization is taken care of in the backend with the oemof framework. The role of the interface is thus to gather the necessary input parameters and to provide a vizualization of the outputs.

It is wished that this interface helps several actors with different perspectives and backgrounds to run scenarios or re-run scenarios changing only a few input parameters, compare their results with other scenarios and possibly engage in a dialogue.

One way to fullfill this wish, is to design the tool’s interface collaboratively: by inviting different actors in a dialogue about the interface’s functionalities before implementing the interface itself.

We start by defining a few concepts which come handy when describing the interface and what the users will be able to interact with and see. One of these concepts is the view-component, it is analoguous to a building block we can use to describe (and then implement) the user interface functionalities in a modular way.

It is possible to deploy an interactive presentation of the views made with the help of the view-component by following these step

We welcome feedback.

Concepts definition

In order to describe the interface, a few definitions are required at first.

action

An action describes what the user can do in a certain view or view-component. Each action has an index which is used to link it to an attribute.

Example: [index] The user can click on button B to trigger action C

attribute

An attribute contains the essential information needed to characterize and render a view or a view-component. An attribute might be visible in the view or view-component but it can also just be information. An attribute can be linked to a certain number of action and to certain requirement.

energy type

An energy type is represented by a bus. It describes the energy carrier for an energy sector: heat, electricity, gas, biomass, H2O.

main window

It is the window from which the user can interact with the open_plan tool on their computer.

project

A project is a collection of one to n scenarios regrouping all the inputs and a local copy in a folder of all necessary files for the optimization. A project name and a project ID must be assigned when creating it. A project can also be used for a simple scenario comparison.

requirement

A requirement describes specific conditions that need to be met. Requirements can be used for a view, a view-component, an action or an attribute. Each requirement has an index to link with it’s attribute.

scenario

A scenario holds all the input data for an energy system. Once the optimization is done, the ouput data will be available in the same scenario.

view

Description of a given state of the user interface: what should the user be able to interact with in that view, which other view can the user visit from the current view. The collection of views form together the user interface. Note: the view does not describe how the interface looks like to the user, this is described in the view-rendering.

view-component

A view-component is a part of a view which can be described independently from the view and could be reused in different views (a menu bar for example). A view-component is described in terms of its attributes and its actions. For example a menu bar has a nested list of items (each item can itself be a list of item: submenus). Each item, if not itself a list, consists of a label (what the user will see) and an action (what will be done upon clicking/selecting the item).

view-rendering

Description of how a view or component-view will be rendered on the screen. This belongs to frontend and is where the details about color, size, font, placement on screen matter. For example a menu bar which is a view-component can have many different view-rendering (horizontal with buttons, expandable vertically only on hover, etc.).

widget

Smaller window within the tool’s main window. A widget can be moved around by the user within the main window and collapsed into another widget (then each widget is accessible via tabs).

Views definition


Landing

Attributes

There are no attributes specific to the landing view.

Active view-components

Actions

There are no actions specific to the landing view, the possible actions are already defined in the various view-components

Requirement

  • the very first time the user sees this view, the Welcome page view-component should be displayed (popup, or integrated to the view)

Rendering of the view

There are currently 2 types of rendering proposed:

minimalistic:

The user is only prompted to “build your own energy cell”

expert mode:

Most of the menu and flow charts are displayed in widget windows


Scenario Comparison

The output comparable on the “scenario comparison view” will be determine with oemof and the input/output excel file

Attributes

List of scenarios

Different comparison points

  • Technical

  • Financial

  • Ecological

Active view-components

Actions

List of scenarios

  • The user can select which scenario he would like to compare.

Different comparison points

  • Technical: Based on the technical output of the simulation

  • Financial: Based on the financial output of the simulation

  • Ecological: Based on the ecological output of the simulation

Save comparison

  • Allows the user to save their comparison in the tool.

  • Makes a pop up appear where the user has to select a name for his comparison.

Export comparison

  • Allows the user to save his comparison in different format (PDF, csv, …?)

Import scenario

  • Allows the user to import one or more scenario

Requirement

Link with other views

Rendering of the view

Two possible views

  • As a table

  • As a plot

View-components definition


Welcome page

This view-component is an introduction for the first-time users. It describes what they can expect from the tool.

Attributes

Welcome message
  • A text

Video intro message
  • A short, 3 minute video clip that provides the important information such as tool features, capabilities, where to find help, etc., very briefly.

  • This clip is embedded into the welcome pop-up. The user can view it on YouTube (or Vimeo) on a separate tab of the browser by clicking on a link on the video.

List of Hyperlinks

Clickable links to read more, documentation, examples, use-cases, video tutorials, code-base (GitHub repo) and contact us.

Action index: 1

Check-box: do not show again

Disable/enable the display of the welcome view-component when tool is started.

Properties:
  • id cb_welcome_show_again

  • unticked by default

Action index: 2

Actions

  1. Clicking on the hyperlinks will open the respective topic in separate tabs of the browser.

  2. Checking the Do not show again check-box would disable the display of this view component everytime the software is launched.

  3. The user can close the welcome window by clicking the X button in the top right corner.

Requirement

  1. By default, the welcome view-component should be displayed to the user everytime the software is started.

  2. If the user ticks the check-box Do not show again, the welcome view-component should not appear to the user during any subsequent launch of the tool.

Link with other views

This window is displayed by default on top of everything every time the tool is launched.

Rendering of the view-component

This view-component could be either a popup on top of the landing-view, widget in the landing view or a view on its own.

The welcome message should be centered and not contain very long text, but rather bullet points with links to more detailed documentation. The video should be placed on the top left of the view-component and start automatically without the sound.

Below the welcome message the hyperlinks could be listed and centered.

The Do not show again check-box can be displayed on the bottom of the view-component (bottom-left?) with larger fontsize such that the user cannot miss it. It should be unticked by default.


Progression Bar

The Progression Bar displays the sequential steps the user should go through, in order to provide the input parameters required to describe an energy system and a Scenario to simulate with this energy system model

This view-component allows the user to:

  • Sequentially progress through the modeling and definition of their Scenario

  • Jump directly to previous steps to edit input parameters

Attributes

List of steps

For example the following steps:

  1. Project Setup

  2. Inputs

  3. System Inputs

  4. Visualization

  5. Constraints

  6. Simulations

  7. Results

Properties:
  • Each step has an associated index (starting from 1), corresponding to its position in the list of steps

  • Each step in the progression bar is a link to a view

Actions index: 1, 2

Current step index

The index of the currently selected step

Requirements index: 1

Actions

  1. Clicking on a step that has already been fulfilled, allows the user to make modifications to the inputs within this field

  2. Clicking on a step which is disabled, make a small text bubble appear next to the step explaining why the user cannot click on that step

Requirement

  1. To enable the next step, the user has to fulfill the requirements of the current step. Each step’s requirements are defined in its respective view

Link with other view-components

Menu Bar

Rendering of the view-component

  • Ribbon-like display of the progression bar where each step is delimited by an individual blob, the structure is identical throughout the different views. The term blob is employed to signify that the shape is up to a decision (non-exhaustive list of examples: a rectangle, an ellipse, a circle, an arrow)

  • Indication of the steps order could be with arrow shaped blob, or with arrow symbols between the blobs

  • Color coding of the blobs backgrounds can be used to indicate whether the step has already be visited, is not fulfilled yet, disabled or enabled

  • The progression bar could be horizontal or vertical (it is assumed from left to right and top to bottom, but this can be debated)

Here is an example of one possible rendering, please note that this is not a final design, only an example

An example of the proposed rendering of the Progression bar

Create project

This is not described yet

Attributes

Attribute A

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Attribute B

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Actions

  1. Action 1

  2. Action 2

Requirements

  1. Requirement 1

  2. Requirement 2

Link with views

<view1>-label

Description of the link

<view2>-label

Description of the link

Link with other view-components

<view_component1>-label

Description of the link

<view_component2>-label

Description of the link

Rendering of the view-component


Load project

This is not described yet

Attributes

Attribute A

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Attribute B

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Actions

  1. Action 1

  2. Action 2

Requirements

  1. Requirement 1

  2. Requirement 2

Link with views

<view1>-label

Description of the link

<view2>-label

Description of the link

Link with other view-components

<view_component1>-label

Description of the link

<view_component2>-label

Description of the link

Rendering of the view-component


Create Scenario

This view-component enables the user to create a new Scenario.

Attributes

Scenario name text input

The user can provide a file path for the scenario they want to create

Actions index: 2

Requirements index: 1, 2, 3

button Browse

Triggers the selection the scenario name text input via a graphical file structure

Actions index: 1

Requirements index: 1, 2, 3

button Create

The user triggers the creation of the scenario

Actions index: 3

Requirements index: 4, 5, 6

Actions

  1. User can navigate through the file system either graphically to input scenario name by clicking on Browse

  2. User can input scenario name in the input text

  3. After clicking on Create, a scenario is created in the backend, in the file system and the user is redirected to the view corresponding to the first step in the Progression Bar

Requirements

  1. If user only provided a name and not a file path, then the scenario file/folder is created in a default location

  2. If user provided a scenario file/folder path which does not exist yet, the missing folders in the path should be created

  3. If user provided a scenario file/folder path which exists already, it should be warned and given the option ot overwrite or not

  4. After the user clicked on Create, they must still be able to create another scenario through this view-component if they wish it

  5. When a new scenario is created, it should be assigned a unique id in the backend

  6. When a new scenario is created, it should be possible for the user to access and edit its input parameters

Link with views

Landing

It should be possible to trigger the display of this view-component from the landing view

<view1>-label

After clicking on Create, the user is redirected to the view corresponding to the first step in the Progression Bar TODO add link to this view

Link with other view-components

Menu Bar

It should be possible to trigger the display of this view-component from a sub-menu of the Menu Bar

Rendering of the view-component

Browse is on the right of the text input, the Create is centered on the next line below


Load Scenario

This view-component enables the user to load a Scenario.

Attributes

Scenario name text input

The user must provide a file path for the scenario they want to load

Actions index: 2

Requirements index: 1, 2, 3

button Browse

Triggers the selection the scenario name text input via a graphical file structure

Actions index: 1

Requirements index: 1, 2, 3

button Load

The user triggers the creation of the scenario

Actions index: 3

Requirements index: 4, 5, 6

Actions

  1. User can navigate through the file system either graphically to input scenario name by clicking on Browse

  2. User can input scenario name in the input text

  3. After clicking on Load, a scenario is created in the backend with loaded parameters. The user is redirected to the view corresponding to the last step before running the simulation in the Progression Bar

Requirements

  1. If user provided a scenario file/folder path which does not exist yet, an error message should be displayed

  2. If user provided a scenario file/folder path which exists already, it should be warned and given the option ot overwrite or not

  3. After the user clicked on Load, they must still be able to load another scenario through this view-component if they wish it

  4. When a scenario is loaded, it should be assigned a unique id in the backend

  5. When a scenario is loaded, it should be possible for the user to access and edit its input parameters

Link with views

Landing

It should be possible to trigger the display of this view-component from the landing view

<view1>-label

After clicking on Load, the user is redirected to the view corresponding to the last step before running the simulation in the Progression Bar TODO add link to this view

Link with other view-components

Menu Bar

It should be possible to trigger the display of this view-component from a sub-menu of the Menu Bar

Rendering of the view-component

Browse is on the right of the text input, the Load is centered on the next line below


Input Parameter Field

This view-component enables the user input appropriate data in different views.

Attributes

Label

Name of the parameter which would be displayed close to the input field

Input Type

Type of input parameter. One of int, float, str, array of int, float or str, matrix of int or float, timeseries (an array with timestamp mapped to each values), csv file

Requirements index: 1

Input Unit

Unit of the input parameter

Actions index: 4

Requirements index: 5

Input Field

An interactive GUI element via which the user can provide a value to the input parameter.

It depends on input type in the following way

Numbers

Input type

Input field

int

Text input

float

Text input

str

Text input

str

Text input

array

Load input data-series

matrix

Load input data-series

timeseries

Load input data-series

csv file

Load input data-series

Requirements index: 1

Default/Placeholder Value

The default value provided for each input parameter

Actions index: 1

Link to Documentation

Hyperlink that leads the user to the full documentation of the input parameter TODO: add link to RTD here

Actions index: 3

Helper icon

An image which can be used for rendering of this attribute

Properties:
  • path to the icon file

Actions index: 2

Helper Text

A brief description of the parameter with the type of inputs and specifications, if any.

Actions index: 2

Boolean Mandatory Input

If true, the parameter must be defined by the user

Requirements index: 2, 3

Actions

  1. User can overwrite the default/placeholder value in the input field by a simple click

  2. User can get brief information about the input parameter by hovering on the helper icon

  3. User can directly navigate to the relevant sections of the documentation by clicking on the documentation link below the helper text (action 2. need to be performed before this one)

  4. User can choose unit amongst a list of generic units, or input it by typing it in. (this is known as an editable combo box)

Requirements

  1. The field must change depending on the type of the input. Some inputs could just be one numeric value, while others might be a series of values in the form a CSV file

  2. For mandatory input fields, the fields must be denoted by an asterisk adjacent to the field

  3. If the user does not provide input for a mandatory field and tries to proceed further, the field should be highlighted so as to alert the user

  4. The default/placeholder values for which the user has not provided any own-input must be rendered differently than the values in input fields with input objects supplied by the user

  5. The physical units which are commonly used for energy and power should be available there (then converted internally to Joule and Watt)

Link with views

Link with other view-components

Project parameters

Scenario parameters

Rendering of the view-component

The label is placed above the input field and the helper icon to the right of the label. The helper text is displayed in a tooltip when user hover over the helper icon. The link to documentation should be at the bottom of the tooltip with the text “More details…”. The rendering of the input field is either a text input or a Load input data-series. The parameter unit editable combobox is placed next to the input field. An asterisk is placed next to the label (between label and helper icon) if the parameter input is mandatory.


Load input data-series

User loads a file containing a data-series as input for a relevant parameter and is able to quickly visualize the data.

Attributes

Label

Name of the parameter which would be displayed close to the input field

Input field

Actions index: 1

Requirements index:

Input Unit

Unit of the input parameter

Actions index: 1

Requirements index: 2

Load File button

Actions index: 2

Requirements index:

Visualize Data button

Actions index: 3

Requirements index:

Boolean Mandatory Input

If true, the parameter must be defined by the user

Requirements index: 3, 4

Actions

  1. User can directly provide the path of the file to be loaded as text in the text field

  2. Clicking on Load File button will open a pop-up window (link the vc (TBD) link here)

  3. Clicking on the Visualize Data button will open a pop-up window with a table and plot of the data-series Visualize data-series

  4. User can choose unit amongst a list of generic units, or input it by typing it in. (this is known as an editable combo box)

Requirements

  1. All parameters that require a data-series must be given input through this view-component

  2. The physical units which are commonly used for energy and power should be available there (then converted internally to Joule and Watt)

  3. For mandatory input fields, the fields must be denoted by an asterisk adjacent to the field

  4. If the user does not provide input for a mandatory field and tries to proceed further, the field should be highlighted so as to alert the user

  5. The Load File and Visualize Data buttons should be present adjacent to the Input Field

Link with views

<view1>-label

Description of the link

<view2>-label

Description of the link

Link with other view-components

Input Parameter Field

Both the view-components share some attributes

<view_component2>-label
Visualize data-series

A pop-up window displaying a sample of the input data-series file with a plot of the data alongside

Rendering of the view-component


Scenario parameters

Inputs parameters to describe a Scenario. They do not contain the information about the energy system, which is defined in the es_network view-component.

Attributes

List of input parameters

Each input parameter will be available to the user via Input Parameter Field

Properties of each input:
  • Input type

  • Input default value

  • Help text

  • If it is mandatory or optional

  • Link in documentation

You can browse through the list of different input parameters

Actions

  1. User can edit the value of the input parameters manually.

  2. User can edit the value of the input parameters by loading a scenario from Load Scenario

Requirement

  1. The requirements of Input Parameter Field apply for each input parameter

Link with other view-components

Rendering of the view-component

The rendering of Input Parameter Field apply for each input parameter


Project parameters

Inputs parameters to set the context of the project.

Attributes

List of input parameters

Each input parameter will be available to the user via Input Parameter Field

Properties of each input:
  • Input type

  • Input default value

  • Help text

  • If it is mandatory or optional

  • Link in documentation

As the parameters in this list should also be accessible in a more general parameter documentation in ReadTheDocs, they will be automatically listed here from either a .yml or csv file.

The following inputs stay here for the moment and will be reformated then

  • Localisation
    The geographical localisation of the project.
    This can allow to download appropriate dataset.
  • Project lifetime

    This can be used for calculations?

  • Weighted Average Cost of Capital

    This can be used for calculations?

  • Project name

    Give a name to that project.

  • Project description (optional)

    Give a short description of the project

Actions

  1. User can edit the value of the input parameters manually.

  2. User can edit the value of the input parameters by loading a project from Load project

Requirement

  1. The requirements of Input Parameter Field apply for each input parameter

Link with other view-components

Rendering of the view-component

The rendering of Input Parameter Field apply for each input parameter


Energy sector selector

The user can choose which energy type they would like to use in their energy system. This choice will impact which components of the energy system model are available.

Attributes

list of available energy sectors

Contains the possible energy sectors a user can choose from

Properties:
  • id es_sector_avail_list

  • each sector has an associated energy type

  • each sector has an associated icon

list of selected energy sectors

Contains the choices selected by the user from the es_sector_avail_list

Properties:
  • id es_sector_select_list

  • each sector has an associated energy type

  • each sector has an associated icon

list of connection between selected energy sectors

Indicates whether there is a coupling between two sectors

Properties:
  • id es_sector_coupling_list

  • each element is a list of two interconnected sectors

  • an empty list means that all sectors are independent from each other

Actions

  1. The user can select the sector they want to include in their energy system model from the es_sector_avail_list by clicking on the list item

  2. The user should be able to indicate if two sectors are interconnected (could be clicking on greyed-out line connecting sectors visually)

Requirement

  1. Any es_sector_select_list item has to be an item of es_sector_avail_list.

Link with other view-components

Energy System network

Only es_component compatible with the selected energy sectors can be included in the energy system

Rendering of the view-component

Each sector in the list is represented by its icon. The energy sectors in the es_sector_select_list are rendered in color and the remaining energy sectors (in es_sector_avail_list but not in es_sector_select_list) are rendered in shades of grey. Each sector is visually connected to all the other sectors by a greyed-out line (no active sector coupling). If the line is display in bright color (e.g. after an activating click on it by the user) it means the two sectors are interconnected directly.


Energy System network

This view-component will help the user to define their energy system model

Attributes

list of energy busses

A list of energy busses

Properties:
  • id: es_bus_list

  • each bus has a unique id

  • each bus has an associated energy type

Actions index: 1, 2, 4

Requirements index:

button Add bus

Linked to the action of adding a bus to the es_bus_list

Properties:
  • id add_es_bus

Actions index: 1, 5, 6

Requirements index:

button Remove bus

Linked to the action of removing a bus from the es_bus_list

Properties:
  • id remove_es_bus

Actions index: 2, 3

Requirements index:

list of energy system component

A list of energy system components

Properties:
  • id: es_component_list

Actions index: 1, 2, 4

button Add component

Linked to the action of adding an energy system component to the es_component_list

Properties:
  • id add_es_component

Actions index: 1, 5, 6

Requirements index:

button Remove component

Linked to the action of removing an energy system component from the es_component_list

Properties:
  • id remove_es_component

Actions index: 2, 3

Requirements index:

Draw area

Area where the user could drag and drop components and connect them, or simply see a rendering of the energy system graph withtout being able to interact with it

Properties:
  • id network_schema

Actions index: 4.

Requirements index:

Text area

Displays potential error messages arising from wrong configuration of energy system network or single energy system component

Properties:
  • id error_log

Actions

  1. Clicking on the add es_bus/add es_component button adds a Bus or an energy system component to the es_bus_list/es_component_list, respectively.

  2. Clicking on the remove_es_bus/remove_es_component button removes the currently selected Bus or energy system component from the es_bus_list/es_component_list, respectively.

  3. Clicking on the remove_es_bus/remove_es_component button when no Bus or energy system component is currently selected sends a log message to the error_log.

  4. Selecting a bus or an energy system component in es_bus_list, es_component_list or in network_schema allows the user to visualise and/or edit its properties in another view-component.

  5. When a the user add a Bus or energy system component by clicking on the add_es_bus/add_es_component, they can visualise and/or edit its properties in another view-component.

  6. When a the user add a Bus or energy system component by clicking on the add_es_bus/add_es_component, they can to see it in the network_schema.

Requirements

  1. If not defined by the user, an additional Sink component to dump excess energy flow is defined and connected automatically to one Bus in the energy system network

  2. If not defined by the user, an additional Source component to provide slack energy flow is defined and connected automatically to one Bus in the energy system network

  3. notifications informing the user about potential problems with their energy system model should be displayed in the error_log text area. Problems could be such as a failure to meet any of the other requirements, an undefined property value of an energy system component, or a Bus without connection to another energy system component

Link with other view-components

Energy system component

Rendering of the view-component

The buttons need to be visible at all time, as the selection of energy system components or Busses can be done either from the lists es_bus_list, es_component_list or from network_schema, they do not necessarily need to be seen at the same time (they could be side by side or accessible via tabs)


Energy system component

Define the view a user has when creating or editing a component of its energy system

Attributes

Energy type

ref:energy-type-def linked to the different energy sectors (e.g. heat, electricity, …)

Component type

Can be one of [Source, Sink, Transformer, Storage, Bus]

Unique id

A positive integer number to identify the component uniquely within the list of energy system components of the Energy System network

Icon

An image which can be used for rendering of the view-component

Properties:
  • path to the icon file

Actions index:

Requirements index:

Input energy flow

A list of other components’s ids which are connected to this component and provide it with energy

Requirements index: 1, 5, 6

Output energy flow

A list of other components’s ids which are connected to this component and drain energy from it

Requirements index: 1, 5, 6

Actions

  1. Double-clicking on the rendering of the energy system component allow the user to edit its attributes (except id)

Requirements

  1. As long as the energy system component is not connected correctly to another energy system component the Icon-frame is displayed in another colour

  2. An energy system component which is not of component type Bus can not be connected to another energy system component, which is not of component type Bus

  3. An energy system component which is not of component type Bus, should have at least one connection to an energy system component of component type Bus

  1. An energy system component of component type Sink has a connection to Input energy flow, but no connection to Output energy flow

  2. An energy system component of component type Source has a connection Output Energy flow, but no connection to Input energy flow

Link with views

It is currently not directly linked to a view

Link with other view-components

Energy System network

The component is inserted within the energy system model described in this other view-component

Rendering of the view-component

This energy system component can be rendered as a list item within Energy System network’s es_component_list attribute or via its icon within Energy System network’s network_schema attribute.


Export project

This is not described yet

Attributes

Attribute A

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Attribute B

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Actions

  1. Action 1

  2. Action 2

Requirements

  1. Requirement 1

  2. Requirement 2

Link with views

<view1>-label

Description of the link

<view2>-label

Description of the link

Link with other view-components

<view_component1>-label

Description of the link

<view_component2>-label

Description of the link

Rendering of the view-component


View Specific Documentation

This view-component lets the user access the specific sections of the documentation directly from within the tool UI. It serves as a tooltip for input parameters.

Attributes

Scroll Bar

This bar lets the user navigate the documentation content

Actions index: 1

Requirements index:

Side navigation pane

This navigation pane is akin to a table of contents and lets the user jump to other sections of the documentation quickly

Actions index: 2

Content

Content of the documentation such as text, images, hyperlinks, etc., to be rendered

button Download PDF

Clicking this triggers the download of a pdf of the documentation

Actions index: 3

Requirements index:

Actions

  1. User can scroll through the documentation using the scroll bar

  2. User can jump to other sections of the documentation using the links in the navigation pane

  3. User can click on the Download PDF button to obtain a local copy of the documentation

Requirements

  1. User must be able to open this view-component through clicking on links next to various elements in other views/view-components

Link with views

Link with other view-components

Welcome page

First view-component on the landing view of the tool, seen by the user. Contains link to documentation

Input Parameter Field

Generic view-component that describes the fields where user inputs are necessary

load_input_parameter-label

Description of the link

Scenario parameters

View-component where the user inputs the scenario-specific parameters

Project parameters

View-component where the user inputs the project parameters

Rendering of the view-component

This view-component could either be a pop-up on top of the view the user is currently in, or as a new tab on a browser window opening relevant sections of readthedocs directly


Visualize data-series

This view-component helps the user visualize the dataset they load into the tool in order to cross-check for any issues with the provided dataset.

Attributes

Head of the data-series

Properties:
  • First few rows and columns of the data-series are displayed in a tabular form

Plot of the data-series

Properties:
  • Rendered as an image alongside the table showing the first few columns and rows of the data-series

Actions

Requirements

  1. User should be able to close the pop-up window and re-open it by clicking on “Visualize Data” button in view-component Load input data-series

Link with views

<view1>-label

Description of the link

<view2>-label

Description of the link

Link with other view-components

Load input data-series

Current view-component is only accessible through attributes of the linked view-component

Rendering of the view-component

Rendered as a pop-up window


Map with Project Location

A rectangular container that contains an interactive map.

This can be implemented for eg., with Leaflet or Folium libraries.

Attributes

Project area highlighted

The project area, obtained using coordinates supplied by the user and energy cell area, should be highlighted on the map as a polygon.

Actions index: 1

Requirements index: 1

Actions

  1. User can zoom in, zoom out, pan around using the input from their mouse

Requirements

  1. User must provide the project location coordinates and energy cell area parameters in load_project_parameters-label

Link with views

Project parameters

The parameters necessary to generate the project location map view-component are input by the user through this view-component

load_project_parameters-label

Description of the link

Link with other view-components

<view_component1>-label

Description of the link

Rendering of the view-component

As a rectangular container displaying an interactive map of the project location highlighted as either a point or as a polygonal area on the map.


Read/Write Files

File explorer to read and write files to the system storage.

Attributes

Attribute A

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Attribute B

Description

Properties:
  • Property 1

  • Property n

Actions index:

Requirements index:

Actions

  1. Action 1

  2. Action 2

Requirements

  1. Requirement 1

  2. Requirement 2

Link with views

<view1>-label

Description of the link

<view2>-label

Description of the link

Link with other view-components

<view_component1>-label

Description of the link

<view_component2>-label

Description of the link

Rendering of the view-component

Rendered as a pop-up


List of Projects

This view-component displays a list of open_plan project (or project files in accepted formats) objects one of which can can be loaded as the current project.

Attributes

Select

Allows the user to select the project object to be loaded as the current project

Delete

Allows the user to delete the saved project object from the disk

Show

Allows the user to quickly preview the project object selected

Edit

Allows the user to quickly edit the main project parameters

Actions

  1. Action 1

  2. Action 2

Requirements

  1. Requirement 1

  2. Requirement 2

Link with views

Landing

Landing page view of which this view-component is a part of

Link with other view-components

Project

The abstract component describing the project object

Read/Write Files

VIew-component through which the project objects could be loaded from the disk or written to the disk

Rendering of the view-component

  1. Rendered as a list which displays all the project objects already saved in the system or currently created

  2. Currently selected project is highlighted separately


List of Scenarios

This view-component shows the list of scenario objects, both created through the tool within the current project or loaded from file, available for further steps in the simulation.

Attributes

Select

Allows the user to select the scenario object to be loaded as the current project

Delete

Allows the user to delete the saved scenario object from the disk

Show

Allows the user to quickly preview the scenario object selected

Edit

Allows the user to quickly edit the main scenario parameters

Actions

  1. Select the current scenario object

  2. Show the main parameters of any scenario object that the user selects in the list of scenarios

  3. View the list of scenarios objects created in the present project or available on the disk

  4. Delete a scenario object, both saved and unsaved ones

Requirements

  1. Requirement 1

  2. Requirement 2

Link with views

Link with other view-components

Scenario

The abstract component describing the scenario objects part of this view-component

Read/Write Files

VIew-component through which the project objects could be loaded from the disk or written to the disk

Rendering of the view-component

  1. Rendered as a list which displays all the scenario objects loaded and/or created in the current project

  2. Currently selected scenario is highlighted separately


Abstract-components Definition


Scenario

Attributes

Scenario as an object

Scenario is an object that exists in the computer’s temporary memory (RAM). It can be considered as the a concept that wraps an instance of the energy system class plus the inputs. However, it could be saved to the permanent memory by saving the data the object holds to disk as a file of an appropriate format.

Actions

  1. Scenario can be saved to disk through the load scenario view component in the Scenarios view

  2. Multiple scenario objects can be created during the simulation using the create scenario view component in the Scenarios view

  3. Multiple scenario objects can be compared in the scenario comparison view

Requirements

  1. The objects must be accessible to other relevant view components

  2. External scenario objects created in other software that are to be imported into open_plan should adhere to the data standards

  3. Should be saved to disk in an appropriate format before exiting the tool in order to be accessible later

Link with views

placeholder placeholder2

Link with other view-components

placeholder


Project

Attributes

Project as an object

Project is an object that exists in the computer’s temporary memory (RAM). It can be considered as the a concept that holds one or more scenarios of the energy system simulation sharing some common characteristics.

It could be saved to the permanent memory by saving the data the object holds to disk as a file of an appropriate format.

Actions

  1. Existing project object can be loaded through the load_project view component in the Landing Page view

  2. New project object can be created through the UI of the tool using the create_project view component in the Landing Page view

  3. Current project object can be saved to the disk by the user through the Save Project button that connects to the read_write_files view-component

Requirements

  1. The objects must be accessible to other relevant view components

  2. External project objects created in other software that are to be imported into open_plan should adhere to the data standards

  3. The project object be saved to disk in an appropriate format before exiting the tool in order to be accessible later

Link with views

Read/Write Files

Link with other view-components

Read/Write Files

This view-component is required to read and write files from and to the disk respectively