'Python, TypeError:
I am very beginner in python. I tried the code (need to change, osm file to idf file, change schedule file object and then run eppy calcultion on Energyplus) - single code works. Then I did for loop to do multiple simulations but I got following error:
TypeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_7956/1993903841.py in <module>
10 epw = get_data_from_path(WEATHER_FILEPATH)
11 osm_editor = OpenStudioModelEditor(osm)
---> 12 idf = osm_editor.forward_translate()
13 simulator = Simulator(IDD_FILEPATH,idf,epw,simulation_id=simulation_id,output_directory=output_directory)
14 idf = simulator.get_idf_object()
~\OneDrive\Dokumendid\US_work\Journal_paper\doe_xstock\simulate.py in forward_translate(self)
20
21 def forward_translate(self):
---> 22 osm = self.__get_model()
23 forward_translator = energyplus.ForwardTranslator()
24 idf = forward_translator.translateModel(osm)
~\OneDrive\Dokumendid\US_work\Journal_paper\doe_xstock\simulate.py in __get_model(self)
83 def __get_model(self):
84 version_translator = osversion.VersionTranslator()
---> 85 osm = version_translator.loadModelFromString(self.osm).get()
86 return osm
87
~\anaconda3\lib\site-packages\openstudio\openstudioosversion.py in loadModelFromString(self, str, progressBar)
273
274 def loadModelFromString(self, str: "std::string const &", progressBar: "ProgressBar"=None) -> "boost::optional< openstudio::model::Model >":
--> 275 return _openstudioosversion.VersionTranslator_loadModelFromString(self, str, progressBar)
276
277 def loadComponent(self, *args) -> "boost::optional< openstudio::model::Component >":
TypeError: Wrong number or type of arguments for overloaded function 'VersionTranslator_loadModelFromString'.
Possible C/C++ prototypes are:
openstudio::osversion::VersionTranslator::loadModelFromString(std::string const &,openstudio::ProgressBar *)
openstudio::osversion::VersionTranslator::loadModelFromString(std::string const &)
My code is following:
for bldg_id in index_list:
WEATHER_FILEPATH = Path(r'C:\Users\mikkm\OneDrive\Dokumendid\US_work\Journal_paper\calculations\Weather\oiko.amy.Dallas Texas United States_2018.epw')
OSM_FILEPATH = Path(r'C:\Users\mikkm\OneDrive\Dokumendid\US_work\Journal_paper\calculations\Models\bldg{bldg_id:07d}-up00.osm')
SCHEDULES_FILEPATH = Path(r'C:\Users\mikkm\OneDrive\Dokumendid\US_work\Journal_paper\calculations\Models\bldg{bldg_id:07d}-up00.csv')
IDD_FILEPATH = Path(r'C:\EnergyPlusV9-6-0\Energy+.idd')
simulation_id = 'simulation{bldg_id}'
output_directory = simulation_id
osm = get_data_from_path(OSM_FILEPATH)
epw = get_data_from_path(WEATHER_FILEPATH)
osm_editor = OpenStudioModelEditor(osm)
idf = osm_editor.forward_translate()
simulator = Simulator(IDD_FILEPATH,idf,epw,simulation_id=simulation_id,output_directory=output_directory)
idf = simulator.get_idf_object()
for obj in idf.idfobjects['Schedule:File']:
if obj.Name in ["occupants","lighting_interior","ceiling_fan","dishwasher_power","plug_loads","cooking_range","baths","lighting_exterior","dishwasher",'showers','sinks']:
obj.File_Name = r'C:\Users\mikkm\OneDrive\Dokumendid\US_work\Journal_paper\calculations\Models\bldg{bldg_id:07d}-up00.csv'
obj = idf.newidfobject('Output:Variable')
obj.Variable_Name = 'Zone Air Temperature'
simulator.idf = idf.idfstr()
simulator.simulate()
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|