openstudio-common-measures 0.2.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +82 -0
- data/Jenkinsfile +2 -1
- data/LICENSE.md +1 -1
- data/Rakefile +17 -0
- data/doc_templates/LICENSE.md +1 -1
- data/doc_templates/copyright_erb.txt +1 -1
- data/doc_templates/copyright_js.txt +1 -1
- data/doc_templates/copyright_ruby.txt +1 -1
- data/lib/measures/AddCostPerAreaToConstruction/LICENSE.md +1 -1
- data/lib/measures/AddCostPerAreaToConstruction/measure.rb +1 -1
- data/lib/measures/AddCostPerAreaToConstruction/measure.xml +8 -7
- data/lib/measures/AddCostPerFloorAreaToBuilding/LICENSE.md +1 -1
- data/lib/measures/AddCostPerFloorAreaToBuilding/measure.rb +1 -1
- data/lib/measures/AddCostPerFloorAreaToBuilding/measure.xml +8 -7
- data/lib/measures/AddCostPerFloorAreaToElectricEquipment/LICENSE.md +1 -1
- data/lib/measures/AddCostPerFloorAreaToElectricEquipment/measure.rb +1 -1
- data/lib/measures/AddCostPerFloorAreaToElectricEquipment/measure.xml +8 -7
- data/lib/measures/AddCostPerFloorAreaToLights/LICENSE.md +1 -1
- data/lib/measures/AddCostPerFloorAreaToLights/measure.rb +1 -1
- data/lib/measures/AddCostPerFloorAreaToLights/measure.xml +8 -7
- data/lib/measures/AddCostPerFloorAreaUnusedToLights/LICENSE.md +1 -1
- data/lib/measures/AddCostPerFloorAreaUnusedToLights/measure.rb +1 -1
- data/lib/measures/AddCostPerFloorAreaUnusedToLights/measure.xml +8 -7
- data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/LICENSE.md +1 -1
- data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/measure.rb +1 -1
- data/lib/measures/AddCostToSupplySideHVACComponentByAirLoop/measure.xml +9 -8
- data/lib/measures/AddCostperAreatoUnusedConstruction/LICENSE.md +1 -1
- data/lib/measures/AddCostperAreatoUnusedConstruction/measure.rb +1 -1
- data/lib/measures/AddCostperAreatoUnusedConstruction/measure.xml +8 -7
- data/lib/measures/AddExteriorLights/LICENSE.md +1 -1
- data/lib/measures/AddExteriorLights/measure.rb +1 -1
- data/lib/measures/AddExteriorLights/measure.xml +8 -7
- data/lib/measures/AddMeter/LICENSE.md +1 -1
- data/lib/measures/AddMeter/measure.rb +1 -1
- data/lib/measures/AddMeter/measure.xml +8 -7
- data/lib/measures/AddOutputDiagnostics/LICENSE.md +1 -1
- data/lib/measures/AddOutputDiagnostics/measure.rb +1 -1
- data/lib/measures/AddOutputDiagnostics/measure.xml +8 -7
- data/lib/measures/AddOutputVariable/LICENSE.md +1 -1
- data/lib/measures/AddOutputVariable/measure.rb +1 -1
- data/lib/measures/AddOutputVariable/measure.xml +8 -7
- data/lib/measures/AddSimplePvToShadingSurfacesByType/LICENSE.md +1 -1
- data/lib/measures/AddSimplePvToShadingSurfacesByType/measure.rb +1 -1
- data/lib/measures/AddSimplePvToShadingSurfacesByType/measure.xml +8 -7
- data/lib/measures/AdjustSystemEfficiencies/LICENSE.md +1 -1
- data/lib/measures/AdjustSystemEfficiencies/measure.rb +1 -1
- data/lib/measures/AdjustSystemEfficiencies/measure.xml +7 -6
- data/lib/measures/AdjustThermostatSetpointsByDegrees/LICENSE.md +1 -1
- data/lib/measures/AdjustThermostatSetpointsByDegrees/measure.rb +1 -1
- data/lib/measures/AdjustThermostatSetpointsByDegrees/measure.xml +8 -7
- data/lib/measures/ChangeBuildingLocation/LICENSE.md +1 -1
- data/lib/measures/ChangeBuildingLocation/measure.rb +3 -3
- data/lib/measures/ChangeBuildingLocation/measure.xml +15 -15
- data/lib/measures/ChangeBuildingLocation/resources/epw.rb +1 -1
- data/lib/measures/ChangeBuildingLocation/resources/stat_file.rb +1 -1
- data/lib/measures/EnableIdealAirLoadsForAllZones/LICENSE.md +1 -1
- data/lib/measures/EnableIdealAirLoadsForAllZones/measure.rb +1 -1
- data/lib/measures/EnableIdealAirLoadsForAllZones/measure.xml +9 -8
- data/lib/measures/ExportScheduleCSV/LICENSE.md +1 -1
- data/lib/measures/ExportScheduleCSV/measure.rb +2 -2
- data/lib/measures/ExportScheduleCSV/measure.xml +13 -12
- data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/LICENSE.md +1 -1
- data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/measure.rb +1 -1
- data/lib/measures/ImportEnvelopeAndInternalLoadsFromIdf/measure.xml +9 -8
- data/lib/measures/MeterFlodPlot/LICENSE.md +1 -1
- data/lib/measures/MeterFlodPlot/measure.rb +2 -2
- data/lib/measures/MeterFlodPlot/measure.xml +13 -12
- data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/LICENSE.md +1 -1
- data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/measure.rb +1 -1
- data/lib/measures/ModifyEnergyPlusCoilCoolingDXSingleSpeedObjects/measure.xml +8 -7
- data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/LICENSE.md +1 -1
- data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/measure.rb +1 -1
- data/lib/measures/ModifyEnergyPlusFanVariableVolumeObjects/measure.xml +8 -7
- data/lib/measures/PredictedMeanVote/LICENSE.md +1 -1
- data/lib/measures/PredictedMeanVote/measure.rb +1 -1
- data/lib/measures/PredictedMeanVote/measure.xml +14 -13
- data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/LICENSE.md +1 -1
- data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/measure.rb +1 -1
- data/lib/measures/RemoveInternalLoadsDirectlyAssignedToSpaces/measure.xml +9 -8
- data/lib/measures/RemoveUnusedDefaultProfiles/LICENSE.md +1 -1
- data/lib/measures/RemoveUnusedDefaultProfiles/measure.rb +1 -1
- data/lib/measures/RemoveUnusedDefaultProfiles/measure.xml +9 -8
- data/lib/measures/ReplaceExteriorWindowConstruction/LICENSE.md +1 -1
- data/lib/measures/ReplaceExteriorWindowConstruction/measure.rb +1 -1
- data/lib/measures/ReplaceExteriorWindowConstruction/measure.xml +11 -10
- data/lib/measures/ReplaceThermostatSchedules/LICENSE.md +1 -1
- data/lib/measures/ReplaceThermostatSchedules/measure.rb +1 -1
- data/lib/measures/ReplaceThermostatSchedules/measure.xml +12 -11
- data/lib/measures/ReportModelChanges/LICENSE.md +1 -1
- data/lib/measures/ReportModelChanges/measure.rb +1 -1
- data/lib/measures/ReportModelChanges/measure.xml +5 -5
- data/lib/measures/RunPeriod/LICENSE.md +1 -1
- data/lib/measures/RunPeriod/measure.rb +1 -1
- data/lib/measures/RunPeriod/measure.xml +19 -18
- data/lib/measures/RunPeriodMultiple/LICENSE.md +1 -1
- data/lib/measures/RunPeriodMultiple/measure.rb +1 -1
- data/lib/measures/RunPeriodMultiple/measure.xml +12 -11
- data/lib/measures/ServerDirectoryCleanup/LICENSE.md +1 -1
- data/lib/measures/ServerDirectoryCleanup/README.md +97 -3
- data/lib/measures/ServerDirectoryCleanup/measure.rb +2 -2
- data/lib/measures/ServerDirectoryCleanup/measure.xml +20 -69
- data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/LICENSE.md +1 -1
- data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/measure.rb +1 -1
- data/lib/measures/SetCOPforSingleSpeedDXCoolingUnits/measure.xml +10 -9
- data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/LICENSE.md +1 -1
- data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/measure.rb +1 -1
- data/lib/measures/SetCOPforTwoSpeedDXCoolingUnits/measure.xml +10 -9
- data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/LICENSE.md +1 -1
- data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/measure.rb +1 -1
- data/lib/measures/SetEnergyPlusInfiltrationFlowRatePerFloorArea/measure.xml +8 -7
- data/lib/measures/SetEnergyPlusLightObjectsLPD/LICENSE.md +1 -1
- data/lib/measures/SetEnergyPlusLightObjectsLPD/measure.rb +1 -1
- data/lib/measures/SetEnergyPlusLightObjectsLPD/measure.xml +8 -7
- data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/LICENSE.md +1 -1
- data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/measure.rb +1 -1
- data/lib/measures/SetEnergyPlusMinimumOutdoorAirFlowRate/measure.xml +8 -7
- data/lib/measures/SetGasBurnerEfficiency/LICENSE.md +1 -1
- data/lib/measures/SetGasBurnerEfficiency/measure.rb +1 -1
- data/lib/measures/SetGasBurnerEfficiency/measure.xml +10 -9
- data/lib/measures/SetLifecycleCostParameters/LICENSE.md +1 -1
- data/lib/measures/SetLifecycleCostParameters/measure.rb +1 -1
- data/lib/measures/SetLifecycleCostParameters/measure.xml +8 -7
- data/lib/measures/SetLightingLoadsByLPD/LICENSE.md +1 -1
- data/lib/measures/SetLightingLoadsByLPD/measure.rb +1 -1
- data/lib/measures/SetLightingLoadsByLPD/measure.xml +10 -9
- data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/LICENSE.md +1 -1
- data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/measure.rb +1 -1
- data/lib/measures/SetSpaceInfiltrationByExteriorSurfaceArea/measure.xml +20 -19
- data/lib/measures/SetThermostatSchedules/LICENSE.md +1 -1
- data/lib/measures/SetThermostatSchedules/measure.rb +1 -1
- data/lib/measures/SetThermostatSchedules/measure.xml +12 -11
- data/lib/measures/ShiftScheduleProfileTime/LICENSE.md +1 -1
- data/lib/measures/ShiftScheduleProfileTime/measure.rb +1 -1
- data/lib/measures/ShiftScheduleProfileTime/measure.xml +10 -9
- data/lib/measures/SwapLightsDefinition/LICENSE.md +1 -1
- data/lib/measures/SwapLightsDefinition/measure.rb +1 -1
- data/lib/measures/SwapLightsDefinition/measure.xml +10 -9
- data/lib/measures/UnmetLoadHoursTroubleshooting/LICENSE.md +1 -1
- data/lib/measures/UnmetLoadHoursTroubleshooting/README.md +9 -3
- data/lib/measures/UnmetLoadHoursTroubleshooting/measure.rb +2 -2
- data/lib/measures/UnmetLoadHoursTroubleshooting/measure.xml +72 -23
- data/lib/measures/VentilationQAQC/LICENSE.md +1 -1
- data/lib/measures/VentilationQAQC/README.md +9 -3
- data/lib/measures/VentilationQAQC/measure.rb +53 -46
- data/lib/measures/VentilationQAQC/measure.xml +24 -29
- data/lib/measures/ZoneReport/LICENSE.md +1 -1
- data/lib/measures/ZoneReport/README.md +2 -2
- data/lib/measures/ZoneReport/measure.rb +2 -2
- data/lib/measures/ZoneReport/measure.xml +16 -17
- data/lib/measures/add_ems_to_control_ev_charging/LICENSE.MD.txt +15 -0
- data/lib/measures/{AddDaylightSensors → add_ems_to_control_ev_charging}/LICENSE.md +1 -1
- data/lib/measures/add_ems_to_control_ev_charging/README.md +29 -0
- data/lib/measures/add_ems_to_control_ev_charging/measure.rb +289 -0
- data/lib/measures/add_ems_to_control_ev_charging/measure.xml +91 -0
- data/lib/measures/add_ev_load/LICENSE.MD.txt +15 -0
- data/lib/measures/{EnableEconomizerControl → add_ev_load}/LICENSE.md +1 -1
- data/lib/measures/add_ev_load/README.md +34 -0
- data/lib/measures/add_ev_load/measure.rb +331 -0
- data/lib/measures/add_ev_load/measure.xml +348 -0
- data/lib/measures/add_ev_load/resources/PSN_BuildingKey.csv +104 -0
- data/lib/measures/add_ev_load/resources/PSN_BuildingKey_v2.csv +104 -0
- data/lib/measures/add_ev_load/resources/chg1_dow1_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow1_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow1_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow2_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow2_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow2_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow3_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow3_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg1_dow3_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow1_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow1_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow1_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow2_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow2_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow2_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow3_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow3_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg2_dow3_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow1_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow1_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow1_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow2_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow2_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow2_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow3_flex1.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow3_flex2.csv +96 -0
- data/lib/measures/add_ev_load/resources/chg3_dow3_flex3.csv +96 -0
- data/lib/measures/add_ev_load/resources/fast_charge_15min_Saturday.csv +96 -0
- data/lib/measures/add_ev_load/resources/fast_charge_15min_Sunday.csv +96 -0
- data/lib/measures/add_ev_load/resources/fast_charge_15min_Weekday.csv +96 -0
- data/lib/measures/add_rooftop_pv/LICENSE.md +1 -1
- data/lib/measures/add_rooftop_pv/measure.rb +1 -1
- data/lib/measures/add_rooftop_pv/measure.xml +5 -5
- data/lib/measures/add_zone_mixing_object/LICENSE.md +1 -1
- data/lib/measures/add_zone_mixing_object/measure.rb +1 -1
- data/lib/measures/add_zone_mixing_object/measure.xml +8 -7
- data/lib/measures/add_zone_ventilation_design_flow_rate_object/LICENSE.md +1 -1
- data/lib/measures/add_zone_ventilation_design_flow_rate_object/measure.rb +1 -1
- data/lib/measures/add_zone_ventilation_design_flow_rate_object/measure.xml +8 -7
- data/lib/measures/air_wall_zone_mixing/LICENSE.md +1 -1
- data/lib/measures/air_wall_zone_mixing/measure.rb +1 -1
- data/lib/measures/air_wall_zone_mixing/measure.xml +5 -5
- data/lib/measures/envelope_and_internal_load_breakdown/LICENSE.md +1 -1
- data/lib/measures/envelope_and_internal_load_breakdown/README.md +4 -3
- data/lib/measures/envelope_and_internal_load_breakdown/measure.rb +8 -5
- data/lib/measures/envelope_and_internal_load_breakdown/measure.xml +18 -19
- data/lib/measures/envelope_and_internal_load_breakdown/resources/os_lib_reporting_envelope_and_internal_loads_breakdown.rb +1 -1
- data/lib/measures/envelope_and_internal_load_breakdown/resources/report.html.erb +5 -1
- data/lib/measures/example_report/LICENSE.md +1 -1
- data/lib/measures/example_report/README.md +27 -5
- data/lib/measures/example_report/measure.rb +8 -5
- data/lib/measures/example_report/measure.xml +19 -32
- data/lib/measures/example_report/resources/os_lib_reporting_example.rb +1 -1
- data/lib/measures/example_report/resources/report.html.erb +5 -1
- data/lib/measures/gem_env_report/LICENSE.md +1 -1
- data/lib/measures/gem_env_report/measure.rb +1 -1
- data/lib/measures/gem_env_report/measure.xml +14 -13
- data/lib/measures/gem_env_report/resources/gem_env_info.rb +1 -1
- data/lib/measures/gem_env_report/resources/openstudio_info.rb +1 -1
- data/lib/measures/gem_env_report/resources/run_gem_env_info.rb +1 -1
- data/lib/measures/gem_env_report/resources/run_openstudio_info.rb +1 -1
- data/lib/measures/generic_qaqc/LICENSE.md +1 -1
- data/lib/measures/generic_qaqc/README.md +187 -5
- data/lib/measures/generic_qaqc/measure.rb +7 -2
- data/lib/measures/generic_qaqc/measure.xml +54 -130
- data/lib/measures/generic_qaqc/resources/CreateResults.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_air_sys_temps.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_calibration.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_cond_zns.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_domestic_hot_water.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_envelope_conductance.rb +8 -2
- data/lib/measures/generic_qaqc/resources/check_eui_by_end_use.rb +11 -12
- data/lib/measures/generic_qaqc/resources/check_eui_reasonableness.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_fan_pwr.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_internal_loads.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_capacity.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_efficiency.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_part_load_eff.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_mech_sys_type.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_part_loads.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_placeholder.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_plant_cap.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_plant_temps.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_plenum_loads.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_pump_pwr.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_sch_coord.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_schedules.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_simultaneous_heating_and_cooling.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_supply_air_and_thermostat_temp_difference.rb +1 -1
- data/lib/measures/generic_qaqc/resources/check_weather_files.rb +1 -1
- data/lib/measures/generic_qaqc/resources/os_lib_reporting_qaqc.rb +1 -1
- data/lib/measures/generic_qaqc/resources/report.html.erb +5 -1
- data/lib/measures/get_site_from_building_component_library/LICENSE.md +1 -1
- data/lib/measures/get_site_from_building_component_library/measure.rb +1 -1
- data/lib/measures/get_site_from_building_component_library/measure.xml +6 -6
- data/lib/measures/hvac_psychrometric_chart/LICENSE.md +1 -1
- data/lib/measures/hvac_psychrometric_chart/README.md +11 -5
- data/lib/measures/hvac_psychrometric_chart/measure.rb +2 -2
- data/lib/measures/hvac_psychrometric_chart/measure.xml +13 -19
- data/lib/measures/hvac_psychrometric_chart/resources/report.html.erb +5 -1
- data/lib/measures/inject_idf_objects/LICENSE.md +1 -1
- data/lib/measures/inject_idf_objects/measure.rb +1 -1
- data/lib/measures/inject_idf_objects/measure.xml +29 -28
- data/lib/measures/openstudio_results/LICENSE.md +1 -1
- data/lib/measures/openstudio_results/README.md +200 -6
- data/lib/measures/openstudio_results/measure.rb +20 -14
- data/lib/measures/openstudio_results/measure.xml +210 -302
- data/lib/measures/openstudio_results/resources/Siz.AirConditionerVariableRefrigerantFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirLoopHVAC.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAir.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirLoopHVACUnitarySystem.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalDualDuctVAV.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeCooledBeam.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeFourPipeInduction.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeReheat.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctParallelPIUReheat.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctSeriesPIUReheat.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctUncontrolled.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolNoReheat.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolReheat.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVNoReheat.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.BoilerHotWater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.BoilerSteam.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ChillerAbsorption.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ChillerAbsorptionIndirect.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ChillerElectricEIR.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ChillerHeaterPerformanceElectricEIR.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeedStageData.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXSingleSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXTwoSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXTwoStageWithHumidityControlMode.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXVariableRefrigerantFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeedSpeedData.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingLowTempRadiantVarFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeedStageData.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXSingleSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXVariableRefrigerantFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeedSpeedData.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingDesuperheater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingElectric.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingGas.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingGasMultiStage.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingGasMultiStageStageData.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingLowTempRadiantVarFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterBaseboard.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterBaseboardRadiant.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilPerformanceDXCooling.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilSystemCoolingDXHeatExchangerAssisted.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilSystemCoolingWaterHeatExchangerAssisted.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPump.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPumpWrapped.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoilWaterHeatingDesuperheater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ControllerOutdoorAir.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoolingTowerSingleSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoolingTowerTwoSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.CoolingTowerVariableSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.DistrictCooling.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.DistrictHeating.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterInverterLookUpTable.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterInverterSimple.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterStorageConverter.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ElectricLoadCenterStorageSimple.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.EvaporativeCoolerDirectResearchSpecial.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.EvaporativeCoolerIndirectResearchSpecial.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.EvaporativeFluidCoolerSingleSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.EvaporativeFluidCoolerTwoSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.FanConstantVolume.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.FanOnOff.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.FanVariableVolume.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.FanZoneExhaust.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.FluidCoolerSingleSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.FluidCoolerTwoSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.GeneratorFuelCellElectricalStorage.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.GeneratorFuelCellInverter.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.GeneratorFuelCellPowerModule.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.GeneratorMicroTurbine.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.GeneratorMicroTurbineHeatRecovery.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HVACComponent.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HeaderedPumpsConstantSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HeaderedPumpsVariableSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HeatExchangerFluidToFluid.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitCooling.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitHeating.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.HumidifierSteamElectric.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.Model.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ModelObject.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.PhotovoltaicPerformanceSimple.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.PlantComponentTemperatureSource.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.PlantLoop.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.PumpConstantSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.PumpVariableSpeed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.RefrigerationSecondarySystem.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.RefrigerationSystem.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.RefrigerationTranscriticalSystem.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.SizingSystem.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.SolarCollectorFlatPlatePhotovoltaicThermal.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.SolarCollectorPerformancePhotovoltaicThermalSimple.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ThermalStorageChilledWaterStratified.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.WaterHeaterHeatPump.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.WaterHeaterHeatPumpWrappedCondenser.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.WaterHeaterMixed.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.WaterHeaterStratified.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveElectric.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveWater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveElectric.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveWater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACEnergyRecoveryVentilator.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACFourPipeFanCoil.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACHighTemperatureRadiant.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACIdealLoadsAirSystem.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantConstFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantVarFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalAirConditioner.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalHeatPump.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACUnitHeater.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACUnitVentilator.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneHVACWaterToAirHeatPump.rb +1 -1
- data/lib/measures/openstudio_results/resources/Siz.ZoneVentilationDesignFlowRate.rb +1 -1
- data/lib/measures/openstudio_results/resources/os_lib_reporting.rb +117 -39
- data/lib/measures/openstudio_results/resources/report.html.erb +5 -1
- data/lib/measures/remove_orphan_objects_and_unused_resources/LICENSE.md +1 -1
- data/lib/measures/remove_orphan_objects_and_unused_resources/measure.rb +1 -1
- data/lib/measures/remove_orphan_objects_and_unused_resources/measure.xml +8 -7
- data/lib/measures/set_electric_equipment_loads_by_epd/LICENSE.md +1 -1
- data/lib/measures/set_electric_equipment_loads_by_epd/measure.rb +1 -1
- data/lib/measures/set_electric_equipment_loads_by_epd/measure.xml +10 -9
- data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/LICENSE.md +1 -1
- data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/README.md +16 -0
- data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/measure.rb +33 -2
- data/lib/measures/set_exterior_walls_and_floors_to_adiabatic/measure.xml +33 -8
- data/lib/measures/set_run_period/LICENSE.md +1 -1
- data/lib/measures/set_run_period/measure.rb +1 -1
- data/lib/measures/set_run_period/measure.xml +5 -5
- data/lib/measures/set_space_infiltration_per_exterior_area/LICENSE.md +1 -1
- data/lib/measures/set_space_infiltration_per_exterior_area/measure.rb +1 -1
- data/lib/measures/set_space_infiltration_per_exterior_area/measure.xml +8 -7
- data/lib/measures/tariff_selection_block/LICENSE.md +1 -1
- data/lib/measures/tariff_selection_block/measure.rb +2 -2
- data/lib/measures/tariff_selection_block/measure.xml +5 -5
- data/lib/measures/tariff_selection_flat/LICENSE.md +1 -1
- data/lib/measures/tariff_selection_flat/measure.rb +2 -2
- data/lib/measures/tariff_selection_flat/measure.xml +5 -5
- data/lib/measures/tariff_selection_generic/LICENSE.md +1 -1
- data/lib/measures/tariff_selection_generic/README.md +2 -2
- data/lib/measures/tariff_selection_generic/measure.rb +1 -1
- data/lib/measures/tariff_selection_generic/measure.xml +25 -25
- data/lib/measures/tariff_selection_generic/resources/FlatEnergyCharge-Gas.idf +3 -3
- data/lib/measures/tariff_selection_generic/resources/IN-EIAMonthlyRateGas.idf +1 -1
- data/lib/measures/tariff_selection_time_and_date_dependant/LICENSE.md +1 -1
- data/lib/measures/tariff_selection_time_and_date_dependant/measure.rb +2 -2
- data/lib/measures/tariff_selection_time_and_date_dependant/measure.xml +5 -5
- data/lib/measures/{ImproveFanBeltEfficiency → view_data}/LICENSE.md +1 -1
- data/lib/measures/view_data/README.md +64 -0
- data/lib/measures/{AddDaylightSensors → view_data}/README.md.erb +0 -0
- data/lib/measures/view_data/measure.rb +454 -0
- data/lib/measures/view_data/measure.xml +159 -0
- data/lib/measures/view_data/resources/report.html.in +2881 -0
- data/lib/measures/view_data/resources/va3c.rb +1025 -0
- data/lib/measures/{EnableDemandControlledVentilation → view_model}/LICENSE.md +1 -1
- data/lib/measures/view_model/README.md +26 -0
- data/lib/measures/{EnableDemandControlledVentilation → view_model}/README.md.erb +0 -0
- data/lib/measures/view_model/measure.rb +146 -0
- data/lib/measures/view_model/measure.xml +129 -0
- data/lib/measures/view_model/resources/report.html.in +2881 -0
- data/lib/measures/view_model/resources/va3c.rb +1025 -0
- data/lib/openstudio-common-measures.rb +1 -1
- data/lib/openstudio/common_measures.rb +1 -1
- data/lib/openstudio/common_measures/extension.rb +1 -1
- data/lib/openstudio/common_measures/version.rb +2 -2
- data/openstudio-common-measures.gemspec +4 -4
- metadata +67 -91
- data/lib/measures/AddDaylightSensors/README.md +0 -136
- data/lib/measures/AddDaylightSensors/measure.rb +0 -521
- data/lib/measures/AddDaylightSensors/measure.xml +0 -233
- data/lib/measures/EnableDemandControlledVentilation/README.md +0 -32
- data/lib/measures/EnableDemandControlledVentilation/measure.rb +0 -154
- data/lib/measures/EnableDemandControlledVentilation/measure.xml +0 -99
- data/lib/measures/EnableEconomizerControl/README.md +0 -48
- data/lib/measures/EnableEconomizerControl/README.md.erb +0 -42
- data/lib/measures/EnableEconomizerControl/measure.rb +0 -172
- data/lib/measures/EnableEconomizerControl/measure.xml +0 -124
- data/lib/measures/ImproveFanBeltEfficiency/README.md +0 -104
- data/lib/measures/ImproveFanBeltEfficiency/README.md.erb +0 -42
- data/lib/measures/ImproveFanBeltEfficiency/measure.rb +0 -366
- data/lib/measures/ImproveFanBeltEfficiency/measure.xml +0 -185
- data/lib/measures/ImproveMotorEfficiency/LICENSE.md +0 -27
- data/lib/measures/ImproveMotorEfficiency/README.md +0 -104
- data/lib/measures/ImproveMotorEfficiency/README.md.erb +0 -42
- data/lib/measures/ImproveMotorEfficiency/measure.rb +0 -365
- data/lib/measures/ImproveMotorEfficiency/measure.xml +0 -182
- data/lib/measures/IncreaseInsulationRValueForExteriorWalls/LICENSE.md +0 -27
- data/lib/measures/IncreaseInsulationRValueForExteriorWalls/README.md +0 -64
- data/lib/measures/IncreaseInsulationRValueForExteriorWalls/README.md.erb +0 -42
- data/lib/measures/IncreaseInsulationRValueForExteriorWalls/measure.rb +0 -422
- data/lib/measures/IncreaseInsulationRValueForExteriorWalls/measure.xml +0 -150
- data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/LICENSE.md +0 -27
- data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/README.md +0 -32
- data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/README.md.erb +0 -42
- data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/measure.rb +0 -328
- data/lib/measures/IncreaseInsulationRValueForExteriorWallsByPercentage/measure.xml +0 -98
- data/lib/measures/IncreaseInsulationRValueForRoofs/LICENSE.md +0 -27
- data/lib/measures/IncreaseInsulationRValueForRoofs/README.md +0 -64
- data/lib/measures/IncreaseInsulationRValueForRoofs/README.md.erb +0 -42
- data/lib/measures/IncreaseInsulationRValueForRoofs/measure.rb +0 -422
- data/lib/measures/IncreaseInsulationRValueForRoofs/measure.xml +0 -143
- data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/LICENSE.md +0 -27
- data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/README.md +0 -32
- data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/README.md.erb +0 -42
- data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/measure.rb +0 -328
- data/lib/measures/IncreaseInsulationRValueForRoofsByPercentage/measure.xml +0 -98
- data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/LICENSE.md +0 -27
- data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/README.md +0 -97
- data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/README.md.erb +0 -42
- data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/measure.rb +0 -450
- data/lib/measures/ReduceElectricEquipmentLoadsByPercentage/measure.xml +0 -186
- data/lib/measures/ReduceLightingLoadsByPercentage/LICENSE.md +0 -27
- data/lib/measures/ReduceLightingLoadsByPercentage/README.md +0 -96
- data/lib/measures/ReduceLightingLoadsByPercentage/README.md.erb +0 -42
- data/lib/measures/ReduceLightingLoadsByPercentage/measure.rb +0 -513
- data/lib/measures/ReduceLightingLoadsByPercentage/measure.xml +0 -191
- data/lib/measures/ReduceSpaceInfiltrationByPercentage/LICENSE.md +0 -27
- data/lib/measures/ReduceSpaceInfiltrationByPercentage/README.md +0 -104
- data/lib/measures/ReduceSpaceInfiltrationByPercentage/README.md.erb +0 -42
- data/lib/measures/ReduceSpaceInfiltrationByPercentage/measure.rb +0 -349
- data/lib/measures/ReduceSpaceInfiltrationByPercentage/measure.xml +0 -181
- data/lib/measures/ReduceVentilationByPercentage/LICENSE.md +0 -27
- data/lib/measures/ReduceVentilationByPercentage/README.md +0 -40
- data/lib/measures/ReduceVentilationByPercentage/README.md.erb +0 -42
- data/lib/measures/ReduceVentilationByPercentage/measure.rb +0 -291
- data/lib/measures/ReduceVentilationByPercentage/measure.xml +0 -96
- data/lib/measures/VentilationQAQC/ExampleModel.osm +0 -28468
- data/lib/measures/create_variable_speed_rtu/LICENSE.md +0 -27
- data/lib/measures/create_variable_speed_rtu/README.md +0 -120
- data/lib/measures/create_variable_speed_rtu/README.md.erb +0 -42
- data/lib/measures/create_variable_speed_rtu/measure.rb +0 -539
- data/lib/measures/create_variable_speed_rtu/measure.xml +0 -207
- data/lib/measures/generic_qaqc/resources/os_lib_helper_methods.rb +0 -399
- data/lib/measures/openstudio_results/resources/os_lib_helper_methods.rb +0 -399
- data/lib/measures/openstudio_results/resources/os_lib_schedules.rb +0 -960
- data/lib/measures/radiant_slab_with_doas/LICENSE.md +0 -27
- data/lib/measures/radiant_slab_with_doas/README.md +0 -156
- data/lib/measures/radiant_slab_with_doas/README.md.erb +0 -42
- data/lib/measures/radiant_slab_with_doas/measure.rb +0 -403
- data/lib/measures/radiant_slab_with_doas/measure.xml +0 -345
@@ -1,207 +0,0 @@
|
|
1
|
-
<measure>
|
2
|
-
<schema_version>3.0</schema_version>
|
3
|
-
<name>create_variable_speed_rtu</name>
|
4
|
-
<uid>7fb36b3a-5591-4627-a2b0-7709fbeae593</uid>
|
5
|
-
<version_id>b4784727-b8f2-46e2-92ad-219ecd2e1c5a</version_id>
|
6
|
-
<version_modified>20200229T024317Z</version_modified>
|
7
|
-
<xml_checksum>A9D5932A</xml_checksum>
|
8
|
-
<class_name>CreateVariableSpeedRTU</class_name>
|
9
|
-
<display_name>Create Variable Speed RTU</display_name>
|
10
|
-
<description>This measure examines the existing HVAC system(s) present in the current OpenStudio model. If a constant-speed system is found, the user can opt to have the measure replace that system with a variable-speed RTU. 'Variable speed' in this case means that the compressor will be operated using either two or four stages (user's choice). The user can choose between using a gas heating coil, or a direct-expansion (DX) heating coil. Additionally, the user is able to enter the EER (cooling) and COP (heating) values for each DX stage. This measure allows users to easily identify the impact of improved part-load efficiency.</description>
|
11
|
-
<modeler_description>This measure loops through the existing airloops, looking for loops that have a constant speed fan. (Note that if an object such as an AirloopHVAC:UnitarySystem is present in the model, that the measure will NOT identify that loop as either constant- or variable-speed, since the fan is located inside the UnitarySystem object.) The user can designate which constant-speed airloop they'd like to apply the measure to, or opt to apply the measure to all airloops. The measure then replaces the supply components on the airloop with an AirloopHVAC:UnitarySystem object. Any DX coils added to the UnitarySystem object are of the type CoilCoolingDXMultiSpeed / CoilHeatingDXMultiSpeed, with the number of stages set to either two or four, depending on user input. If the user opts for a gas furnace, an 80% efficient CoilHeatingGas object is added. Fan properties (pressure rise and total efficiency) are transferred automatically from the existing (but deleted) constant speed fan to the new variable-speed fan. Currently, this measure is only applicable to the Standalone Retail DOE Prototype building model, but it has been structured to facilitate expansion to other models with a minimum of effort.</modeler_description>
|
12
|
-
<arguments>
|
13
|
-
<argument>
|
14
|
-
<name>object</name>
|
15
|
-
<display_name>Choose an Air Loop to change from CAV to VAV.</display_name>
|
16
|
-
<type>Choice</type>
|
17
|
-
<required>true</required>
|
18
|
-
<model_dependent>false</model_dependent>
|
19
|
-
<default_value>*All CAV Air Loops*</default_value>
|
20
|
-
<choices>
|
21
|
-
<choice>
|
22
|
-
<value>{42167619-c2eb-4812-a9e5-9b286d7beef8}</value>
|
23
|
-
<display_name>*All CAV Air Loops*</display_name>
|
24
|
-
</choice>
|
25
|
-
</choices>
|
26
|
-
</argument>
|
27
|
-
<argument>
|
28
|
-
<name>cooling_coil_type</name>
|
29
|
-
<display_name>Choose the type of cooling coil.</display_name>
|
30
|
-
<type>Choice</type>
|
31
|
-
<required>true</required>
|
32
|
-
<model_dependent>false</model_dependent>
|
33
|
-
<default_value>Two-Stage Compressor</default_value>
|
34
|
-
<choices>
|
35
|
-
<choice>
|
36
|
-
<value>Two-Stage Compressor</value>
|
37
|
-
<display_name>Two-Stage Compressor</display_name>
|
38
|
-
</choice>
|
39
|
-
<choice>
|
40
|
-
<value>Four-Stage Compressor</value>
|
41
|
-
<display_name>Four-Stage Compressor</display_name>
|
42
|
-
</choice>
|
43
|
-
</choices>
|
44
|
-
</argument>
|
45
|
-
<argument>
|
46
|
-
<name>rated_cc_eer</name>
|
47
|
-
<display_name>Rated Cooling Coil EER</display_name>
|
48
|
-
<type>Double</type>
|
49
|
-
<required>false</required>
|
50
|
-
<model_dependent>false</model_dependent>
|
51
|
-
</argument>
|
52
|
-
<argument>
|
53
|
-
<name>three_quarter_cc_eer</name>
|
54
|
-
<display_name>Cooling Coil EER at 75% Capacity</display_name>
|
55
|
-
<type>Double</type>
|
56
|
-
<required>false</required>
|
57
|
-
<model_dependent>false</model_dependent>
|
58
|
-
</argument>
|
59
|
-
<argument>
|
60
|
-
<name>half_cc_eer</name>
|
61
|
-
<display_name>Cooling Coil EER at 50% Capacity</display_name>
|
62
|
-
<type>Double</type>
|
63
|
-
<required>false</required>
|
64
|
-
<model_dependent>false</model_dependent>
|
65
|
-
</argument>
|
66
|
-
<argument>
|
67
|
-
<name>quarter_cc_eer</name>
|
68
|
-
<display_name>Cooling Coil EER at 25% Capacity</display_name>
|
69
|
-
<type>Double</type>
|
70
|
-
<required>false</required>
|
71
|
-
<model_dependent>false</model_dependent>
|
72
|
-
</argument>
|
73
|
-
<argument>
|
74
|
-
<name>heating_coil_type</name>
|
75
|
-
<display_name>Choose the type of heating coil.</display_name>
|
76
|
-
<type>Choice</type>
|
77
|
-
<required>true</required>
|
78
|
-
<model_dependent>false</model_dependent>
|
79
|
-
<default_value>Gas Heating Coil</default_value>
|
80
|
-
<choices>
|
81
|
-
<choice>
|
82
|
-
<value>Gas Heating Coil</value>
|
83
|
-
<display_name>Gas Heating Coil</display_name>
|
84
|
-
</choice>
|
85
|
-
<choice>
|
86
|
-
<value>Heat Pump</value>
|
87
|
-
<display_name>Heat Pump</display_name>
|
88
|
-
</choice>
|
89
|
-
</choices>
|
90
|
-
</argument>
|
91
|
-
<argument>
|
92
|
-
<name>rated_hc_gas_efficiency</name>
|
93
|
-
<display_name>Rated Gas Heating Coil Efficiency (0-1.00)</display_name>
|
94
|
-
<type>Double</type>
|
95
|
-
<required>false</required>
|
96
|
-
<model_dependent>false</model_dependent>
|
97
|
-
</argument>
|
98
|
-
<argument>
|
99
|
-
<name>rated_hc_cop</name>
|
100
|
-
<display_name>Rated Heating Coil COP</display_name>
|
101
|
-
<type>Double</type>
|
102
|
-
<required>false</required>
|
103
|
-
<model_dependent>false</model_dependent>
|
104
|
-
</argument>
|
105
|
-
<argument>
|
106
|
-
<name>three_quarter_hc_cop</name>
|
107
|
-
<display_name>Heating Coil COP at 75% Capacity</display_name>
|
108
|
-
<type>Double</type>
|
109
|
-
<required>false</required>
|
110
|
-
<model_dependent>false</model_dependent>
|
111
|
-
</argument>
|
112
|
-
<argument>
|
113
|
-
<name>half_hc_cop</name>
|
114
|
-
<display_name>Heating Coil COP at 50% Capacity</display_name>
|
115
|
-
<type>Double</type>
|
116
|
-
<required>false</required>
|
117
|
-
<model_dependent>false</model_dependent>
|
118
|
-
</argument>
|
119
|
-
<argument>
|
120
|
-
<name>quarter_hc_cop</name>
|
121
|
-
<display_name>Heating Coil COP at 25% Capacity</display_name>
|
122
|
-
<type>Double</type>
|
123
|
-
<required>false</required>
|
124
|
-
<model_dependent>false</model_dependent>
|
125
|
-
</argument>
|
126
|
-
</arguments>
|
127
|
-
<outputs/>
|
128
|
-
<provenances/>
|
129
|
-
<tags>
|
130
|
-
<tag>HVAC.Whole System</tag>
|
131
|
-
</tags>
|
132
|
-
<attributes>
|
133
|
-
<attribute>
|
134
|
-
<name>Measure Type</name>
|
135
|
-
<value>ModelMeasure</value>
|
136
|
-
<datatype>string</datatype>
|
137
|
-
</attribute>
|
138
|
-
<attribute>
|
139
|
-
<name>Intended Software Tool</name>
|
140
|
-
<value>Apply Measure Now</value>
|
141
|
-
<datatype>string</datatype>
|
142
|
-
</attribute>
|
143
|
-
<attribute>
|
144
|
-
<name>Intended Software Tool</name>
|
145
|
-
<value>OpenStudio Application</value>
|
146
|
-
<datatype>string</datatype>
|
147
|
-
</attribute>
|
148
|
-
<attribute>
|
149
|
-
<name>Intended Software Tool</name>
|
150
|
-
<value>Parametric Analysis Tool</value>
|
151
|
-
<datatype>string</datatype>
|
152
|
-
</attribute>
|
153
|
-
<attribute>
|
154
|
-
<name>Intended Use Case</name>
|
155
|
-
<value>Model Articulation</value>
|
156
|
-
<datatype>string</datatype>
|
157
|
-
</attribute>
|
158
|
-
<attribute>
|
159
|
-
<name>Intended Use Case</name>
|
160
|
-
<value>New Construction EE</value>
|
161
|
-
<datatype>string</datatype>
|
162
|
-
</attribute>
|
163
|
-
</attributes>
|
164
|
-
<files>
|
165
|
-
<file>
|
166
|
-
<filename>example_model.osm</filename>
|
167
|
-
<filetype>osm</filetype>
|
168
|
-
<usage_type>test</usage_type>
|
169
|
-
<checksum>69467654</checksum>
|
170
|
-
</file>
|
171
|
-
<file>
|
172
|
-
<filename>README.md</filename>
|
173
|
-
<filetype>md</filetype>
|
174
|
-
<usage_type>readme</usage_type>
|
175
|
-
<checksum>839520ED</checksum>
|
176
|
-
</file>
|
177
|
-
<file>
|
178
|
-
<filename>README.md.erb</filename>
|
179
|
-
<filetype>erb</filetype>
|
180
|
-
<usage_type>readmeerb</usage_type>
|
181
|
-
<checksum>703C9964</checksum>
|
182
|
-
</file>
|
183
|
-
<file>
|
184
|
-
<filename>LICENSE.md</filename>
|
185
|
-
<filetype>md</filetype>
|
186
|
-
<usage_type>license</usage_type>
|
187
|
-
<checksum>E0468DD6</checksum>
|
188
|
-
</file>
|
189
|
-
<file>
|
190
|
-
<filename>create_variable_speed_rtu_test.rb</filename>
|
191
|
-
<filetype>rb</filetype>
|
192
|
-
<usage_type>test</usage_type>
|
193
|
-
<checksum>B199E2FA</checksum>
|
194
|
-
</file>
|
195
|
-
<file>
|
196
|
-
<version>
|
197
|
-
<software_program>OpenStudio</software_program>
|
198
|
-
<identifier>1.12.2</identifier>
|
199
|
-
<min_compatible>2.7.0</min_compatible>
|
200
|
-
</version>
|
201
|
-
<filename>measure.rb</filename>
|
202
|
-
<filetype>rb</filetype>
|
203
|
-
<usage_type>script</usage_type>
|
204
|
-
<checksum>13C7C1EA</checksum>
|
205
|
-
</file>
|
206
|
-
</files>
|
207
|
-
</measure>
|
@@ -1,399 +0,0 @@
|
|
1
|
-
# *******************************************************************************
|
2
|
-
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
|
-
# All rights reserved.
|
4
|
-
# Redistribution and use in source and binary forms, with or without
|
5
|
-
# modification, are permitted provided that the following conditions are met:
|
6
|
-
#
|
7
|
-
# (1) Redistributions of source code must retain the above copyright notice,
|
8
|
-
# this list of conditions and the following disclaimer.
|
9
|
-
#
|
10
|
-
# (2) Redistributions in binary form must reproduce the above copyright notice,
|
11
|
-
# this list of conditions and the following disclaimer in the documentation
|
12
|
-
# and/or other materials provided with the distribution.
|
13
|
-
#
|
14
|
-
# (3) Neither the name of the copyright holder nor the names of any contributors
|
15
|
-
# may be used to endorse or promote products derived from this software without
|
16
|
-
# specific prior written permission from the respective party.
|
17
|
-
#
|
18
|
-
# (4) Other than as required in clauses (1) and (2), distributions in any form
|
19
|
-
# of modifications or other derivative works may not use the "OpenStudio"
|
20
|
-
# trademark, "OS", "os", or any other confusingly similar designation without
|
21
|
-
# specific prior written permission from Alliance for Sustainable Energy, LLC.
|
22
|
-
#
|
23
|
-
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
|
24
|
-
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
25
|
-
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
26
|
-
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
|
27
|
-
# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
|
28
|
-
# THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
29
|
-
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
30
|
-
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
31
|
-
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
32
|
-
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
33
|
-
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
34
|
-
# *******************************************************************************
|
35
|
-
|
36
|
-
module OsLib_HelperMethods
|
37
|
-
# populate choice argument from model objects
|
38
|
-
def self.populateChoiceArgFromModelObjects(model, modelObject_args_hash, includeBuilding = nil)
|
39
|
-
# populate choice argument for constructions that are applied to surfaces in the model
|
40
|
-
modelObject_handles = OpenStudio::StringVector.new
|
41
|
-
modelObject_display_names = OpenStudio::StringVector.new
|
42
|
-
|
43
|
-
# looping through sorted hash of constructions
|
44
|
-
modelObject_args_hash.sort.map do |key, value|
|
45
|
-
modelObject_handles << value.handle.to_s
|
46
|
-
modelObject_display_names << key
|
47
|
-
end
|
48
|
-
|
49
|
-
unless includeBuilding.nil?
|
50
|
-
# add building to string vector with space type
|
51
|
-
building = model.getBuilding
|
52
|
-
modelObject_handles << building.handle.to_s
|
53
|
-
modelObject_display_names << includeBuilding
|
54
|
-
end
|
55
|
-
|
56
|
-
result = { 'modelObject_handles' => modelObject_handles, 'modelObject_display_names' => modelObject_display_names }
|
57
|
-
return result
|
58
|
-
end
|
59
|
-
|
60
|
-
# create variables in run from user arguments
|
61
|
-
def self.createRunVariables(runner, model, user_arguments, arguments)
|
62
|
-
result = {}
|
63
|
-
|
64
|
-
error = false
|
65
|
-
# use the built-in error checking
|
66
|
-
unless runner.validateUserArguments(arguments, user_arguments)
|
67
|
-
error = true
|
68
|
-
runner.registerError('Invalid argument values.')
|
69
|
-
end
|
70
|
-
|
71
|
-
user_arguments.each do |argument|
|
72
|
-
# get argument info
|
73
|
-
arg = user_arguments[argument]
|
74
|
-
arg_type = arg.print.lines($/)[1]
|
75
|
-
|
76
|
-
# create argument variable
|
77
|
-
if arg_type.include? 'Double, Required'
|
78
|
-
eval("result[\"#{arg.name}\"] = runner.getDoubleArgumentValue(\"#{arg.name}\", user_arguments)")
|
79
|
-
elsif arg_type.include? 'Integer, Required'
|
80
|
-
eval("result[\"#{arg.name}\"] = runner.getIntegerArgumentValue(\"#{arg.name}\", user_arguments)")
|
81
|
-
elsif arg_type.include? 'String, Required'
|
82
|
-
eval("result[\"#{arg.name}\"] = runner.getStringArgumentValue(\"#{arg.name}\", user_arguments)")
|
83
|
-
elsif arg_type.include? 'Boolean, Required'
|
84
|
-
eval("result[\"#{arg.name}\"] = runner.getBoolArgumentValue(\"#{arg.name}\", user_arguments)")
|
85
|
-
elsif arg_type.include? 'Choice, Required'
|
86
|
-
eval("result[\"#{arg.name}\"] = runner.getStringArgumentValue(\"#{arg.name}\", user_arguments)")
|
87
|
-
else
|
88
|
-
puts 'not setup to handle all argument types yet, or any optional arguments'
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
if error
|
93
|
-
return false
|
94
|
-
else
|
95
|
-
return result
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
# check choice argument made from model objects
|
100
|
-
def self.checkChoiceArgFromModelObjects(object, variableName, to_ObjectType, runner, user_arguments)
|
101
|
-
apply_to_building = false
|
102
|
-
modelObject = nil
|
103
|
-
if object.empty?
|
104
|
-
handle = runner.getStringArgumentValue(variableName, user_arguments)
|
105
|
-
if handle.empty?
|
106
|
-
runner.registerError("No #{variableName} was chosen.") # this logic makes this not work on an optional model object argument
|
107
|
-
else
|
108
|
-
runner.registerError("The selected #{variableName} with handle '#{handle}' was not found in the model. It may have been removed by another measure.")
|
109
|
-
end
|
110
|
-
return false
|
111
|
-
else
|
112
|
-
if !eval("object.get.#{to_ObjectType}").empty?
|
113
|
-
modelObject = eval("object.get.#{to_ObjectType}").get
|
114
|
-
elsif !object.get.to_Building.empty?
|
115
|
-
apply_to_building = true
|
116
|
-
else
|
117
|
-
runner.registerError("Script Error - argument not showing up as #{variableName}.")
|
118
|
-
return false
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
result = { 'modelObject' => modelObject, 'apply_to_building' => apply_to_building }
|
123
|
-
end
|
124
|
-
|
125
|
-
# check choice argument made from model objects
|
126
|
-
def self.checkOptionalChoiceArgFromModelObjects(object, variableName, to_ObjectType, runner, user_arguments)
|
127
|
-
apply_to_building = false
|
128
|
-
modelObject = nil
|
129
|
-
if object.empty?
|
130
|
-
handle = runner.getOptionalStringArgumentValue(variableName, user_arguments)
|
131
|
-
if handle.empty?
|
132
|
-
# do nothing, this is a valid option
|
133
|
-
puts 'hello'
|
134
|
-
modelObject = nil
|
135
|
-
apply_to_building = false
|
136
|
-
else
|
137
|
-
runner.registerError("The selected #{variableName} with handle '#{handle}' was not found in the model. It may have been removed by another measure.")
|
138
|
-
return false
|
139
|
-
end
|
140
|
-
else
|
141
|
-
if !eval("object.get.#{to_ObjectType}").empty?
|
142
|
-
modelObject = eval("object.get.#{to_ObjectType}").get
|
143
|
-
elsif !object.get.to_Building.empty?
|
144
|
-
apply_to_building = true
|
145
|
-
else
|
146
|
-
runner.registerError("Script Error - argument not showing up as #{variableName}.")
|
147
|
-
return false
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
result = { 'modelObject' => modelObject, 'apply_to_building' => apply_to_building }
|
152
|
-
end
|
153
|
-
|
154
|
-
# check value of double arguments
|
155
|
-
def self.checkDoubleAndIntegerArguments(runner, user_arguments, arg_check_hash)
|
156
|
-
error = false
|
157
|
-
|
158
|
-
# get hash values
|
159
|
-
min = arg_check_hash['min']
|
160
|
-
max = arg_check_hash['max']
|
161
|
-
min_eq_bool = arg_check_hash['min_eq_bool']
|
162
|
-
max_eq_bool = arg_check_hash['max_eq_bool']
|
163
|
-
|
164
|
-
arg_check_hash['arg_array'].each do |argument|
|
165
|
-
argument = user_arguments[argument]
|
166
|
-
|
167
|
-
# get arg values
|
168
|
-
arg_value = nil
|
169
|
-
if argument.hasValue
|
170
|
-
arg_value = argument.valueDisplayName.to_f # instead of valueAsDouble so it allows integer arguments as well
|
171
|
-
elsif argument.hasDefaultValue
|
172
|
-
arg_value = argument.defaultValueDisplayName.to_f
|
173
|
-
end
|
174
|
-
arg_display = argument.displayName
|
175
|
-
|
176
|
-
unless min.nil?
|
177
|
-
if min_eq_bool
|
178
|
-
if arg_value < min
|
179
|
-
runner.registerError("Please enter value greater than or equal to #{min} for #{arg_display}.") # add in argument display name
|
180
|
-
error = true
|
181
|
-
end
|
182
|
-
else
|
183
|
-
if arg_value <= min
|
184
|
-
runner.registerError("Please enter value greater than #{min} for #{arg_display}.") # add in argument display name
|
185
|
-
error = true
|
186
|
-
end
|
187
|
-
end
|
188
|
-
end
|
189
|
-
unless max.nil?
|
190
|
-
if max_eq_bool
|
191
|
-
if arg_value > max
|
192
|
-
runner.registerError("Please enter value less than or equal to #{max} for #{arg_display}.") # add in argument display name
|
193
|
-
error = true
|
194
|
-
end
|
195
|
-
else
|
196
|
-
if arg_value >= max
|
197
|
-
runner.registerError("Please enter value less than #{max} for #{arg_display}.") # add in argument display name
|
198
|
-
error = true
|
199
|
-
end
|
200
|
-
end
|
201
|
-
end
|
202
|
-
end
|
203
|
-
|
204
|
-
# check for any errors
|
205
|
-
if error
|
206
|
-
return false
|
207
|
-
else
|
208
|
-
return true
|
209
|
-
end
|
210
|
-
end
|
211
|
-
|
212
|
-
# open channel to log info/warning/error messages
|
213
|
-
def self.setup_log_msgs(runner, debug = false)
|
214
|
-
# Open a channel to log info/warning/error messages
|
215
|
-
@msg_log = OpenStudio::StringStreamLogSink.new
|
216
|
-
if debug
|
217
|
-
@msg_log.setLogLevel(OpenStudio::Debug)
|
218
|
-
else
|
219
|
-
@msg_log.setLogLevel(OpenStudio::Info)
|
220
|
-
end
|
221
|
-
@start_time = Time.new
|
222
|
-
@runner = runner
|
223
|
-
end
|
224
|
-
|
225
|
-
# Get all the log messages and put into output
|
226
|
-
# for users to see.
|
227
|
-
def self.log_msgs
|
228
|
-
@msg_log.logMessages.each do |msg|
|
229
|
-
# DLM: you can filter on log channel here for now
|
230
|
-
if /openstudio.*/.match(msg.logChannel) # /openstudio\.model\..*/
|
231
|
-
# Skip certain messages that are irrelevant/misleading
|
232
|
-
next if msg.logMessage.include?('Skipping layer') || # Annoying/bogus "Skipping layer" warnings
|
233
|
-
msg.logChannel.include?('runmanager') || # RunManager messages
|
234
|
-
msg.logChannel.include?('setFileExtension') || # .ddy extension unexpected
|
235
|
-
msg.logChannel.include?('Translator') || # Forward translator and geometry translator
|
236
|
-
msg.logMessage.include?('UseWeatherFile') # 'UseWeatherFile' is not yet a supported option for YearDescription
|
237
|
-
|
238
|
-
# Report the message in the correct way
|
239
|
-
if msg.logLevel == OpenStudio::Info
|
240
|
-
@runner.registerInfo(msg.logMessage)
|
241
|
-
elsif msg.logLevel == OpenStudio::Warn
|
242
|
-
@runner.registerWarning("[#{msg.logChannel}] #{msg.logMessage}")
|
243
|
-
elsif msg.logLevel == OpenStudio::Error
|
244
|
-
@runner.registerError("[#{msg.logChannel}] #{msg.logMessage}")
|
245
|
-
elsif msg.logLevel == OpenStudio::Debug && @debug
|
246
|
-
@runner.registerInfo("DEBUG - #{msg.logMessage}")
|
247
|
-
end
|
248
|
-
end
|
249
|
-
end
|
250
|
-
@runner.registerInfo("Total Time = #{(Time.new - @start_time).round}sec.")
|
251
|
-
end
|
252
|
-
|
253
|
-
def self.check_upstream_measure_for_arg(runner, arg_name)
|
254
|
-
# 2.x methods (currently setup for measure display name but snake_case arg names)
|
255
|
-
arg_name_value = {}
|
256
|
-
runner.workflow.workflowSteps.each do |step|
|
257
|
-
if step.to_MeasureStep.is_initialized
|
258
|
-
measure_step = step.to_MeasureStep.get
|
259
|
-
|
260
|
-
measure_name = measure_step.measureDirName
|
261
|
-
if measure_step.name.is_initialized
|
262
|
-
measure_name = measure_step.name.get # this is instance name in PAT
|
263
|
-
end
|
264
|
-
if measure_step.result.is_initialized
|
265
|
-
result = measure_step.result.get
|
266
|
-
result.stepValues.each do |arg|
|
267
|
-
name = arg.name
|
268
|
-
value = arg.valueAsVariant.to_s
|
269
|
-
if name == arg_name
|
270
|
-
arg_name_value[:value] = value
|
271
|
-
arg_name_value[:measure_name] = measure_name
|
272
|
-
return arg_name_value # stop after find first one
|
273
|
-
end
|
274
|
-
end
|
275
|
-
else
|
276
|
-
# puts "No result for #{measure_name}"
|
277
|
-
end
|
278
|
-
else
|
279
|
-
# puts "This step is not a measure"
|
280
|
-
end
|
281
|
-
end
|
282
|
-
|
283
|
-
return arg_name_value
|
284
|
-
end
|
285
|
-
|
286
|
-
# populate choice argument from model objects. areaType should be string like "floorArea" or "exteriorArea"
|
287
|
-
# note: it seems like spaceType.floorArea does account for multiplier, so I don't have to call this method unless I have a custom collection of spaces.
|
288
|
-
def self.getAreaOfSpacesInArray(model, spaceArray, areaType = 'floorArea')
|
289
|
-
# find selected floor spaces, make array and get floor area.
|
290
|
-
totalArea = 0
|
291
|
-
spaceAreaHash = {}
|
292
|
-
spaceArray.each do |space|
|
293
|
-
spaceArea = eval("space.#{areaType}*space.multiplier")
|
294
|
-
spaceAreaHash[space] = spaceArea
|
295
|
-
totalArea += spaceArea
|
296
|
-
end
|
297
|
-
|
298
|
-
result = { 'totalArea' => totalArea, 'spaceAreaHash' => spaceAreaHash }
|
299
|
-
return result
|
300
|
-
end
|
301
|
-
|
302
|
-
# runs conversion and neat string, and returns value with units in string, optionally before or after the value
|
303
|
-
def self.neatConvertWithUnitDisplay(double, fromString, toString, digits, unitBefore = false, unitAfter = true, space = true, parentheses = true)
|
304
|
-
# convert units
|
305
|
-
doubleConverted = OpenStudio.convert(double, fromString, toString)
|
306
|
-
if !doubleConverted.nil?
|
307
|
-
doubleConverted = doubleConverted.get
|
308
|
-
else
|
309
|
-
puts "Couldn't convert values, check string choices passed in. From: #{fromString}, To: #{toString}"
|
310
|
-
end
|
311
|
-
|
312
|
-
# get neat version of converted
|
313
|
-
neatConverted = OpenStudio.toNeatString(doubleConverted, digits, true)
|
314
|
-
|
315
|
-
# add prefix
|
316
|
-
if unitBefore
|
317
|
-
if space == true && parentheses == true
|
318
|
-
prefix = "(#{toString}) "
|
319
|
-
elsif space == true && parentheses == false
|
320
|
-
prefix = "(#{toString})"
|
321
|
-
elsif space == false && parentheses == true
|
322
|
-
prefix = "#{toString} "
|
323
|
-
else
|
324
|
-
prefix = toString.to_s
|
325
|
-
end
|
326
|
-
else
|
327
|
-
prefix = ''
|
328
|
-
end
|
329
|
-
|
330
|
-
# add suffix
|
331
|
-
if unitAfter
|
332
|
-
if space == true && parentheses == true
|
333
|
-
suffix = " (#{toString})"
|
334
|
-
elsif space == true && parentheses == false
|
335
|
-
suffix = "(#{toString})"
|
336
|
-
elsif space == false && parentheses == true
|
337
|
-
suffix = " #{toString}"
|
338
|
-
else
|
339
|
-
suffix = toString.to_s
|
340
|
-
end
|
341
|
-
else
|
342
|
-
suffix = ''
|
343
|
-
end
|
344
|
-
|
345
|
-
finalString = "#{prefix}#{neatConverted}#{suffix}"
|
346
|
-
|
347
|
-
return finalString
|
348
|
-
end
|
349
|
-
|
350
|
-
# helper that loops through lifecycle costs getting total costs under "Construction" and add to counter if occurs during year 0
|
351
|
-
def self.getTotalCostForObjects(objectArray, category = 'Construction', onlyYearFromStartZero = true)
|
352
|
-
counter = 0
|
353
|
-
objectArray.each do |object|
|
354
|
-
object_LCCs = object.lifeCycleCosts
|
355
|
-
object_LCCs.each do |object_LCC|
|
356
|
-
if object_LCC.category == category
|
357
|
-
if onlyYearFromStartZero == false || object_LCC.yearsFromStart == 0
|
358
|
-
counter += object_LCC.totalCost
|
359
|
-
end
|
360
|
-
end
|
361
|
-
end
|
362
|
-
end
|
363
|
-
|
364
|
-
return counter
|
365
|
-
end
|
366
|
-
|
367
|
-
# helper that loops through lifecycle costs getting total costs under "Construction" and add to counter if occurs during year 0
|
368
|
-
def self.getSpaceTypeStandardsInformation(spaceTypeArray)
|
369
|
-
# hash of space types
|
370
|
-
spaceTypeStandardsInfoHash = {}
|
371
|
-
|
372
|
-
spaceTypeArray.each do |spaceType|
|
373
|
-
# get standards building
|
374
|
-
if !spaceType.standardsBuildingType.empty?
|
375
|
-
standardsBuilding = spaceType.standardsBuildingType.get
|
376
|
-
else
|
377
|
-
standardsBuilding = nil
|
378
|
-
end
|
379
|
-
|
380
|
-
# get standards space type
|
381
|
-
if !spaceType.standardsSpaceType.empty?
|
382
|
-
standardsSpaceType = spaceType.standardsSpaceType.get
|
383
|
-
else
|
384
|
-
standardsSpaceType = nil
|
385
|
-
end
|
386
|
-
|
387
|
-
# populate hash
|
388
|
-
spaceTypeStandardsInfoHash[spaceType] = [standardsBuilding, standardsSpaceType]
|
389
|
-
end
|
390
|
-
|
391
|
-
return spaceTypeStandardsInfoHash
|
392
|
-
end
|
393
|
-
|
394
|
-
# OpenStudio has built in toNeatString method
|
395
|
-
# OpenStudio::toNeatString(double,2,true)# double,decimals, show commas
|
396
|
-
|
397
|
-
# OpenStudio has built in helper for unit conversion. That can be done using OpenStudio::convert() as shown below.
|
398
|
-
# OpenStudio::convert(double,"from unit string","to unit string").get
|
399
|
-
end
|