General Questions

What is the value of having another model when there are already existing models being used by utilities and others?

The ACES model is the first open-source energy system model created for Atlantic Canada. With an open-source energy system model, policymakers, industry and NGO representatives, regulators and researchers in our region can contribute to possible next steps on the path to net-zero GHG emissions for Atlantic Canada. Multiple interested parties using the same model can also create significant value through discussions around energy system planning informed by a standardized set of calculations and assumptions.

How will the model work?

Users of the open-source Atlantic Canada Energy System model will be able to define model inputs and run a variety of scenarios to test which assumptions create feasible model solutions that can inform long-term energy system planning

Can you provide scenario analysis on behalf of other organization?

Yes we can. Please contact us to inquire about consulting services.

What is the difference between the desktop model and the cloud application? Will I get the same results?

The desktop model runs entirely locally on your computer. To run the model in this format, users need to install all of the components, setup a Python environment, and invoke command line code. Our team worked with a software developer to create a cloud application that will allow users to easily run model scenarios without using Python or computer coding. You should receive the same results in your SQLite output tables by running the same scenario with each tool. However, the desktop model has an interactive dashboard visualization tool, and the cloud application has downloadable, non-interactive visualizations. 

How do I know which tool is best for me? 

The tool you choose to use depends on your level of comfortability with running commands and using Python, and whether your computer has sufficient RAM to support the model's complexity. 

The desktop model provides a "look under the hood" for users. While the Python language may take some getting used to, it is important to note that the desktop version of the model does not require Python experience. For users who are interested in running the model in this format, we provide learning tools on our website, training sessions, and technical support. If working on a laptop that has less than 32GB of RAM (the average laptop computer has 8GB of RAM), users may need to use the cloud application to run larger database files (for example, the full Atlantic Canada 6-sector database, which requires 20GB of RAM to solve).  

The cloud application provides the same results as the desktop version but removes several setup steps for model users and does not require any coding to perform model runs. In addition, because the cloud application runs the model on a remote server, model users can use it to run model databases that require more than 8GB of RAM to solve (the average laptop computer has 8GB of RAM). If you would like advice on which version to use, please get in touch with our Education and Outreach Coordinator. 

How does this complement existing energy models?

This model is independent from other existing models used by government or utilities. However, linking models could generate valuable insights. With an open-source energy system model, policymakers, industry and NGO representatives, regulators and researchers will be able contribute to possible next steps on the path to net-zero GHG emissions for Atlantic Canada.


How do I set up ACES on my device?

Setting up ACES on your device requires a command line interface (your terminal or Ubuntu distribution), a Python distribution (Anaconda), an SQLite database editor (DB Browser), and the ACES model files. These components work together to read the model code, run commands, and produce model results based on the files and databases in the ACES folder. You can watch a video on how to download the model here and read the instructions here.

Why does the model use Windows Subsystem for Linux?

If you are using a Windows device, we recommend that you install Windows Subsystem for Linux (WSL) as a compatibility layer for running Linux operating system on your computer. Running the model directly on Windows without Linux is possible, but some faster solvers are not available on Windows, resulting in a much slower run-time of the model. Using WSL will allow you to run the model in a fraction of the time.

What if I do not want to use Windows Subsystem for Linux?

Even though using WSL has many benefits for Windows users, it is possible to run the model using only your current Windows set-up. Please contact our Education and Outreach Coordinator, Victoria, at for instructions on doing so.

Why can’t I type a password into Ubuntu terminal when it asks me to make one?

The Ubuntu terminal on WSL asks for you to set a username and password. It may appear that when you are trying to set your password that nothing is showing up, and what you are typing is not being accepted in the terminal. However, the system is processing the keys you are typing, though the line appears blank for privacy reasons. Make sure you type in the exact password you want and re-enter it when asked to do so.

What does Anaconda do?

The ACES model as well as Temoa, the modelling platform on which ACES is based, use Python language and require the use of a Python distribution to run. Anaconda is a computer program that acts as a distribution of Python programming language, simplifying packages and the installation process, making high-level computer programming more user-friendly.

Does it matter where I put the ACES folder?

When you download the ACES model folder, you first want to make sure that you unpack the zip file. Once you have extracted the ACES model folder in the zip file, it is best to put it somewhere that is easy to navigate – we recommend placing the folder in your C-drive (Windows) or Documents (MacOS). Modelling training sessions refer to the folder as being placed in your C-drive, so placing it in this location – even temporarily – may make it easier to follow along during training.

What is the project environment?

An environment in Anaconda is created to separate your Python workspaces from one another. The ACES model environment contains all the specific packages that you will need and have installed to run ACES and navigating to that environment by using the command “conda activate ACES” will allow you to use the collection of packages you need and to work within that environment without affecting any other python environments you may have.

How do I know if everything is set up properly?

Regardless of the operating system you are using (WSL, MacOS, Windows), you should be able to activate the environment at any time once you have created it. By invoking the command “conda activate ACES”, the command prompt should then begin with (ACES) rather than (base), signifying that the model environment has been activated successfully.

After navigating to your ACES folder and activating the environment, you can run a test to ensure that the environment is working by invoking the following command (as one line): python data_processing/ -i ./data_files/ACES-Testing.sqlite

A network diagram of the ACES-Testing database should appear under a new ACES-Testing_input_graphviz folder in your ACES folder.

Can I use ACES without setting it up on my computer?

Yes! OERA is working on creating an intermediary tool that will allow users to run scenarios by submitting databases to an online system, and get their results sent to them. Check back for details on this soon.

Running the Model

What is the model objective?

ACES is a capacity expansion model that minimizes the total discounted system cost, subject to user-defined constraints.

What is a configuration file and what does it do?

