def ddy_from_epw(epw_file, sim_par): """Produce a DDY from an EPW file.""" epw_obj = EPW(epw_file) des_days = [ epw_obj.approximate_design_day('WinterDesignDay'), epw_obj.approximate_design_day('SummerDesignDay') ] sim_par.sizing_parameter.design_days = des_days
# assign design days from the EPW msg = None folder, epw_file_name = os.path.split(_epw_file) ddy_file = os.path.join(folder, epw_file_name.replace('.epw', '.ddy')) if os.path.isfile(ddy_file): try: _sim_par_.sizing_parameter.add_from_ddy_996_004(ddy_file) except AssertionError: msg = 'No design days were found in the .ddy file next to the _epw_file.' else: msg = 'No .ddy file was found next to the _epw_file.' if msg is not None: epw_obj = EPW(_epw_file) des_days = [ epw_obj.approximate_design_day('WinterDesignDay'), epw_obj.approximate_design_day('SummerDesignDay') ] _sim_par_.sizing_parameter.design_days = des_days msg = msg + '\nDesign days were generated from the input _epw_file but this ' \ '\nis not as accurate as design days from DDYs distributed with the EPW.' give_warning(ghenv.Component, msg) print msg # create the strings for simulation paramters and model ver_str = energyplus_idf_version() if energy_folders.energyplus_version \ is not None else energyplus_idf_version(compatibe_ep_version) sim_par_str = _sim_par_.to_idf() model_str = _model.to.idf(_model, schedule_directory=sch_directory, patch_missing_adjacencies=True)