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

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.


COLLABORATE

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


EXPERT CONTROL

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

CLUSTER INTEGRATION

Integrated HPC cluster submission for Compute Canada users (AWS coming soon).

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.

SHARE

As a step towards the 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 your work (and cite your paper).

EXPORT

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


About BESOS

BESOS 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.

Core modules are:

  • 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.

Notebook library

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

Choose the way you want to use BESOS:

Finding more info:

  • The notebooks are often self-explanatory, so maybe start with the tutorials.
  • There are wiki pages for BESOS and PyEHub) that have overview and FAQ sections.
  • There are also Read the Docs sites for BESOS and PyEHub to get details of specific classes.