IESO Setup Guide

  April 06, 2024    
IESO Setup Guide
Microsoft Office 365 Stock Photo

This article provides a guide on how to set up and run the Integrated Energy Systems Optimiser (IESO). The guide covers installation, building, running a simulation, and generating a report.

IESO is implemented in Python 3 and doesn’t require direct installation itself. However, it relies on external libraries: OR-Tools, NumPy, and Matplotlib, which need to be pre-installed.

Creating a virtual environment for IESO

We highly recommend creating a virtual environment for IESO to isolate project dependencies and avoid conflicts with other Python projects on your system.

macOS and Ubuntu Linux

1. On macOS, the python3-venv package should be available by default. On Ubuntu Linux, the package is installed using the command line:

2. Create the IESO virtual environment:

3. Activate the virtual environment:

4. Installing IESO dependencies:

Windows

1. Install Miniconda.

2. Open the Anaconda prompt and create the IESO virtual environment:

3. Activate the virtual environment:

4. Installing IESO dependencies:

Getting IESO

The initial step required to run an IESO simulation is to fetch the tool from GitHub.

Building the IESO-embedded thermodynamic calculations tool

IESO includes a thermodynamic calculations tool within its “thermo” folder. This tool needs to be compiled before use:

  • On macOS or Ubuntu Linux systems: Run the script build.sh.
  • On Windows systems: Run the script build.bat.

This process assumes that a C++ compiler is already installed on your device. If not, you can install it following the instructions provided below.

macOS

On macOS, you can install the GNU Compiler Collection (GCC), which includes the GNU C++ compiler, using the Xcode Command Line Tools:

Ubuntu Linux

To install the GNU C++ compiler and other essential build tools, you can run the following command in your terminal:

Windows

  • Download MinGW and install it, ensuring that the GNU C++ compiler is included in the package.
  • After installation, find the binary folder of MinGW. Usually, it is located at a path such as C:\MinGW\bin.
  • Add the path of the MinGW binary folder to your system’s PATH environment variable.

Running an IESO simulation

IESO is called with one or two arguments:

  1. The first argument (mandatory) is a JSON file (we will denote it as input.json) that describes the integrated energy system optimisation problem.
  2. The secondary argument (optional) specifies the carbon constraint.

The output of IESO materialises as a JSON file named input.ieso.json, structured identically to input.json but inclusive of the simulation results.

Before running IESO, the environment needs to be set up, as described by the examples below.

macOS and Ubuntu Linux

Open a Terminal window and run the following commands:

Windows

Open the Anaconda prompt and run the following commands:

Generating a simulation report

IESO’s simulation results are compiled in a JSON file named input.ieso.json. To convert this raw JSON file into a comprehensive report, execute the command:

The report elements, including graphs, CSV files, and “report.tex” (LaTeX document), are generated within the “report” directory. Compile report.tex to generate the simulation report in the PDF format:

This command assumes that LaTeX is already installed on your computer. If not, you can install it following the instructions provided below.

macOS

The MacTeX package is available on the TeX Users Group’s website.

Ubuntu Linux

TeX Live is available in the Ubuntu repositories. Here’s how to install it:

Windows

TeX Live for Windows is available for download at this link.

Examples of IESO data sets and simulation reports

Examples of IESO data sets and simulation reports are available at this link. They include:

Gréoux Research
Enabling the transition to a low-carbon future

Gréoux Research is a privately owned energy research lab. This section of the website offers access to a collection of scripts and tools that support both our website and the embedded apps. Feel free to check out our GitHub repository for additional resources.

  GitHub Repositories