Skip to main content

District-level energy simulation of buildings

Project description

BuildingModel

Description: BuildingModel is a district-level building energy simulation tool designed to leverage the availability of large scale open datasets on building geometry, census-derived dwelling characteristics and energy performance diagnosis. The methodology proposed combines GIS data processing with statistical inference techniques to obtain a description of each building's envelop geometry (including adjacency), thermal performances (envelop and systems) and occupation. This description is then used as the input of a physical model calculating solar gains, losses through boundaries and ventilation, heating system consumption and occupant-related energy usage.

  • Technology stack: Python 3, GeoPandas
  • Status: Beta (0.2). The complete toolchain is functional, but validation and fine-tuning of the models are still ongoing.

Screenshot: Example of results that can be obtained from a BuildingModel run with the GeoPandas integration allowing easy interactive plotting in Jupyter Notebooks

Documentation: The complete documentation for buildingmodel (methodology and API) is available at DOCS

Limitations

BuildingModel has been developed and tested only in the French context, for which GIS, census and energy diagnosis data is available. However, the generic character of the methodology should make it suitable for other countries as long as similar datasets can be obtained. In addition, BuildingModel currently deals only with residential buildings, due to limitations on the availability of data for other building usages.

Dependencies

BuildingModel depends mainly on Python 3 (currently tested on Python 3.8) and GeoPandas. A detailed set of dependencies is available in requirements.txt

Installation

Detailed installation instructions available at INSTALL.

Usage

In its most basic form, BuildingModel can be used by invoking the high level run_all function and passing it the path to the building GIS file :

from buildingmodel.main import run_all, Parameters
from buildingmodel import data_path
from pathlib import Path

parameters = Parameters()
buildings, boundaries, climate, dwellings = run_all(Path(data_path['gis']) / 'testing' / 'test_sample.gpkg',
                                            None, parameters)

The results returned ar GeoDataFrame in the case of buildings and boundaries and DataFrame in the case of the climate and dwellings. More advanced uses and result processing are available as jupyter notebook examples in the documentation.

How to test the software

From the root folder of BuildingModel, run :

pytest

Known issues

  • Current occupant-related energy usage models are very crude and subject significant future changes.
  • Energy consumption of heating systems relies on a constant efficiency model that will be replaced by technology-specific models (in particular for heat pumps).
  • Peak consumption estimates are provided by building but cannot be summed directly to obtain the total peak consumption of the district as the peaks may not be all synchronous.
  • Consumption of cooling systems is not modelled

Getting help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.

Getting involved

BuildingModel is looking for users to provide feedback and bug reports on the initial set of functionalities as well as developers to contribute to the next versions, with a focus on validation of models, cooling need simulation, adaptation to other countries' datasets and building usages.

Instructions on how to contribute are available at CONTRIBUTING.

Open source licensing info

  1. LICENSE

Credits and references

BuildingModel physical models are directly derived from the work of Antoine Rogeau in Vers une approche intégrée d’aide à la planification énergétique territoriale : application à la rénovation énergétique des bâtiments

Funding :

Main contributors :

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildingmodel-1.0.0.tar.gz (6.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

buildingmodel-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

buildingmodel-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

buildingmodel-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

buildingmodel-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file buildingmodel-1.0.0.tar.gz.

File metadata

  • Download URL: buildingmodel-1.0.0.tar.gz
  • Upload date:
  • Size: 6.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for buildingmodel-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4014255825658ed55153972e26c3bd2052598e02bc70aed8068b8ddcca83b3fe
MD5 8acca1d1a3ed9c601c41a48928ad37a6
BLAKE2b-256 cc8a998bd784de9c38995356a0c950fa09c8f7c04effb061b54881d193a486d6

See more details on using hashes here.

File details

Details for the file buildingmodel-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for buildingmodel-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fef8944e132ab1fe97daaf5cb5613989e9808b8b22115daa93fb2fd3b8853652
MD5 cbc95235ec36ac46c7f1ba69a2fa16b3
BLAKE2b-256 9a0b3f4f3e50e486e7fbdf329d84245a26433db656698093d3f6920fa08ed5af

See more details on using hashes here.

File details

Details for the file buildingmodel-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for buildingmodel-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 00564162851e4fb29f129bd40d0bdb59ff3c5e70abfb1bfc507126f07c65a7d6
MD5 5c62fe47807c196465bdfdefd374502b
BLAKE2b-256 f055942a3b98e0afe811ae3c570b5f4197ede0bb805e965635117674ce8f6208

See more details on using hashes here.

File details

Details for the file buildingmodel-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for buildingmodel-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 415a83bdfef31c780ae81dfbd1d5e06858c7e930c5634c660b8517d3a0fc6124
MD5 dbe27399e581d618853c76f515546357
BLAKE2b-256 659fb7a2aa439132ea65e4f2363b0d1e6e22554bd99d68040324a49c6f5edc16

See more details on using hashes here.

File details

Details for the file buildingmodel-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for buildingmodel-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3b9efbb7ec22c8840433ab59e87b5a359b7d2cf9750caa255996ece6fd1d1dc
MD5 944c10233e6d009b8156d2a8e0d6ff3a
BLAKE2b-256 f3937eb1dca77dce49dbfa8f5731d6dd450c6818ff101df1ea99fac4579d042b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page