How does it work?
Next to retrieving data from existing scenarios, the tools also allow you to create or update scenarios
based on your data. When you add a name, area and end year to the
no ID, a new scenario will be created for you and the ID will be filled in automatically when running the
Next to that, you can include slider settings for each scenario, custom curves, a heat network order and settings for heat demand curves.
Setting up the CSV input files
To create and update ETM scenarios you can edit two CSV files in the input folder. The
scenario_list CSV contains general information about the scenarios, such as the region and target year. And secondly, the
scenario_settings file contains the ETM slider values for each of the scenarios specified in
Moreover, you can supply custom demand, supply and price curves for your scenarios in the
scenario_list.csv file you can create a row for each scenario you wish to process. The CSV contains the following columns:
- short_name. Here you can specify an identifier for each scenario. NOTE: short_names must be unique!
- title. Scenario title. This is displayed in the ETM front-end.
- area_code. Scenario region. A full list of available area codes can be found on Github.
- end_year. The target year / year of interest of each scenario.
- description. Scenario description. This is displayed in the model’s front-end.
- id. Should be left empty if you want to create a new scenario. The ID will be filled in automatically when the scenario is created. If you want to update an existing scenario, you can specify its ID here.
- keep_compatible. True or False. Sets whether the scenario should be updated automatically if we make changes to the model; keeping your scenario compatible with future versions of the ETM (read more).
- heat_network_order. To specify the order in which dispatchable district heating technologies are utilised if there is a shortage of supply. Can be left empty to use the default order. Options should be separated by a space. E.g.:
"energy_heat_network_storage energy_heat_burner_hydrogen”. The full list of technologies can be found on Github.
- curve_file. The name of a CSV file containing custom hourly profiles. For example interconnector price curves, solar production curves or industry heat demand curves. The CSV file should be placed in the
- heat_demand. Optional - expert feature. The name of the folder inside
input/curvesthat contains either 15 heat demand profiles, or the three input files neccesary to generate new profiles. See the heat module section for more information.
scenario_settings.csv file contains the slider settings of your scenarios. The first column contains the keys of all sliders (‘inputs’) that will be set. If a slider is missing from this list, it will inherit the default value. The default value is the value the slider is on when starting a new scenario. The other columns contain the scenario
short_names (specified in
scenario_list.csv) and the corresponding slider values. A list of all slider keys can be found here (CSV file).
If you want to remove an input from the list of inputs in your scenario, put reset instead of a value. This will reset the slider to its standard value.
input/curves folder you can add custom demand, supply and price curves to use in your scenarios. These curves can be used to overwrite the default ETM profiles. In the
scenario_list.csv file you specify for each scenario which CSV curve file to use by adding the file name to the
Each file should look as follows:
The first row of each column should contain the key of the category you want to upload a custom curve for. A full ist of available keys can be found on Github. Example: interconnector_1_price
Row 2-8761 should contain the hourly values (one for each hour per year)
You can add multiple columns to customize multiple profiles
You can add multiple CSV files in case you want to use different profiles for different scenarios
Heat network orders
In the file
heat_network_order.csv it is possible to specify the three heat network orders for your scenario. In each cell of the csv, you specify the order by separating the different sources with a space "
You may omit heat sources from the order, however note that they will be added in by the ETM automatically in the default order. For example, if the default order is
a,b,c,d, and your request provides an order of
c,b, the resulting heat network order will be
If you don't specify an order, it will not be sent to the ETM. In the example below, only the MT order will be updated.
|heat_network_order_mt||energy_heat_burner_mt_coal energy_heat_burner_mt_hydrogen energy_heat_network_storage_mt_steam_hot_water||...|
Running the tool
The tool can be run with the following commands.
pipenv you can run:
pipenv run scenario_from_csv
With basic Python: