pyBuildingEnergy

Provides an assessment of building performance through a methodology that must take into account various aspects such as the thermal characteristics of the building, the use of renewable energy sources, building automation and control systems.
https://github.com/eurac-eebgroup/pybuildingenergy

Category: Consumption
Sub Category: Buildings and Heating

Last synced: about 6 hours ago
JSON representation

Repository metadata

python package to simulate the building performance of a building using the ISO 52000

Readme.md

pyBuildingEnergy

pyBuildingEnergy Logo

Citation

Please cite us if you use this library:
DOI

Documentation (New)

Check our new documentation in GitHub Pages: pybuildingenergy docs.

Features

The new EPBD recast provides an update on building performance assessment through a methodology that must take into account various aspects such as the thermal characteristics of the building, the use of energy from renewable sources, building automation and control systems, ventilation, cooling, energy recovery, etc.

The methodology should represent the actual operating conditions, allow for the use of measured energy for accuracy and comparability purposes, and be based on hourly or sub-hourly intervals that take into account the variable conditions significantly impacting the operation and performance of the system, as well as internal conditions.

pyBuildingEnergy aims to provide an assessment of building performance both in terms of energy and comfort. In this initial release, it is possible to assess the energy performance of the building using ISO 52106-1:2018. Additional modules will be added for a more comprehensive evaluation of performance, assessing ventilation, renewable energies, systems, etc.

The actual calculation methods for the assessment of building performance are the following:

  • the (sensible) energy need for heating and cooling, based on hourly or monthly calculations;
  • the latent energy need for (de-)humidification, based on hourly or monthly calculations;
  • the internal temperature, based on hourly calculations;
  • the sensible heating and cooling load, based on hourly calculations;
  • the moisture and latent heat load for (de-)humidification, based on hourly calculations;
  • the design sensible heating or cooling load and design latent heat load using an hourly calculation interval;
  • the conditions of the supply air to provide the necessary humidification and dehumidification.

The calculation methods can be used for residential or non-residential buildings, or a part of it, referred to as "the building" or the "assessed object".

ISO 52016-1:2018 also contains specifications for the assessment of thermal zones in the building or in the part of a building. The calculations are performed per thermal zone. In the calculations, the thermal zones can be assumed to be thermally coupled or not. ISO 52016-1:2018 is applicable to buildings at the design stage, to new buildings after construction and to existing buildings in the use phase.

--

Weather Data

The tool can use weather data coming from 2 main sources:

More details in the example folder.

Domestic Hot Water - DHW

  • Calculation of volume and energy need for domestic hot water according to ISO 12831-3.
  • Assessment of thermal load based on the type of DHW system.

Primary Energy - Heating System (New)

The EN 15316 series covers the calculation method for system energy requirements and system efficiencies. This family of standards is an integral part of the EPB set and covers:

EN 15316 Modular Structure (New)

  • EN 15316-1: General and expression of energy performance (Modules M3-1, M3-4, M3-9, M8-1, M8-4)
  • EN 15316-2: Emission systems (heating and cooling)
  • EN 15316-3: Distribution systems (DHW, heating, cooling)
  • EN 15316-4-X: Heat generation systems:
    • 4-1: Combustion boilers
    • 4-2: Heat pumps
    • 4-3: Solar thermal and photovoltaic systems
    • 4-4: Cogeneration systems
    • 4-5: District heating
    • 4-7: Biomass
  • EN 15316-5: Storage systems

For space heating, applicable standards include EN 15316-1, EN 15316-2-1, EN 15316-2-3 and the appropriate parts of EN 15316-4 depending on the system type, including losses and control aspects.

Single zone and Multiple Zones (New)

EN ISO 52016 — Multi-zone Calculation and Adjacent Zones

EN ISO 52016 defines that:
The calculation now allows the definition of several thermal and non-thermal zones adjacent to the considered zone.

External Adjacent – Unheated Zone: It is possible to define an unheated adjacent zone in contact with the considered thermal zone.
The length of the separating wall may be entirely or partially connected to the considered zone.

The calculation involves:

  1. Determining the internal temperature of the non-thermal zone.
  2. Evaluating the heat exchange with the thermal zone.

External Adjacent – Heated Zone: In this case, the wall between the two zones is considered adiabatic (no heat exchange).
Adjusted Coefficient: To account for the different temperatures between zones (e.g., thermal and non-thermal), an adjusted coefficient is calculated.

Assumptions and Simplifications

The standard defines various assumptions specified in section 6.5.3 — Assumptions and specific conditions.
In general, it aims to simplify the zoning approach by reducing the number of zones to a minimum (ISO EN 52016-2:2018).

It also emphasizes that:

A multi-zone calculation with interactions between the zones requires significant and often arbitrary input data (on transmission properties and air flow direction and size).
It can also lead to other technical and procedural complications that add uncertainties to the results.
A further complication can be the involvement of different heating, cooling and ventilation systems for different zones, which adds to the complexity and arbitrariness of the input and modelling.

