Merge remote-tracking branch 'origin/main'

This commit is contained in:
Oriol Gavalda 2023-05-19 16:12:39 -04:00
commit 1f9ef0513a
4 changed files with 24 additions and 59 deletions

View File

@ -1,13 +1,25 @@
# monthly_energy_balance_workflow
This tool calculates the monthly energy balance for each building in a given region.
It provides as results the energy demand and consumption separated in:
- Heating
- Cooling
- Domestic Hot Water
Also, electrical demand of:
- Lighting
- Other appliances
And heating and cooling peak loads.
All these results are provided both, monthly a yearly based.
The following assumptions are taken:
- No building in the region have attics
- All buildings have basement but those are not heated
- The construction details come from nrel
- The usage details come from comnet
- The heated volume is 85% of the total volume, assuming that the rest is occupied by internal walls
- The construction details come from nrcan
- The usage details come from nrcan
- The system details come from the Montreal Custom catalog
#### Dependencies
@ -18,50 +30,3 @@ You will need to install the following dependencies in your computer in order to
+ Simplified Radiosity Algorithm (mail to: guillermo.gutierrezmorote@concordia.ca)
After installing these tools you should include their paths in Path.
## installation
##### Linux / Mac
Open a terminal and run the following commands.
```
$ mkdir monthly_enery_balance_workflow
$ cd monthly_enery_balance_workflow
$ git clone https://binarycat.org/git/PMAU/monthly_enery_balance_workflow.git
MISSING CONNECTING TO HUB, SIMLPIFIED_RADIOSITY_ALGORITHM AND MONTHLYENERGYBALANCE!!!!!!!!!
$ python -m pip install -r ../requirements.txt
```
##### Windows
Open a terminal and run the following commands.
```
c:\> mkdir monthly_enery_balance_workflow
c:\> cd monthly_enery_balance_workflow
c:\> git clone https://binarycat.org/git/PMAU/monthly_enery_balance_workflow.git
MISSING CONNECTING TO HUB, SIMLPIFIED_RADIOSITY_ALGORITHM AND MONTHLYENERGYBALANCE!!!!!!!!!
c:\> python.exe -m pip install -r ../requirements.txt
```
#### usage
##### Linux / Mac
Open a terminal and run the following command
```
$ python main.py
```
##### Windows
Open a terminal and run the following command.
```
c:\> python.exe main.py
```

View File

@ -1,5 +1,5 @@
"""
EnergySystemsDimensioning enriches the city buildings energy systems
EnergySystemsSizing enriches the city buildings energy systems
with the parameters related to the systems dimensioning
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2023 Concordia CERC group
@ -15,9 +15,9 @@ from hub.city_model_structure.energy_systems.distribution_system import Distribu
from hub.city_model_structure.energy_systems.emission_system import EmissionSystem
class EnergySystemsDimensioning:
class EnergySystemsSizing:
"""
EnergySystemsDimensioning class
EnergySystemsSizing class
"""
def __init__(self, city):
self._city = city

11
main.py
View File

@ -9,7 +9,7 @@ from hub.imports.energy_systems_factory import EnergySystemsFactory
from results import Results
from monthly_energy_balance_engine import MonthlyEnergyBalanceEngine
from sra_engine import SraEngine
from energy_systems_dimensioning import EnergySystemsDimensioning
from energy_systems_sizing import EnergySystemsSizing
try:
@ -42,6 +42,10 @@ try:
print('enrich constructions... done')
UsageFactory(usage_format, city).enrich()
print('enrich usage... done')
for building in city.buildings:
building.energy_systems_archetype_name = 'system 1 gas'
EnergySystemsFactory(energy_systems_format, city).enrich()
print('enrich systems... done')
print('exporting:')
sra_file = (tmp_folder / f'{city.name}_sra.xml').resolve()
@ -51,10 +55,7 @@ try:
MonthlyEnergyBalanceEngine(city, tmp_folder)
print(' insel processed...')
for building in city.buildings:
building.energy_systems_archetype_name = 'system 1 gas'
EnergySystemsFactory(energy_systems_format, city).enrich()
EnergySystemsDimensioning(city).enrich()
EnergySystemsSizing(city).enrich()
print(' energy systems dimensioning processed...')
results = Results(city, out_path)

View File

@ -86,7 +86,6 @@ class Results:
file += f'storeys: {int(building.eave_height / building.average_storey_height)}\n'
else:
file += f'storeys: n/a\n'
file += f'heated_volume: {0.85 * building.volume}\n'
file += f'volume: {building.volume}\n'
full_path_results = Path(self._path / 'demand.csv').resolve()