diff --git a/hub/catalog_factories/data_models/usages/thermal_control.py b/hub/catalog_factories/data_models/usages/thermal_control.py index e058078f..1060e7fa 100644 --- a/hub/catalog_factories/data_models/usages/thermal_control.py +++ b/hub/catalog_factories/data_models/usages/thermal_control.py @@ -18,6 +18,8 @@ class ThermalControl: hvac_availability_schedules, heating_set_point_schedules, cooling_set_point_schedules): + #todo: eliminate negative value + deltaTsetpoint=-1 self._mean_heating_set_point = mean_heating_set_point self._heating_set_back = heating_set_back self._mean_cooling_set_point = mean_cooling_set_point diff --git a/hub/catalog_factories/energy_systems/nrcan_catalog.py b/hub/catalog_factories/energy_systems/nrcan_catalog.py index baf8a2c2..c74401ae 100644 --- a/hub/catalog_factories/energy_systems/nrcan_catalog.py +++ b/hub/catalog_factories/energy_systems/nrcan_catalog.py @@ -49,7 +49,8 @@ class NrcanCatalog(Catalog): hvac_schedule_name = space_type['exhaust_schedule'] if 'FAN' in hvac_schedule_name: hvac_schedule_name = hvac_schedule_name.replace('FAN', 'Fan') - heating_setpoint_schedule_name = space_type['heating_setpoint_schedule'] + #todo: get -1 out of the setpoint + heating_setpoint_schedule_name = space_type['heating_setpoint_schedule']-1 cooling_setpoint_schedule_name = space_type['cooling_setpoint_schedule'] occupancy_schedule = self._get_schedules(occupancy_schedule_name) lighting_schedule = self._get_schedules(lighting_schedule_name) diff --git a/hub/exports/building_energy/idf.py b/hub/exports/building_energy/idf.py index 1feb6185..38ea197a 100644 --- a/hub/exports/building_energy/idf.py +++ b/hub/exports/building_energy/idf.py @@ -389,18 +389,20 @@ class Idf: ) def _add_infiltration(self, thermal_zone, zone_name): - for zone in self._idf.idfobjects["ZONE"]: - if zone.Name == f'{zone_name}_infiltration': - return + #for zone in self._idf.idfobjects["ZONE"]: + # if zone.Name == f'{zone_name}_infiltration': + # return schedule = f'Infiltration schedules {thermal_zone.usage_name}' - if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]: - return + #if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]: + # return + # todo: eliminate the factor + factorreduct=0.5 self._idf.newidfobject(self._INFILTRATION, Name=f'{zone_name}_infiltration', Zone_or_ZoneList_Name=zone_name, Schedule_Name=schedule, Design_Flow_Rate_Calculation_Method='AirChanges/Hour', - Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off + Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off*factorreduct ) def _rename_building(self, city_name): diff --git a/hub/exports/building_energy/idf_files/Minimal.idf b/hub/exports/building_energy/idf_files/Minimal.idf index 67846cf4..4152f476 100644 --- a/hub/exports/building_energy/idf_files/Minimal.idf +++ b/hub/exports/building_energy/idf_files/Minimal.idf @@ -127,26 +127,32 @@ No, !- Do HVAC Sizing Simulation for Sizing Periods 1; !- Maximum Number of HVAC Sizing Simulation Passes - Output:VariableDictionary,Regular; + Output:Table:SummaryReports, AnnualBuildingUtilityPerformanceSummary, + DemandEndUseComponentsSummary, + SensibleHeatGainSummary, + InputVerificationandResultsSummary, + AdaptiveComfortSummary, + Standard62.1Summary, + ClimaticDataSummary, + EquipmentSummary, + EnvelopeSummary, + LightingSummary, + HVACSizingSummary, + SystemSummary, + ComponentSizingSummary, + OutdoorAirSummary, + ObjectCountSummary, + EndUseEnergyConsumptionOtherFuelsMonthly, + PeakEnergyEndUseOtherFuelsMonthly; - Output:Variable,*,Site Outdoor Air Drybulb Temperature,Timestep; - Output:Variable,*,Site Outdoor Air Wetbulb Temperature,Timestep; + OutputControl:Table:Style, CommaAndHTML,JtoKWH; - Output:Variable,*,Site Outdoor Air Dewpoint Temperature,Timestep; + Output:Meter,Electricity:Facility,monthly; + Output:Meter,DISTRICTHEATING:Facility,monthly; + Output:Meter,DISTRICTCOOLING:Facility,monthly; + Output:Meter,InteriorEquipment:Electricity,monthly; + Output:Meter,InteriorLights:Electricity,monthly; - Output:Variable,*,Site Solar Azimuth Angle,Timestep; - - Output:Variable,*,Site Solar Altitude Angle,Timestep; - - Output:Variable,*,Site Direct Solar Radiation Rate per Area,Timestep; - - Output:Variable,*,Site Diffuse Solar Radiation Rate per Area,Timestep; - - OutputControl:Table:Style, - HTML; !- Column Separator - - Output:Table:SummaryReports, - AllSummary; !- Report 1 Name - - Output:Diagnostics,DisplayUnusedSchedules; \ No newline at end of file + OutputControl:IlluminanceMap:Style, + Comma; !- Column separator