openstudio-standards 0.2.17.rc1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
- data/data/standards/openstudio_standards_duplicates_log.csv +5 -0
- data/lib/openstudio-standards/btap/btap_result.rb +138 -138
- data/lib/openstudio-standards/btap/economics.rb +58 -53
- data/lib/openstudio-standards/btap/envelope.rb +1 -1
- data/lib/openstudio-standards/btap/fileio.rb +12 -12
- data/lib/openstudio-standards/btap/measures.rb +63 -59
- data/lib/openstudio-standards/btap/vintagizer.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +7 -7
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +5 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +8 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.SizingSystem.rb +9 -3
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +53 -23
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +15 -1
- data/lib/openstudio-standards/standards/Standards.Construction.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.Model.rb +18 -18
- data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +5 -5
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +43 -40
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ZoneHVACComponent.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.entryways.json +19 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.parking.json +13 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirLoopHVAC.rb +11 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirLoopHVAC.rb +11 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +9 -9
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlanarSurface.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +5 -1
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +5 -1
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +8 -4
- data/lib/openstudio-standards/standards/necb/ECMS/nv.rb +8 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +7 -3
- data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +4 -4
- data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +1 -1
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/Weather.Model.rb +5 -0
- metadata +4 -2
| @@ -27,7 +27,7 @@ module BTAP | |
| 27 27 |  | 
| 28 28 | 
             
                  #This method removes all costs from model
         | 
| 29 29 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 30 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 30 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 31 31 | 
             
                  #@param runner [String]
         | 
| 32 32 | 
             
                  def self.remove_all_costs(model,runner = nil)
         | 
| 33 33 | 
             
                    #Remove all cost items.
         | 
| @@ -39,7 +39,7 @@ module BTAP | |
| 39 39 |  | 
| 40 40 | 
             
                  #This method will add the costs.
         | 
| 41 41 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 42 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 42 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 43 43 | 
             
                  #@param name [String]
         | 
| 44 44 | 
             
                  #@param cost [Float]
         | 
| 45 45 | 
             
                  #@param unittype [String]
         | 
| @@ -54,10 +54,10 @@ module BTAP | |
| 54 54 | 
             
                    end
         | 
| 55 55 | 
             
                    return cost_object
         | 
| 56 56 | 
             
                  end
         | 
| 57 | 
            -
             | 
| 57 | 
            +
             | 
| 58 58 | 
             
                  #This method will add the cost per building.
         | 
| 59 59 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 60 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 60 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 61 61 | 
             
                  #@param name [String]
         | 
| 62 62 | 
             
                  #@param cost [Float]
         | 
| 63 63 | 
             
                  #@param runner [Float]
         | 
| @@ -70,10 +70,10 @@ module BTAP | |
| 70 70 | 
             
                      runner.nil? ? puts(message) : runner.registerInfo(message)
         | 
| 71 71 | 
             
                    end
         | 
| 72 72 | 
             
                  end
         | 
| 73 | 
            -
             | 
| 73 | 
            +
             | 
| 74 74 | 
             
                  #This method will add the cost per total area.
         | 
| 75 75 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 76 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 76 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 77 77 | 
             
                  #@param name [String]
         | 
| 78 78 | 
             
                  #@param cost [Float]
         | 
| 79 79 | 
             
                  #@param runner [Float]
         | 
| @@ -89,7 +89,7 @@ module BTAP | |
| 89 89 |  | 
| 90 90 | 
             
                  #This method will set the ecm envelope.
         | 
| 91 91 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 92 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 92 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 93 93 | 
             
                  #@param library_file_path [String]
         | 
| 94 94 | 
             
                  #@param default_construction_set_name [String]
         | 
| 95 95 | 
             
                  #@param ext_wall_rsi [Float]
         | 
| @@ -240,7 +240,7 @@ module BTAP | |
| 240 240 | 
             
                        tubular_daylight_diffuser_cost_m2,
         | 
| 241 241 | 
             
                        total_building_construction_set_cost
         | 
| 242 242 | 
             
                      )
         | 
| 243 | 
            -
                      #Give adiabatic surfaces a construction. Does not matter what. This is a bug in  | 
| 243 | 
            +
                      #Give adiabatic surfaces a construction. Does not matter what. This is a bug in OpenStudio that leave these surfaces unassigned by the default construction set.
         | 