The configuration file (known as config_sample in the temoa_model folder) allows users to specify model options, including setting up an input database to run in the model, setting up an output database to store results, naming the scenario, and specifying the solver. Invoking the command to the run the configuration file communicates these decisions to the model.

What are all the tables in the SQLite databases?

The tables contain all user-definable data inputs of the model and will store its eventual results. Tables that start with a capital letter (eg. CostInvest, EmissionLimit) contain information on parameters which can be edited to update scenario assumptions (e.g., increasing the investment cost of a certain technology). Tables that start with a lower-case letter represent the aspects, or "sets", across which the parameters are indexed (e.g., technologies, regions, years). Finally, tables that start with "Output_" (e.g., Output_Costs) will contain the model outputs. It is important to note that model users do not complete the output tables; once the model solves, these tables are automatically updated.

How do I know what the nomenclature/abbreviations in the database mean?

In DB Browser, you can see all the tables in the database. In these tables you will be able to see what the abbreviations mean to understand the nomenclature, such as in the “technologies” and “commodities” tables. Generally, the nomenclature is formulated as sector_technology/commodity (i.e. E_WIND-OFF = electricity, wind, offshore). A full table of these terms can also be found in the model user guide.

Will I need multiple versions of files? Why?

When you use a model database, it is useful to create 2 new copies: one as an “original” file, and the other as a designated output file. Keeping a copy of the original database   allows users to refer back to the original data inputs at a later stage. Having separate input and output files is not absolutely necessary, but is a cautious way to separate large databases with a lot of data. You can rename these new copies by adding “-Original” and “-Out” at the end of the file name, to designate them as their associated files (e.g., ACES-Testing-Out). Maintaining consistency with file naming is a good way to avoid mistakes. It is also important to note that file name should not have spaces (e.g., ACES-Testing Out) as this will create an error in the command line interface.

What is a command line and why do I have to use it?

The command line is a text interface that allows you to interact with the operating system in text form. Your terminal or Ubuntu have command prompts that provide a line for you to type your command, where it is processed in the program. The commands used in ACES are important for directing your system to perform the necessary steps to run the model.

Where can I find the results?

The results for each model scenario are stored in the output file you set in the configuration file. You can see that the tables in the output SQLite database that begin with “Output_” have been filled in once the results are produced. Excel spreadsheets of the results are also created and stored in the data_files folder.

How can I find a visualization of the results?

You can run the command to bring up the dashboard visualization of the results (found in your user guide), which will produce an http code that can be copied and pasted into your browser. This dashboard will contain interactive plots of the results showing either the capacity, emissions, or flow figures based on the command you run, where you can explore the results for the different regions and commodities. This functionality is best suited for the electricity, transportation, and buildings sectors.

What is the temporal representation in the model?

The temporal representation of the model is based around representative days. Representative days are selected with an optimization approach based in literature (Poncelet et al., 2017). Any given year can be effectively represented by a subset of its days that are weighted in terms of their relative frequency. To determine which days are selected and their respective weights, the following approach is taken.

First, a metric for the ‘representativeness’ of a set of days is defined. The most common approach found in literature is to use the comparison between the annual duration curves of a set of loads and/or technologies with those of the weighted representative days. In the Atlantic Canada Energy System Model the following curves serve as the metric: normalized load duration curve, normalized existing wind production duration curve, and the normalized new wind availability (i.e., capacity factor).

Second, the hourly load, existing wind production and new wind availability of each day of a year is encoded into a vector with length 3x24=72.

Third, the problem of selecting the optimal set of representative days with their respective weights is encoded into a combinatorial optimization problem. The target is to select K days (where K is a user input) with corresponding weights such that (1) the weights sum to 365 and (2) the root-mean-square error between the approximated duration curves and the annual duration curves is minimized.

This approach also enables the user to select a set of days that are forced to be included. For instance, the model user may wish to force the representative day selection algorithm to select the day with the peak annual load as one representative day. Alternatively, the user may wish to select three consecutive days with relatively high loads and low wind resource availability.

Can you complete multiple model runs at a time?

You can complete multiple model runs at the same time using the cloud application. ACES Cloud can support multiple model runs at once, and also has an asynchronous queue system. When the queue is full, you can still submit numerous tasks that will be solved in order of submission. You will receive an email notification when these model runs are complete, so you can leave the website and come back when your results are ready without using up your computer's capacity.  

Setting Scenarios

How do I create a scenario?

To create a scenario, open the database you want to work with in DB Browser. You can modify existing values or create a new entry by adding a new record to the table. You can watch a video on how to create scenarios here and read the instructions here.

How can I compare results between different scenarios?

When you change the parameter(s), set the scenario name in the configuration file to “test” or something that describes the scenario with no spaces (e.g., “WindEfficiency”). If you are running multiple scenarios with the same database, make sure you give each scenario a different name so the results do not override the previous ones. You can compare the scenario results by analyzing differences between the model-produced Excel spreadsheets, as well as using the drop-down menu to view different scenarios in the dashboard visualization. Note: you can also save the dashboard visualizations as image files.

How do I undo changes to the database to get the original values back?

Each time you run a new database, it is important to create a copy of the file and save it as the “original”. Leaving this file untouched will mean that you will always have the default values available. If you run a scenario and want to go back to your original values, you can either open the original file and copy and paste the values you want back into the input database or create a new input file by copying the original database file and renaming it. Remember that maintaining consistency in file names is a helpful way to avoid mistakes and confusion.

How can I save results from multiple scenarios?

If you want to save the results from multiple scenarios, it is useful to create a folder to store results files. You can move excel files, dashboard images, and SQLite files into a folder and rename them all files to easily find them later. Remember that an output file is always needed in the data_files folder, so if you move it into a different folder to save results, you will need to create a new output file in data_files for the next model run.