Key Remark: Therefore, the benefits of calculations with thermally coupled zones can be smaller than the drawbacks.


EN 16798-7 & 16798-1 - Natual ventilation and profiles (New)

Compute the ventilation heat transfer coefficient [W·K⁻¹] of the thermal zone either:

  • from natural ventilation (ISO 16798-7:2017, single-sided airing via windows, wind/stack), or
  • from occupancy-driven flow (simplified volumetric rate per floor area).

For more detail refers to natural ventilation.

Due to the need to have profiles of occupancy and consumption of buildings for some uses, tables of profiles useful for evaluating, occupancy, lights, heating, cooling, internal gains have been implemented.
These tables are provided by ANNEX A of ISO EN 16798-1.
In the tool they are available here: Table

Input Quality check (New)

The data provided before being used for the simulation are processed and evaluated to be considered fit for the simulation. This process includes a series of checks that allow to identify any potential errors.
For more details refers to Input Quality check.

Limitations

The library is developed with the intent of demonstrating specific elements of calculation procedures in the relevant standards. It is not intended to replace the regulations but to complement them, as the latter are essential for understanding the calculation. This library is meant to be used for demonstration and testing purposes and is therefore provided as open source, without protection against misuse or inappropriate use.

The information and views set out in this document are those of the authors and do not necessarily reflect the official opinion of the European Union.

The calculation is currently aimed at single-zone buildings with ground floor. The evaluation of multi-zone buildings is under evaluation.

Getting Started

Install the latest version of the library:

pip install pybuildingenergy

Building - System Inputs

Example

New examples will follow soon...

Contributing and Support

Bug reports / Questions
If you encounter a bug, please create an issue detailing it. Provide steps to reproduce and a code snippet if possible.

Code contributions
We welcome and appreciate contributions! Every contribution, no matter how small, makes a difference.

License

Author

Acknowledgment

This work was carried out within European projects:

  • Infinite — EU Horizon 2020 (grant agreement No. 958397)
  • Moderate — Horizon Europe (grant agreement No. 101069834)

DHW Calculation developed with data and methods from EPBCenter spreadsheet.

References


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 9 days ago

Total Commits: 110
Total Committers: 3
Avg Commits per committer: 36.667
Development Distribution Score (DDS): 0.055

Commits in past year: 20
Committers in past year: 1
Avg Commits per committer in past year: 20.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Daniele.Antonucci d****i@e****u 104
OlgaSomova 1****a 4
Ulrich Filippi Oberegger u****i@g****m 2

Committer domains:


Issue and Pull Request metadata

Last synced: about 1 month ago

Total issues: 4
Total pull requests: 4
Average time to close issues: N/A
Average time to close pull requests: N/A
Total issue authors: 3
Total pull request authors: 2
Average comments per issue: 0.0
Average comments per pull request: 0.0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 0.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/eurac-eebgroup/pybuildingenergy

Top Issue Authors

  • Tokarzewski (2)
  • Isaina (1)
  • DanieleAntonucci20 (1)

Top Pull Request Authors

  • Tokarzewski (2)
  • Concave-Streak (2)

Top Issue Labels

Top Pull Request Labels


Package metadata

pypi.org: pybuildingenergy

Energy Simulation of building using EN ISO 52000, EN ISO 15316, EN ISO 16798, EN ISO 12831, and more

  • Homepage: https://github.com/EURAC-EEBgroup/pyBuildingEnergy/
  • Documentation: https://pybuildingenergy.readthedocs.io/en/latest/Overview/overview.html
  • Licenses: BSD 3-Clause License Copyright (c) 2025, Energy Efficient Buildings @EURAC Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 2.0.2 (published about 1 month ago)
  • Last Synced: 2025-12-21T10:41:31.897Z (3 days ago)
  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 408 Last month
  • Rankings:
    • Dependent packages count: 9.653%
    • Average: 36.67%
    • Dependent repos count: 63.688%
  • Maintainers (1)

Dependencies

pyproject.toml pypi
requirements.txt pypi
  • DateTime ==5.1
  • Pyarrow ==13.0.0
  • Sphinx ==1.8.5
  • black ==21.7b0
  • bump2version ==0.5.11
  • coverage ==4.5.4
  • flake8 ==3.7.8
  • geopy ==2.4.1
  • numpy ==1.23.2
  • pandas ==2.2.1
  • pip *
  • pvlib ==0.10.1
  • pyecharts ==2.0.4
  • pytest ==6.2.4
  • pytest-snapshot *
  • requests ==2.31.0
  • scikit-learn ==1.4.1.post1
  • scikit-learn *
  • timezonefinder ==6.2.0
  • tox ==3.14.0
  • tqdm ==4.66.1
  • twine ==1.14.0
  • watchdog ==0.9.0
  • wheel ==0.33.6
setup.py pypi
docs/requirements.txt pypi
  • Sphinx ==7.2.6
  • sphinx-rtd-theme ==2.0.0

Score: 10.96247504642097