| 244 244 | 
             
                      all_adiabatic_surfaces = BTAP::Geometry::Surfaces::filter_by_boundary_condition(model.getSurfaces, "Adiabatic")
         | 
| 245 245 | 
             
                      unless all_adiabatic_surfaces.empty?
         | 
| 246 246 | 
             
                        BTAP::Geometry::Surfaces::set_surfaces_construction( all_adiabatic_surfaces, model.building.get.defaultConstructionSet.get.defaultInteriorSurfaceConstructions.get.wallConstruction.get)
         | 
| @@ -256,10 +256,10 @@ module BTAP | |
| 256 256 | 
             
                      return false
         | 
| 257 257 | 
             
                    end
         | 
| 258 258 | 
             
                  end
         | 
| 259 | 
            -
             | 
| 259 | 
            +
             | 
| 260 260 | 
             
                  #This method will set the ecm infiltration.
         | 
| 261 261 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 262 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 262 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 263 263 | 
             
                  #@param infiltration_design_flow_rate [Float]
         | 
| 264 264 | 
             
                  #@param infiltration_flow_per_space [Float]
         | 
| 265 265 | 
             
                  #@param infiltration_flow_per_exterior_area [Float]
         | 
| @@ -277,7 +277,7 @@ module BTAP | |
| 277 277 | 
             
                      cost_per_exterior_area_m2,
         | 
| 278 278 | 
             
                      runner = nil
         | 
| 279 279 | 
             
                    )
         | 
| 280 | 
            -
                    default_surface_construction_set = model.building.get.defaultConstructionSet.get | 
| 280 | 
            +
                    default_surface_construction_set = model.building.get.defaultConstructionSet.get
         | 
| 281 281 | 
             
                    log = BTAP::Resources::SpaceLoads::ScaleLoads::set_inflitration_magnitude(
         | 
| 282 282 | 
             
                      model,
         | 
| 283 283 | 
             
                      infiltration_design_flow_rate,
         | 
| @@ -286,9 +286,9 @@ module BTAP | |
| 286 286 | 
             
                      infiltration_air_changes_per_hour
         | 
| 287 287 | 
             
                    )
         | 
| 288 288 | 
             
                    #log change
         | 
| 289 | 
            -
                    message = log | 
| 289 | 
            +
                    message = log
         | 
| 290 290 | 
             
                    runner.nil? ? puts(message) : runner.registerinfo(message)
         | 
| 291 | 
            -
                    #set costs based on all external surface type constructions. | 
| 291 | 
            +
                    #set costs based on all external surface type constructions.
         | 
