Introduction
What are the scenario-tools?
The scenario-tools are a small collection of tools written in Python that allow ETM users to communicate to the ETM without accessing the web-interface. Input and output data is all in CSV format for easy incorporation in Excel workflows.
You can download or clone the tools from our Github.
To run the tools a Python installation is required, but working the tool requires no prior knowlegde of that programming language.
With the tool you can:
- Download scenario results and query e.g. dashboard items
- Create or update scenario slider settings and custom curves
- Compare scenario results for varying individual or combined slider settings
- Create a template of a scenario which you can use to create new sceanrios
- Create a regional overview combining multiple scenarios
Input and output
The scenario-tools read input data, such as slider settings or requested downloads, from several CSVs that you must supply. This section gives a quick overview of what to expect.
By default, and when you first look at the tool after downloading it, the input
and output
folders are located in the data
folder. The tool will read and write to the files in these folders when you run it. It is possible to change the default folder where input data is read or where output data is saved in the settings. Please note that the tool will still expect the input file names to stay the same. Also, the default settings for reading and exporting CSVs can be changed here.
Input
All input files contain dummy data, to give you an actual example of how the data should be presented. Make sure to clear the dummy data from the files when you start using the tool.
Each functionality of the tool requires its own input CSVs. The neccesary files for each function will be described on the dedicate pages.
Here is a list of the files that can be encountered in the input folder:
scenario_list.csv
- Contains general information about the scenarios, such as the region and target yearscenario_settings.csv
- Contains the ETM slider values for each of the scenarios specified inscenario_list.csv
queries.csv
- Contains a list of queries (scenario outcomes) you would like to retrieve for each scenario.data_downloads.csv
- Contains a list of data exports you would like to retrieve for each scenario.template_list.csv
- Contains a list of scenario templates specified by its scenario IDregional_overview.csv
- Contains a list of scenarios of different areas that will make up the region to be overviewedslider_comparison_settings.csv
- Contains sets of start and future slider values and queries you would like to retrieve per slider set.
In addition, you may add CSV files containing custom supply, demand and price curves to the input/curves
folder.
Output
The scripts create/update/query the scenarios in the Energy Transition Model and print the corresponding URLs in the terminal. In addition, depending on the tools of scenario-tools that are used, the following is added to the data/output
folder:
- A
scenario_outcomes.csv
file containing the query outcomes for all scenarios, including a column containing the values for the present year and the unit of each query - Sub folders for each scenario
short_name
containing the data exports - A
slider_comparison_results.csv
containing the query outcomes per slider set as specified inslider_comparison_settings.csv
Getting started
Make sure you have Python 3 installed. Then, install all required libraries by opening a terminal/command-prompt window in the scenario-tools
folder (or navigate to this folder in the terminal using cd "path/to/scenario-tools-folder"
). All following examples of running the tool
expect you to be in this folder.
Using pipenv
It is recommended (but not required) that you use pipenv
for running these tools. When using pipenv
it will create a virtual environment for you. A virtual environment helps with keeping the libaries you install here separate of your global libraries (in
other words your scenario-tools
will be in a stable and isolated environment and are thus less likely to break when updating things elswhere on your computer)
and this one comes with some nice shortcuts for running the tools.
You can instal pipenv
with pip
or pip3
if you don't have it installed yet.
pip3 install pipenv
Then you can create a new environment and install all the libraries in one go by running:
pipenv install
Using basic Python
Alternatively, if you do not want to use pipenv
you can also install the requirements globally by running:
pip3 install -r requirements.txt