District-level energy hourly simulation of buildings
Project description
Building_eload
Version: 0.4.0
District-level building energy simulation at hourly resolution.
This model was first presented in the research article : https://doi.org/10.1016/j.enbuild.2026.117409
Overview
building_eload runs a two-stage pipeline:
- Static simulation: annual building-level energy estimates and calibration.
- Dynamic simulation: hourly electricity load profiles from static outputs.
Main dependency:
buildingmodel(for static building physics simulation)
Installation
git clone https://git.persee.minesparis.psl.eu/planeterr/building_eload.git
cd building_eload
pip install -e .
If needed by your workflow, also install buildingmodel in editable mode.
Data Paths Exposed by the Package
Defined in building_eload/__init__.py:
data_path["data"]data_path["bdtopo"]data_path["elmas"]data_path["simulation"]data_path["activity_calendar"]data_path["validation"]data_path["climate"]data_path["representative_districts"]plot_pathdownload_link
Current Core API
Static simulation (building_eload.core.static_simulation)
Main classes:
StaticParametersStaticSimulationStaticResultsBuildingModelResultsStaticProcessor
Primary methods used by users:
StaticSimulation.run()StaticSimulation.run_energy_demand()StaticResults.save_results(save_dict: Optional[dict[str, bool]] = None)
Dynamic simulation (building_eload.core.dynamic_simulation)
Main classes:
DynamicParametersDynamicSimulation
Primary methods used by users:
DynamicSimulation.from_files(district_id, parameters)DynamicSimulation.from_static_results(static_results, parameters)DynamicSimulation.run()DynamicSimulation.save_results()DynamicSimulation.plot_results(...)
Minimal Usage
Tutorials for botyh simulation process are available in : /doc/tutorials
1) Static simulation
import numpy as np
from building_eload.core.static_simulation import StaticParameters, StaticSimulation
district_id = "262320000"
eu = np.arange(0.7, 1.3, 0.05).round(2)
hs = np.arange(16.0, 22.5, 0.5).round(1)
energy_use_parameters = [
{"actual_heating_set_point": hs[i], "energy_use_factor": eu[i]}
for i in range(len(hs))
]
params = StaticParameters(
n_inference=10,
calibration_year=2023,
climate_year=None,
energy_use_parameters=energy_use_parameters,
)
sim = StaticSimulation(district_id=district_id, parameters=params)
results = sim.run()
results.save_results()
2) Dynamic simulation
from building_eload.core.dynamic_simulation import DynamicParameters, DynamicSimulation
district_id = "262320000"
params = DynamicParameters(
year=2023,
run_non_residential=True,
run_again=True,
)
sim = DynamicSimulation.from_files(district_id=district_id, parameters=params)
sim.run()
sim.save_results()
Script Entry Points (Current)
- Static simulation:
python -m building_eload.scripts.simulation.static.run
- Parallel static simulation:
python -m building_eload.scripts.simulation.static.run_parallel
- Dynamic simulation:
python -m building_eload.scripts.simulation.dynamic.run
- Parallel dynamic simulation:
python -m building_eload.scripts.simulation.dynamic.run_parallel
- Validation:
python -m building_eload.scripts.validation.run
- Climate preprocessing:
python -m building_eload.scripts.climate.generate_climates
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file building_eload-0.4.0-py3-none-any.whl.
File metadata
- Download URL: building_eload-0.4.0-py3-none-any.whl
- Upload date:
- Size: 118.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4b5c14f83a6dffd325cc9f47659033430fcb38b399b6d307f5947910896ecbc
|
|
| MD5 |
8676e84e9a8ae8ae1441e227deff2e6d
|
|
| BLAKE2b-256 |
0c52dec205df63431c63aa921e1441256e7e42e4a8479ab3de0dd75bc02b08ef
|