| 292 292 | 
             
                    constructions_and_cost = [
         | 
| 293 293 | 
             
                      ["infiltration_ext_wall_cost_m3",cost_per_exterior_area_m2, default_surface_construction_set.defaultExteriorSurfaceConstructions.get.wallConstruction.get],
         | 
| 294 294 | 
             
                      ["infiltration_ext_floor_cost_m3", cost_per_exterior_area_m2, default_surface_construction_set.defaultExteriorSurfaceConstructions.get.floorConstruction.get],
         | 
| @@ -318,10 +318,10 @@ module BTAP | |
| 318 318 | 
             
                    BTAP::Resources::Economics::object_cost(building, "Infiltration Cost per building.", cost_per_building, "CostPerEach")
         | 
| 319 319 | 
             
                    return true
         | 
| 320 320 | 
             
                  end
         | 
| 321 | 
            -
             | 
| 321 | 
            +
             | 
| 322 322 | 
             
                  #This method will set the ecm fans.
         | 
| 323 323 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 324 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 324 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 325 325 | 
             
                  #@return [String] log
         | 
| 326 326 | 
             
                  def ecm_fans( model )
         | 
| 327 327 | 
             
                    measure_values =
         | 
| @@ -349,7 +349,7 @@ module BTAP | |
| 349 349 | 
             
                        fan.setMotorEfficiency( @fan_motor_eff ) unless @fan_motor_eff.nil?
         | 
| 350 350 | 
             
                        log  << fan.name.get.to_s << ",#{fan.fanEfficiency},#{fan.motorEfficiency}\n"
         | 
| 351 351 | 
             
                      end
         | 
| 352 | 
            -
             | 
| 352 | 
            +
             | 
| 353 353 | 
             
                    end
         | 
| 354 354 |  | 
| 355 355 | 
             
                    case @fan_volume_type
         | 
| @@ -409,11 +409,11 @@ module BTAP | |
| 409 409 | 
             
                    end
         | 
| 410 410 | 
             
                    return log
         | 
| 411 411 | 
             
                  end
         | 
| 412 | 
            -
             | 
| 413 | 
            -
             | 
| 412 | 
            +
             | 
| 413 | 
            +
             | 
| 414 414 | 
             
                  #This method will set the ecm pumps.
         | 
| 415 415 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 416 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 416 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 417 417 | 
             
                  #@return [String] log
         | 
| 418 418 | 
             
                  def ecm_pumps( model )
         | 
| 419 419 | 
             
                    measure_values =
         | 
| @@ -505,10 +505,10 @@ module BTAP | |
| 505 505 | 
             
                    CSV.open("#{@script_root_folder_path}/sample_pump_eff_ecm.csv", 'w') { |csv| csv << measure_values.unshift("measure_id") }
         | 
| 506 506 | 
             
                    return log
         | 
| 507 507 | 
             
                  end
         | 
| 508 | 
            -
             | 
| 508 | 
            +
             | 
| 509 509 | 
             
                  #This method will set the ecm cooling COP.
         | 
| 510 510 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 511 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 511 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 512 512 | 
             
                  def ecm_cooling_cop( model )
         | 
| 513 513 | 
             
                    log = ""
         | 
| 514 514 | 
             
                    measure_values =[
         | 
| @@ -523,7 +523,9 @@ module BTAP | |
| 523 523 | 
             
                      model.getCoilCoolingDXSingleSpeeds.sort.each do |cooling_coil|
         | 
| 524 524 | 
             
                        cooling_coil.setRatedCOP( OpenStudio::OptionalDouble.new( @cop ) ) unless @cop.nil?
         | 
| 525 525 | 
             
                        cop = "NA"
         | 
| 526 | 
            -
                         | 
| 526 | 
            +
                        # Prior to 3.5.0, it was an optional double, now it's a double
         | 
| 527 | 
            +
                        cop_ = OpenStudio::OptionalDouble.new(cooling_coil.ratedCOP)
         | 
| 528 | 
            +
                        cop = cop_.get unless cop_.empty?
         | 
| 527 529 | 
             
                        log  << cooling_coil.name.get.to_s << ",#{cop}\n"
         | 
| 528 530 |  | 
| 529 531 | 
             
                      end
         | 
| @@ -535,18 +537,21 @@ module BTAP | |
| 535 537 | 
             
                        cooling_coil.setRatedHighSpeedCOP( @cop  ) unless @cop.nil?
         | 
| 536 538 | 
             
                        cooling_coil.setRatedLowSpeedCOP(  @cop  ) unless @cop.nil?
         | 
| 537 539 | 
             
                        cop_high = "NA"
         | 
| 538 | 
            -
                         | 
| 540 | 
            +
                        # Prior to 3.5.0, it was an optional double, now it's a double
         | 
| 541 | 
            +
                        cop_ = OpenStudio::OptionalDouble.new(cooling_coil.ratedHighSpeedCOP)
         | 
| 542 | 
            +
                        cop_high = cop_.get unless cop_.empty?
         | 
| 539 543 | 
             
                        cop_low = "NA"
         | 
| 540 | 
            -
                         | 
| 544 | 
            +
                        cop_ = OpenStudio::OptionalDouble.new(cooling_coil.ratedLowSpeedCOP)
         | 
| 545 | 
            +
                        cop_low = cop_.get unless cop_.empty?
         | 
| 541 546 | 
             
                        log  << cooling_coil.name.get.to_s << ",#{cop_high},#{cop_low}\n"
         | 
| 542 547 | 
             
                      end
         | 
| 543 548 | 
             
                    end
         | 
| 544 549 | 
             
                    return log
         | 
| 545 550 | 
             
                  end
         | 
| 546 | 
            -
             | 
| 551 | 
            +
             | 
| 547 552 | 
             
                  #This method will set the ecm economizers.
         | 
| 548 553 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 549 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 554 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 550 555 | 
             
                  #@return [String] log
         | 
| 551 556 | 
             
                  def ecm_economizers( model )
         | 
| 552 557 |  | 
| @@ -577,7 +582,7 @@ module BTAP | |
| 577 582 | 
             
                  end
         | 
| 578 583 | 
             
                  #This method will set the ecm sizing.
         | 
| 579 584 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 580 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 585 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 581 586 | 
             
                  #@return [String] table
         | 
| 582 587 | 
             
                  def ecm_sizing( model)
         | 
| 583 588 | 
             
                    measure_values =[
         | 
| @@ -608,10 +613,10 @@ module BTAP | |
| 608 613 | 
             
                    CSV.open("#{@script_root_folder_path}/sample_sizing_param_ecm.csv", 'w') { |csv| csv << measure_values.unshift("measure_id") }
         | 
| 609 614 | 
             
                    return table
         | 
| 610 615 | 
             
                  end
         | 
| 611 | 
            -
             | 
| 616 | 
            +
             | 
| 612 617 | 
             
                  #This method will set the ecm domestic hot water.
         | 
| 613 618 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 614 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 619 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 615 620 | 
             
                  #@return [String] log
         | 
| 616 621 | 
             
                  def ecm_dhw( model )
         | 
| 617 622 | 
             
                    log = "shw_setpoint_sched,shw_heater_fuel_type,shw_thermal_eff\n"
         | 
| @@ -638,10 +643,10 @@ module BTAP | |
| 638 643 | 
             
                    end
         | 
| 639 644 | 
             
                    return log
         | 
| 640 645 | 
             
                  end
         | 
| 641 | 
            -
             | 
| 646 | 
            +
             | 
| 642 647 | 
             
                  #This method will set the ecm chotwater boilers.
         | 
| 643 648 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 644 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 649 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 645 650 | 
             
                  #@return [String] table
         | 
| 646 651 | 
             
                  def ecm_hotwater_boilers( model )
         | 
| 647 652 | 
             
                    measure_values = [
         | 
| @@ -754,10 +759,10 @@ module BTAP | |
| 754 759 | 
             
                    end #end boilers loop
         | 
| 755 760 | 
             
                    return table
         | 
| 756 761 | 
             
                  end
         | 
| 757 | 
            -
             | 
| 762 | 
            +
             | 
| 758 763 | 
             
                  #This method will set the ecm dcv.
         | 
| 759 764 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 760 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 765 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 761 766 | 
             
                  #@return [String] log
         | 
| 762 767 | 
             
                  def ecm_dcv( model )
         | 
| 763 768 | 
             
                    log = ""
         | 
| @@ -771,10 +776,10 @@ module BTAP | |
| 771 776 | 
             
                    end
         | 
| 772 777 | 
             
                    return log
         | 
| 773 778 | 
             
                  end
         | 
| 774 | 
            -
             | 
| 779 | 
            +
             | 
| 775 780 | 
             
                  #This method will set the ecm heating and cooling setpoints.
         | 
| 776 781 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 777 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 782 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 778 783 | 
             
                  #@return [String] log
         | 
| 779 784 | 
             
                  def ecm_heating_cooling_setpoints(model)
         | 
| 780 785 |  | 
| @@ -825,10 +830,10 @@ module BTAP | |
| 825 830 | 
             
                    end
         | 
| 826 831 | 
             
                    return log
         | 
| 827 832 | 
             
                  end
         | 
| 828 | 
            -
             | 
| 833 | 
            +
             | 
| 829 834 | 
             
                  #This method will set the ecm erv.
         | 
| 830 835 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 831 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 836 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 832 837 | 
             
                  #@return [String] log
         | 
| 833 838 | 
             
                  def ecm_erv( model )
         | 
| 834 839 | 
             
                    log = ""
         | 
| @@ -878,8 +883,8 @@ module BTAP | |
| 878 883 | 
             
                        @erv_nominal_electric_power,
         | 
| 879 884 | 
             
                        @erv_economizer_lockout.to_bool
         | 
| 880 885 | 
             
                      ).each { |erv| log << erv.to_s }
         | 
| 881 | 
            -
             | 
| 882 | 
            -
             | 
| 886 | 
            +
             | 
| 887 | 
            +
             | 
| 883 888 | 
             
                      #Add setpoint manager to all OA object in airloops.
         | 
| 884 889 | 
             
                      model.getHeatExchangerAirToAirSensibleAndLatents.sort.each do |erv|
         | 
| 885 890 |  | 
| @@ -899,10 +904,10 @@ module BTAP | |
| 899 904 | 
             
                    end
         | 
| 900 905 | 
             
                    return log
         | 
| 901 906 | 
             
                  end
         | 
| 902 | 
            -
             | 
| 907 | 
            +
             | 
| 903 908 | 
             
                  #This method will set the ecm cexhaust fans.
         | 
| 904 909 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 905 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 910 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 906 911 | 
             
                  #@return [String] log
         | 
| 907 912 | 
             
                  def ecm_exhaust_fans( model )
         | 
| 908 913 | 
             
                    log = ""
         | 
| @@ -920,10 +925,10 @@ module BTAP | |
| 920 925 | 
             
                    end
         | 
| 921 926 | 
             
                    return log
         | 
| 922 927 | 
             
                  end
         | 
| 923 | 
            -
             | 
| 928 | 
            +
             | 
| 924 929 | 
             
                  #This method will set the ecm lighting.
         | 
| 925 930 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 926 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 931 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 927 932 | 
             
                  #@return [String] log
         | 
| 928 933 | 
             
                  def ecm_lighting( model )
         | 
| 929 934 | 
             
                    log = ""
         | 
| @@ -947,10 +952,10 @@ module BTAP | |
| 947 952 | 
             
                    end
         | 
| 948 953 | 
             
                    return log
         | 
| 949 954 | 
             
                  end
         | 
| 950 | 
            -
             | 
| 955 | 
            +
             | 
| 951 956 | 
             
                  #This method will set the ecm temperature setback.
         | 
| 952 957 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 953 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 958 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 954 959 | 
             
                  #@return [String] log
         | 
| 955 960 | 
             
                  def ecm_plugs( model )
         | 
| 956 961 | 
             
                    log = ""
         | 
| @@ -978,10 +983,10 @@ module BTAP | |
| 978 983 | 
             
                    CSV.open("#{@script_root_folder_path}/sample_scale_plug_loads_ecm.csv", 'w') { |csv| csv << measure_values.unshift("measure_id") }
         | 
| 979 984 | 
             
                    return log
         | 
| 980 985 | 
             
                  end
         | 
| 981 | 
            -
             | 
| 986 | 
            +
             | 
| 982 987 | 
             
                  #This method will set the ecm cold deck reset control.
         | 
| 983 988 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 984 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 989 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 985 990 | 
             
                  #@return [String] log
         | 
| 986 991 | 
             
                  def ecm_cold_deck_reset_control( model )
         | 
| 987 992 | 
             
                    log = ""
         | 
| @@ -1034,10 +1039,10 @@ module BTAP | |
| 1034 1039 | 
             
                    end
         | 
| 1035 1040 | 
             
                    return log
         | 
| 1036 1041 | 
             
                  end
         | 
| 1037 | 
            -
             | 
| 1042 | 
            +
             | 
| 1038 1043 | 
             
                  #This method will reset the sat ecm.
         | 
| 1039 1044 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 1040 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 1045 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 1041 1046 | 
             
                  #@return [String] log
         | 
| 1042 1047 | 
             
                  def ecm_sat_reset( model )
         | 
| 1043 1048 | 
             
                    log = ""
         | 
| @@ -1074,10 +1079,10 @@ module BTAP | |
| 1074 1079 | 
             
                    end
         | 
| 1075 1080 | 
             
                    return log
         | 
| 1076 1081 | 
             
                  end
         | 
| 1077 | 
            -
             | 
| 1082 | 
            +
             | 
| 1078 1083 | 
             
                  #This method will set the ecm temperature setback.
         | 
| 1079 1084 | 
             
                  #@author phylroy.lopez@nrcan.gc.ca
         | 
| 1080 | 
            -
                  #@param model [OpenStudio::model::Model] A model object | 
| 1085 | 
            +
                  #@param model [OpenStudio::model::Model] A model object
         | 
| 1081 1086 | 
             
                  #@return [String] log
         | 
| 1082 1087 | 
             
                  def ecm_temp_setback( model )
         | 
| 1083 1088 | 
             
                    log = ""
         | 
| @@ -1115,7 +1120,7 @@ module BTAP | |
| 1115 1120 | 
             
                      log << "no change to setbacks."
         | 
| 1116 1121 | 
             
                    end
         | 
| 1117 1122 | 
             
                    return log
         | 
| 1118 | 
            -
                  end | 
| 1123 | 
            +
                  end
         | 
| 1119 1124 | 
             
                end
         | 
| 1120 1125 | 
             
              end #module Resources
         | 
| 1121 1126 | 
             
            end #module BTAP
         | 
| @@ -1155,4 +1160,4 @@ end #module BTAP | |
| 1155 1160 | 
             
            #"ZoneHVACComponent
         | 
| 1156 1161 | 
             
            #  "CostPerEach"
         | 
| 1157 1162 | 
             
            #All others
         | 
| 1158 | 
            -
            #"CostPerEach"
         | 
| 1163 | 
            +
            #"CostPerEach"
         | 
| @@ -70,7 +70,7 @@ module BTAP | |
| 70 70 | 
             
                  def self.assign_interior_surface_construction_to_adiabatic_surfaces(model, runner = nil)
         | 
| 71 71 | 
             
                    BTAP::runner_register("Info", "assign_interior_surface_construction_to_adiabatic_surfaces", runner)
         | 
| 72 72 | 
             
                    unless model.building.get.defaultConstructionSet.empty? or model.building.get.defaultConstructionSet.get.defaultInteriorSurfaceConstructions.empty? or model.building.get.defaultConstructionSet.get.defaultInteriorSurfaceConstructions.get.wallConstruction.empty?
         | 
| 73 | 
            -
                      #Give adiabatic surfaces a construction. Does not matter what. This is a bug in  | 
| 73 | 
            +
                      #Give adiabatic surfaces a construction. Does not matter what. This is a bug in OpenStudio that leave these surfaces unassigned by the default construction set.
         | 
| 74 74 |  | 
| 75 75 | 
             
                      all_adiabatic_surfaces = BTAP::Geometry::Surfaces::filter_by_boundary_condition(model.getSurfaces, "Adiabatic")
         | 
| 76 76 |  | 
| @@ -98,7 +98,7 @@ module BTAP | |
| 98 98 | 
             
                end
         | 
| 99 99 |  | 
| 100 100 |  | 
| 101 | 
            -
                # This method loads an  | 
| 101 | 
            +
                # This method loads an OpenStudio file into the model.
         | 
| 102 102 | 
             
                # @author Phylroy A. Lopez
         | 
| 103 103 | 
             
                # @param filepath [String] path to the OSM file.
         | 
| 104 104 | 
             
                # @param name [String] optional model name to be set to model.
         | 
| @@ -163,7 +163,7 @@ module BTAP | |
| 163 163 |  | 
| 164 164 |  | 
| 165 165 |  | 
| 166 | 
            -
                # This method loads an  | 
| 166 | 
            +
                # This method loads an OpenStudio file into the model.
         | 
| 167 167 | 
             
                # @author Phylroy A. Lopez
         | 
| 168 168 | 
             
                # @param filepath [String] path to the OSM file.
         | 
| 169 169 | 
             
                # @param name [String] optional model name to be set to model.
         | 
| @@ -847,7 +847,7 @@ module BTAP | |
| 847 847 | 
             
                # This method converts an idf object to a hash
         | 
| 848 848 | 
             
                #
         | 
| 849 849 | 
             
                # @author Padmassun Rajakareyar
         | 
| 850 | 
            -
                # @param obj [ | 
| 850 | 
            +
                # @param obj [OpenStudio::ModelObject]
         | 
| 851 851 | 
             
                # @return new_obj_hash [Hash] idf object converted to hash.
         | 
| 852 852 | 
             
                # @example
         | 
| 853 853 | 
             
                #   Converts the following IDF (openstudio::ModelObject) to
         | 
| @@ -899,7 +899,7 @@ module BTAP | |
| 899 899 | 
             
                # This method uses idf_to_h(obj) method, but deletes the fields named 'Handle' and 'Name'
         | 
| 900 900 | 
             
                #
         | 
| 901 901 | 
             
                # @author Padmassun Rajakareyar
         | 
| 902 | 
            -
                # @param obj [ | 
| 902 | 
            +
                # @param obj [OpenStudio::ModelObject]
         | 
| 903 903 | 
             
                # @return new_obj_hash [Hash] idf object converted to hash.
         | 
| 904 904 | 
             
                # @example
         | 
| 905 905 | 
             
                #   Converts the following IDF (openstudio::ModelObject) to
         | 
| @@ -1017,9 +1017,9 @@ module BTAP | |
| 1017 1017 | 
             
                # the duplicate materials can be removed safely.
         | 
| 1018 1018 | 
             
                #
         | 
| 1019 1019 | 
             
                # @author Padmassun Rajakareyar
         | 
| 1020 | 
            -
                # @param model [ | 
| 1020 | 
            +
                # @param model [OpenStudio::Model]
         | 
| 1021 1021 | 
             
                # @param grouped_objs [Hash] Output provided by group_similar_objects()
         | 
| 1022 | 
            -
                # @return model_string [String] An  | 
| 1022 | 
            +
                # @return model_string [String] An OpenStudio::Model object converted to a string
         | 
| 1023 1023 | 
             
                def self.replace_duplicate_obj_handles(model, grouped_objs)
         | 
| 1024 1024 | 
             
                  model_string = model.to_s # convert the OS:Model into a String
         | 
| 1025 1025 | 
             
                  grouped_objs.each {|key, dup_array|
         | 
| @@ -1050,8 +1050,8 @@ module BTAP | |
| 1050 1050 | 
             
                # converts it to an OpenStudio Model using a VersionTranslater
         | 
| 1051 1051 | 
             
                #
         | 
| 1052 1052 | 
             
                # @author Padmassun Rajakareyar
         | 
| 1053 | 
            -
                # @param model_string [String] An  | 
| 1054 | 
            -
                # @return model [ | 
| 1053 | 
            +
                # @param model_string [String] An OpenStudio::Model object converted to a string
         | 
| 1054 | 
            +
                # @return model [OpenStudio::Model]
         | 
| 1055 1055 | 
             
                def self.get_OS_Model_from_string(model_string)
         | 
| 1056 1056 | 
             
                  require 'securerandom'
         | 
| 1057 1057 | 
             
                  require 'fileutils'
         | 
| @@ -1076,9 +1076,9 @@ module BTAP | |
| 1076 1076 | 
             
                # based on the values of each fields within the ModelObject
         | 
| 1077 1077 | 
             
                #
         | 
| 1078 1078 | 
             
                # @author Padmassun Rajakareyar
         | 
| 1079 | 
            -
                # @param model [ | 
| 1079 | 
            +
                # @param model [OpenStudio::Model]
         | 
| 1080 1080 | 
             
                # @param model_obj_type [String] ModelObject type e.g. "OS:Material"
         | 
| 1081 | 
            -
                # @return new_model [ | 
| 1081 | 
            +
                # @return new_model [OpenStudio::Model] Returns new model (OS:Model) if the changes were made.
         | 
| 1082 1082 | 
             
                #   or else returns the old model if no changes were made.
         | 
| 1083 1083 | 
             
                def self.eleminate_duplicate_objs(model, model_obj_type) # = "OS:Material")
         | 
| 1084 1084 | 
             
                  model_objs_json = {}
         | 
| @@ -1155,8 +1155,8 @@ module BTAP | |
| 1155 1155 | 
             
                #   "OS:StandardsInformation:Construction"
         | 
| 1156 1156 | 
             
                #
         | 
| 1157 1157 | 
             
                # @author Padmassun Rajakareyar
         | 
| 1158 | 
            -
                # @param model [ | 
| 1159 | 
            -
                # @return new_model [ | 
| 1158 | 
            +
                # @param model [OpenStudio::Model]
         | 
| 1159 | 
            +
                # @return new_model [OpenStudio::Model] Returns new model after removing the
         | 
| 1160 1160 | 
             
                #   duplicate ModelObjects atated abioe.
         | 
| 1161 1161 | 
             
                def self.remove_duplicate_materials_and_constructions(model)
         | 
| 1162 1162 | 
             
                  old_number_of_objects = model.getModelObjects.length
         |