BESOS platform
Building and Energy Simulation, Optimization and Surrogate-modelling

Introduction

Summary

The buildings sector is one of the largest contributors to carbon emissions, up to 33% of global CO$_2$ emissions. Improved computational methods are needed to help design more energy-efficient buildings. besos is a Python library and associated web-based platform to help researchers and practitioners to explore energy use in buildings more effectively. This is achieved by providing an easy way of integrating many disparate aspects of building modelling, district modelling, optimization and machine learning into one common library.

besos library and associated BESOS Platform

The BESOS Platform is a Jupyter Hub that is able to run the besos code base, and has all the dependencies installed. The platform is freely accesible for academics in the building energy modelling space. To get started with BESOS the Platform we have provided this 2-page pamphlet that will get you from signup to your first notebook.

The besos library connects modelling and optimisation tools to allow for parameterizing running and optimizing models, sampling from their design spaces, and generating data for use in machine learning models. This supports designing building and district energy modelling experiments.

Why use BESOS?

NOTEBOOKS

Python notebooks are great for mixing executable code, visual outputs and formatted explanations.

CLOUD

Run notebooks on our cloud resources, with a pre-configured environment where all libraries and other software (EnergyPlus, CPlex) are automatically kept up to date.

NOTEBOOKS AS APPS

Explore your model by interactive visualization using sliders/buttons/dropdowns and pretty graphics. All the code is hidden but accessible to power users.

TEMPLATES

Start from templates, both ours and user-generated, which are editable in one click. Takes the pain out of complex workflows, integrating different models and adding app-like front-ends to your research.

LEARN

Tutorials straight in the notebooks, from beginner to advanced, plus classroom-focused content.

EXPERT CONTROL

More control for expert users, with terminal access to customize your environment like you would your local machine.

BESOS LIBRARY

Our BESOS library for optimization and surrogate modelling of buildings provides wrappers for EnergyPlus via EPPy for energy simulation, Platypus for optimization and scikit-learn and TensorFlow for surrogate modelling.

PyEHub LIBRARY

Our PyEHub library for energy hub modelling of energy systems provides an easy way to define energy balancng and system sizing problems.

EXPORT

Easily move your work locally if desired, just download your notebooks and follow the instructions to replicate the environment.

COLLABORATE

Share folders with other users. Work together in real-time using Jupyter Lab. Coming soon

SHARE

An executable paper! Make your notebook public with a static link and frozen dependencies. Include the link in your publications to encourage others to build on (and cite!) your work. Coming soon

CLUSTER INTEGRATION

Integrated HPC cluster submission for Compute Canada. Coming soon

About BESOS

The BESOS Platform is a cloud-based portal of modular, reusable software components for researchers to perform integrated building and energy systems analysis. Buildings, renewable energy generation and storage technologies and associated energy systems all pose complex, interacting design and operational challenges. Finding high-performing solutions to these problems requires a new generation of computational tools, blending aspects of simulation, optimization, machine learning and visualization. The project is funded by a grant from CANARIE.

Integration of the following core modules:

  • Building energy simulation via parametric EnergyPlus model execution building on EPPy.
  • Multi-objective optimization using Platypus to provide 10+ evolutionary algorithms.
  • Machine learning tools for fitting surrogate models that approximate the behavior of complex simulators, implemented with scikit-learn and TensorFlow.
  • Energy hub modelling that balances demand and supply and sizes converters and storages in multi-energy systems using PyEHub.

Modules are accessible by:

  • Using interactive tools in the online portal.
  • Using Jupyter Notebooks within the portal, giving ease of use for non-programmers.
  • pip installing the open-source Python repositories to run locally, accessed via the API.

The main technologies that underpin the platform are:

  • Jupyter Hub to run a notebook server for each user who logs in.
  • Docker to make sure these notebooks run independently.
  • mybinder.org to make notebooks publically accessible, which are embedded as public tutorials.

Example Notebooks

These are examples of the many notebooks that are available on the BESOS platform.

They open on MyBinder, where you can edit and run them but not save them.

MyBinder might take a while to load, please be patient.

Surrogate Modelling

Optimization

Energy Hub Modelling

Data Analysis

Tutorials

About us

The BESOS platform is developed by the Energy in Cities group at the University of Victoria in beautiful British Columbia, Canada.

The group is led by Dr. Ralph Evins.

Contact us

  • You can tell us about specific things on GitLab by raising issues in the repositories (BESOS, PyEHub).
  • Add to the ‘how-to’ documentation by editing the wiki pages for each repository (BESOS, PyEHub).
  • Contact the development team by emailing besos@uvic.ca.

Key users

We are working with the following research teams to develop specific components and case studies:

Documentation

Getting started

To get started with BESOS the Platform we have provided this 2-page pamphlet that will get you from signup to your first notebook.

For all information on making use of besos library and locally installing it on your computer review the Read The Docs

Finding more info on EnergyHub modelling review the Read the Docs PyEhub to get details of specific classes.