architecture-building-systems / CityEnergyAnalyst

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

AttributeError: 'DataFrame' object has no attribute 'code' #3656

Open SNokay35 opened 2 weeks ago

SNokay35 commented 2 weeks ago

We are facing an error regarding Optimisation Part 2

Applying fix for Apple Silicon Applying fix for Apple Silicon City Energy Analyst version 3.38.0 Running cea optimization-new with the following parameters:

Setting up optimisation algorithm:

Initializing domain:

  1. Creating available supply system components... Traceback (most recent call last): File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/worker.py", line 146, in worker run_job(config, job, server) File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/worker.py", line 108, in run_job script(config=config, *parameters) File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/api.py", line 60, in call self.runner.call_(args, **kwargs) File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/api.py", line 38, in script_runner script_module.main(config) File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/optimization_new/domain.py", line 642, in main current_domain.optimize_domain() File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/optimization_new/domain.py", line 146, in optimize_domain self._initialize_energy_system_descriptor_classes() File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/optimization_new/domain.py", line 605, in _initialize_energy_system_descriptor_classes Component.initialize_class_variables(self) File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/optimization_new/component.py", line 73, in initialize_class_variables Component.code_to_class_mapping = Component.create_code_mapping(Component._components_database) File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/cea/optimization_new/component.py", line 89, in create_code_mapping component_codes_in_tab = set(database[database_tab].code.values) File "/Users/piersergiodimaio/Documents/CityEnergyAnalyst/envs/cea/lib/python3.8/site-packages/pandas/core/generic.py", line 5989, in getattr return object.getattribute(self, name) AttributeError: 'DataFrame' object has no attribute 'code'

Could you help us to how to proceed?

Hardware:

MatNif commented 1 day ago

Hi @SNokay35,

I'm sorry for not getting back to you sooner. Could it be that you either (A) created this case quite a while ago or (B) modified the components database in some respect? To me, it very much looks like there is something off about the components database, i.e., the database that holds a description of the heating, cooling, and electricity-generating technologies.

You could try updating your databases with the new defaults by running the 'Database initialiser' found under 'Tools>Utilities'. If you do need customised databases, please make sure you fill in all of the columns for the technologies you add.

I hope this helps.