architecture-building-systems / CityEnergyAnalyst

The City Energy Analyst (CEA)
https://www.cityenergyanalyst.com/
MIT License
196 stars 62 forks source link

Merging SUPPLY_NEW.xlsx and CONVERSION_NEW.xlsx into the older ones #3529

Closed ShiZhongming closed 4 months ago

ShiZhongming commented 6 months ago

This will solve #3432

ShiZhongming commented 6 months ago

Hi @MatNif Shall we meet briefly after the monthly meeting so that I can update you about how I want to proceed and you can instruct me?

MatNif commented 6 months ago

Hi @ShiZhongming ,

Sure, happy to set up a timeline for it and see how I can contribute.

ShiZhongming commented 6 months ago

Dear @MatNif ,

I have preliminarily finished merging the _new files, using branch named 3529-to-merge-to-the-old-database. I tested the merger using a simple heating case in Zurich. All CEA Features worked fine except for the optimisation-new-part2, and I copied the error message here. Could you take a look?

Applying fix for Apple Silicon Applying fix for Apple Silicon Time elapsed for loading buildings in domain: 0.5532188415527344 s Time elapsed for loading energy potentials: 0.36941003799438477 s

Initializing domain:

  1. Creating available supply system components...
  2. Finding possible network paths (this may take a while)...
  3. Establishing district energy system structure...
  4. Defining possible connectivity vectors...

Calculating operation of buildings' base-supply systems... Traceback (most recent call last): File "/Users/zshi/Documents/GitHub/CityEnergyAnalyst/cea/optimization_new/domain.py", line 579, in main(cea.config.Configuration()) File "/Users/zshi/Documents/GitHub/CityEnergyAnalyst/cea/optimization_new/domain.py", line 568, in main current_domain.optimize_domain() File "/Users/zshi/Documents/GitHub/CityEnergyAnalyst/cea/optimization_new/domain.py", line 144, in optimize_domain [building.calculate_supply_system(building_energy_potentials[building.identifier]) File "/Users/zshi/Documents/GitHub/CityEnergyAnalyst/cea/optimization_new/domain.py", line 144, in [building.calculate_supply_system(building_energy_potentials[building.identifier]) File "/Users/zshi/Documents/GitHub/CityEnergyAnalyst/cea/optimization_new/building.py", line 173, in calculate_supply_system self.stand_alone_supply_system.evaluate() File "/Users/zshi/Documents/GitHub/CityEnergyAnalyst/cea/optimization_new/supplySystem.py", line 102, in evaluate self._perform_water_filling_principle('primary', primary_demand_dict) File "/Users/zshi/Documents/GitHub/CityEnergyAnalyst/cea/optimization_new/supplySystem.py", line 262, in _perform_water_filling_principle raise ValueError(f'The installed component capacity was insufficient and demand could not be met. ' ValueError: The installed component capacity was insufficient and demand could not be met. An additional 25.366 kW of capacity to produce 60 °C thermal energy (water) is required. Please correct the generation/mutation/mating of your capacity indicator vectors.

MatNif commented 6 months ago

Hi @ShiZhongming

The issue you experienced is linked to the components not being installed since the available components can not be read from the config properly. It seems that changing the value to their capitalised versions messes with the retrievablity of theses values from the config file. I'll have to look into it in more detail next week but I'm guessing it is linked the the definition of the 'MultiChoiceParameter' class.

MatNif commented 5 months ago

Hi @ShiZhongming

I largely finished the merging of the two databases. It would be good, though, if we could have another more conceptual discussion about the use of a time series in the feedstock. So far, with my implementation, I simply take averages of these time series into account for the optimisation script. But I can extend it to take the time series into consideration if that is needed or might be needed soon. Please, just drop me a quick line on Slack to indicate when you have time.