How to use eTraGo?

After you installed eTraGo you would typically start optimization runs by executing the ‘appl.py’ which is situated in ./eTrago/etrago/ (e.g by python3 appl.py).

eTraGo doesn’t have a graphical user interface, the ‘appl.py’ is used as a simple user interface which can be edited with the preferred python-editor. Here parameters, calculation methods and scenario settings are set in a python dictionary called ‘args’. To run the desired calculation, it is crucial to understand these parameters. In addition, some of them contradict the usage of others. You find the documentation of all defined parameters from the ‘args’ here: etrago.appl.etrago().

Alternatively, the ‘args’ dictionary can be edited in a json-file. Then the path to the json-file has to be defined in the function etrago.tools.utilities.get_args_setting(). Once a path is given and the get_args_setting() within the ‘appl.py’ is executed the ‘args’ dictionary within the ‘appl.py’ is ignored and replaced by the ‘args’ of the json-file.

The appl.py contains the etrago.appl.etrago() function which uses the defined ‘args’ dictionary to start the desired calculation.

To improve the performance of the optimization of the selected solver, you might want to use solver options (part of ‘args’). For gurobi the most used ones are described here.

Moreover, if you want to change parameters apart from the options which are provided by the ‘args’ you can change the default values of the arguments used in the functions which are executed by the etrago.appl.etrago() function. Lastly, for more specific or extensive changes you are highly invited to write code and add new functionalities.

Once the calculation has finished a PyPSA network will contain all results. You can use several plotting functions from the etrago.tools.plot() in order to visualize the results. For example the etrago.tools.plot.plot_line_loading() plots the relative line loading in % of all AC lines and DC links of the network.

To save the results you can use an interface to the oedb or write them simply to csv files. These functionalites can be specified also in etrago.appl.etrago().

Examples and tutorial notebooks