diff --git a/HPXMLtoOpenStudio/measure.rb b/HPXMLtoOpenStudio/measure.rb
index def3608faa..d9affd1788 100644
--- a/HPXMLtoOpenStudio/measure.rb
+++ b/HPXMLtoOpenStudio/measure.rb
@@ -132,6 +132,14 @@ def run(model, runner, user_arguments)
       # Write updated HPXML object (w/ defaults) to file for inspection
       XMLHelper.write_file(hpxml.to_doc, args[:hpxml_defaults_path])
 
+      # When modeling whole SFA/MF buildings, remove shared systems upfront
+      # from the HPXML object; handle them at the end once the full model
+      # has been created.
+      shared_systems_map = {}
+      if hpxml.header.whole_sfa_or_mf_building_sim
+        shared_systems_map = hpxml.delete_shared_systems_serving_multiple_dwelling_units()
+      end
+
       # Create OpenStudio unit model(s)
       hpxml_osm_map = {}
       hpxml.buildings.each do |hpxml_bldg|
@@ -147,9 +155,12 @@ def run(model, runner, user_arguments)
         end
       end
 
-      # Merge unit models into final model
       if hpxml.buildings.size > 1
+        # Merge unit models into final model
         Model.merge_unit_models(model, hpxml_osm_map)
+
+        # Apply shared systems
+        HVAC.apply_shared_systems(runner, model, hpxml, hpxml_osm_map, shared_systems_map)
       end
 
       # Create EnergyPlus outputs
diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml
index e19880c03c..6879c7286b 100644
--- a/HPXMLtoOpenStudio/measure.xml
+++ b/HPXMLtoOpenStudio/measure.xml
@@ -3,8 +3,8 @@
   3.1
   hpxm_lto_openstudio
   b1543b30-9465-45ff-ba04-1d1f85e763bc
-  630ef544-5cc2-45f5-8e47-f5e11aabdfda
-  2025-10-21T15:47:00Z
+  ec93b84f-6f84-4abd-8ad0-a658cebe0fa5
+  2025-10-21T19:07:52Z
   D8922A73
   HPXMLtoOpenStudio
   HPXML to OpenStudio Translator
@@ -192,7 +192,7 @@
       measure.rb
       rb
       script
-      B532C73E
+      ECA14D60
     
     
       airflow.rb
@@ -348,7 +348,7 @@
       defaults.rb
       rb
       resource
-      2C1F8D25
+      F702337C
     
     
       electric_panel.rb
@@ -384,7 +384,7 @@
       hpxml.rb
       rb
       resource
-      DD8B41A6
+      401C729D
     
     
       hpxml_schema/HPXML.xsd
@@ -402,7 +402,7 @@
       hpxml_schematron/EPvalidator.sch
       sch
       resource
-      1961EB81
+      CEA3D253
     
     
       hpxml_schematron/iso-schematron.xsd
@@ -414,13 +414,13 @@
       hvac.rb
       rb
       resource
-      C775FAF8
+      32303BFB
     
     
       hvac_sizing.rb
       rb
       resource
-      4D1214E7
+      152A3B22
     
     
       internal_gains.rb
@@ -474,7 +474,7 @@
       model.rb
       rb
       resource
-      4FD33DD9
+      A5625A01
     
     
       output.rb
@@ -696,7 +696,7 @@
       waterheater.rb
       rb
       resource
-      003609A7
+      46200810
     
     
       weather.rb
diff --git a/HPXMLtoOpenStudio/resources/defaults.rb b/HPXMLtoOpenStudio/resources/defaults.rb
index 379406cb72..0ff9b70dab 100644
--- a/HPXMLtoOpenStudio/resources/defaults.rb
+++ b/HPXMLtoOpenStudio/resources/defaults.rb
@@ -70,7 +70,7 @@ def self.apply(runner, hpxml, hpxml_bldg, weather, schedules_file: nil, convert_
     apply_doors(hpxml_bldg)
     apply_partition_wall_mass(hpxml_bldg)
     apply_furniture_mass(hpxml_bldg)
-    apply_hvac(runner, hpxml_bldg, weather, convert_shared_systems, unit_num, hpxml.header)
+    apply_hvac(runner, hpxml.header, hpxml_bldg, weather, convert_shared_systems, unit_num)
     apply_hvac_control(hpxml_bldg, schedules_file, eri_version)
     apply_hvac_distribution(hpxml_bldg)
     apply_infiltration(hpxml_bldg, unit_num)
@@ -240,6 +240,13 @@ def self.apply_header(hpxml_header, hpxml_bldg, weather)
         unavailable_period.natvent_availability_isdefaulted = true
       end
     end
+
+    if hpxml_header.shared_boiler_operation.nil?
+      if hpxml_bldg.heating_systems.select { |htg| htg.heating_system_type == HPXML::HVACTypeBoiler && htg.is_shared_system_serving_multiple_dwelling_units }.size > 0
+        hpxml_header.shared_boiler_operation = HPXML::SharedBoilerOperationSequenced
+        hpxml_header.shared_boiler_operation_isdefaulted = true
+      end
+    end
   end
 
   # Assigns default values for omitted optional inputs in the HPXML::BuildingHeader object
@@ -1889,15 +1896,15 @@ def self.apply_furniture_mass(hpxml_bldg)
   # HPXML::CoolingSystem, and HPXML::HeatPump objects
   #
   # @param runner [OpenStudio::Measure::OSRunner] Object typically used to display warnings
+  # @param hpxml_header [HPXML::Header] HPXML Header object (one per HPXML file)
   # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
   # @param weather [WeatherFile] Weather object containing EPW information
   # @param convert_shared_systems [Boolean] Whether to convert shared systems to equivalent in-unit systems per ANSI/RESNET/ICC 301
   # @param unit_num [Integer] Dwelling unit number
-  # @param hpxml_header [HPXML::Header] HPXML Header object
   # @return [nil]
-  def self.apply_hvac(runner, hpxml_bldg, weather, convert_shared_systems, unit_num, hpxml_header)
+  def self.apply_hvac(runner, hpxml_header, hpxml_bldg, weather, convert_shared_systems, unit_num)
     if convert_shared_systems
-      apply_shared_systems(hpxml_bldg)
+      convert_shared_systems_to_in_unit_systems(hpxml_bldg, hpxml_header)
     end
 
     # Convert negative values (e.g., -1) to nil as appropriate
@@ -2422,13 +2429,16 @@ def self.apply_hvac(runner, hpxml_bldg, weather, convert_shared_systems, unit_nu
     end
   end
 
-  # Converts shared systems to equivalent in-unit systems per ANSI/RESNET/ICC 301.
+  # Converts shared systems to equivalent in-unit systems when modeling individual dwelling units (or,
+  # when modeling a whole SFA/MF building, if OS-HPXML does not yet support explicitly modeling the
+  # shared system we fall back to these conversions).
   #
   # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
+  # @param hpxml_header [HPXML::Header] HPXML Header object (one per HPXML file)
   # @return [nil]
-  def self.apply_shared_systems(hpxml_bldg)
-    converted_clg = apply_shared_cooling_systems(hpxml_bldg)
-    converted_htg = apply_shared_heating_systems(hpxml_bldg)
+  def self.convert_shared_systems_to_in_unit_systems(hpxml_bldg, hpxml_header)
+    converted_clg = convert_shared_cooling_systems_to_in_unit_systems(hpxml_bldg)
+    converted_htg = convert_shared_heating_systems_to_in_unit_systems(hpxml_bldg, hpxml_header)
     return unless (converted_clg || converted_htg)
 
     # Remove WLHP if not serving heating nor cooling
@@ -2458,13 +2468,13 @@ def self.apply_shared_systems(hpxml_bldg)
   # Converts shared cooling systems to equivalent in-unit systems per ANSI/RESNET/ICC 301.
   #
   # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
-  # @return [Boolean] True if any shared systems were converted
-  def self.apply_shared_cooling_systems(hpxml_bldg)
-    converted = false
+  # @return [Boolean] Whether a shared cooling system was converted to an in-unit system
+  def self.convert_shared_cooling_systems_to_in_unit_systems(hpxml_bldg)
+    applied = false
     hpxml_bldg.cooling_systems.each do |cooling_system|
       next unless cooling_system.is_shared_system
 
-      converted = true
+      applied = true
       wlhp = nil
       distribution_system = cooling_system.distribution_system
       distribution_type = distribution_system.distribution_system_type
@@ -2578,19 +2588,21 @@ def self.apply_shared_cooling_systems(hpxml_bldg)
       end
     end
 
-    return converted
+    return applied
   end
 
   # Converts shared heating systems to equivalent in-unit systems per ANSI/RESNET/ICC 301.
   #
   # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
-  # @return [Boolean] True if any shared systems were converted
-  def self.apply_shared_heating_systems(hpxml_bldg)
-    converted = false
+  # @param hpxml_header [HPXML::Header] HPXML Header object (one per HPXML file)
+  # @return [Boolean] Whether a shared heating system was converted to an in-unit system
+  def self.convert_shared_heating_systems_to_in_unit_systems(hpxml_bldg, hpxml_header)
+    applied = false
     hpxml_bldg.heating_systems.each do |heating_system|
+      next if hpxml_header.whole_sfa_or_mf_building_sim # Central boilers are explicitly modeled for whole SFA/MF buildings
       next unless heating_system.is_shared_system
 
-      converted = true
+      applied = true
       distribution_system = heating_system.distribution_system
       hydronic_type = distribution_system.hydronic_type
 
@@ -2615,7 +2627,7 @@ def self.apply_shared_heating_systems(hpxml_bldg)
       heating_system.heating_capacity = nil # Autosize the equipment
     end
 
-    return converted
+    return applied
   end
 
   # Assigns default values for omitted optional inputs in the HPXML::CoolingPerformanceDataPoint
@@ -2857,8 +2869,37 @@ def self.apply_hvac_control(hpxml_bldg, schedules_file, eri_version)
   # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
   # @return [nil]
   def self.apply_hvac_distribution(hpxml_bldg)
-    ncfl = hpxml_bldg.building_construction.number_of_conditioned_floors
+    # Hydronic distribution
+    hpxml_bldg.hvac_distributions.each do |hvac_distribution|
+      next unless hvac_distribution.hvac_systems.any? { |h| h.is_a?(HPXML::HeatingSystem) && h.heating_system_type == HPXML::HVACTypeBoiler }
+
+      # Supply/return loop temperatures
+      default_delta_t = 20.0 # deg-F
+      if hvac_distribution.hydronic_supply_temp.nil?
+        if not hvac_distribution.hydronic_return_temp.nil?
+          hvac_distribution.hydronic_supply_temp = hvac_distribution.hydronic_return_temp + default_delta_t # deg-F
+        else
+          hvac_distribution.hydronic_supply_temp = 180.0 # deg-F
+        end
+        hvac_distribution.hydronic_supply_temp_isdefaulted = true
+      end
+      if hvac_distribution.hydronic_return_temp.nil?
+        hvac_distribution.hydronic_return_temp = hvac_distribution.hydronic_supply_temp - default_delta_t # deg-F
+        hvac_distribution.hydronic_return_temp_isdefaulted = true
+      end
+      if hvac_distribution.hydronic_trvs.nil?
+        hvac_distribution.hydronic_trvs = true
+        hvac_distribution.hydronic_trvs_isdefaulted = true
+      end
+      if hvac_distribution.hydronic_variable_speed_pump.nil?
+        hvac_distribution.hydronic_variable_speed_pump = false
+        hvac_distribution.hydronic_variable_speed_pump_isdefaulted = true
+      end
+    end
+
+    # Air distribution
     ncfl_ag = hpxml_bldg.building_construction.number_of_conditioned_floors_above_grade
+    ncfl = hpxml_bldg.building_construction.number_of_conditioned_floors
 
     hpxml_bldg.hvac_distributions.each do |hvac_distribution|
       next unless hvac_distribution.distribution_system_type == HPXML::HVACDistributionTypeAir
@@ -4947,7 +4988,7 @@ def self.apply_fuel_loads(hpxml_bldg, schedules_file)
   # @param runner [OpenStudio::Measure::OSRunner] Object typically used to display warnings
   # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
   # @param weather [WeatherFile] Weather object containing EPW information
-  # @param hpxml_header [HPXML::Header] HPXML Header object
+  # @param hpxml_header [HPXML::Header] HPXML Header object (one per HPXML file)
   # @return [Array] Maps of HPXML::Zones => DesignLoadValues object, HPXML::Spaces => DesignLoadValues object
   def self.apply_hvac_sizing(runner, hpxml_bldg, weather, hpxml_header)
     hvac_systems = HVAC.get_hpxml_hvac_systems(hpxml_bldg)
diff --git a/HPXMLtoOpenStudio/resources/hpxml.rb b/HPXMLtoOpenStudio/resources/hpxml.rb
index 447b2ccd9a..501c05566e 100644
--- a/HPXMLtoOpenStudio/resources/hpxml.rb
+++ b/HPXMLtoOpenStudio/resources/hpxml.rb
@@ -410,6 +410,8 @@ class HPXML < Object
   ScheduleRegular = 'regular schedule'
   ScheduleAvailable = 'always available'
   ScheduleUnavailable = 'always unavailable'
+  SharedBoilerOperationSequenced = 'sequenced'
+  SharedBoilerOperationSimultaneous = 'simultaneous'
   ShieldingExposed = 'exposed'
   ShieldingNormal = 'normal'
   ShieldingWellShielded = 'well-shielded'
@@ -783,6 +785,28 @@ def has_fuels(building_id = nil)
     return has_fuel
   end
 
+  # Delete any shared HVAC systems that are actually modeled as systems serving multiple dwelling units.
+  # Shared systems that are modeled as equivalent in-unit systems per ANSI 301 are not deleted.
+  #
+  # @return [Hash] Map of HPXML Building => [deleted_systems]
+  def delete_shared_systems_serving_multiple_dwelling_units()
+    deleted_systems_map = {}
+    buildings.each do |hpxml_bldg|
+      hpxml_bldg.hvac_systems.each do |hvac_system|
+        next unless hvac_system.is_shared_system_serving_multiple_dwelling_units
+
+        deleted_systems_map[hpxml_bldg] = [] if deleted_systems_map[hpxml_bldg].nil?
+        deleted_systems_map[hpxml_bldg] << hvac_system
+      end
+    end
+    deleted_systems_map.values.each do |deleted_systems|
+      deleted_systems.reverse_each do |deleted_system|
+        deleted_system.delete
+      end
+    end
+    return deleted_systems_map
+  end
+
   # Object to store additional properties on an HPXML object that are not intended
   # to end up in the HPXML file. For example, you can store the OpenStudio::Model::Space
   # object for an appliance.
@@ -931,6 +955,7 @@ def initialize(hpxml_element, *args, **kwargs)
              :software_program_version,                    # [String] SoftwareInfo/SoftwareProgramVersion
              :apply_ashrae140_assumptions,                 # [Boolean] SoftwareInfo/extension/ApplyASHRAE140Assumptions
              :whole_sfa_or_mf_building_sim,                # [Boolean] SoftwareInfo/extension/WholeSFAorMFBuildingSimulation
+             :shared_boiler_operation,                     # [String] SoftwareInfo/extension/SharedHVACSizingControl/SharedBoilerOperation (HPXML::SharedBoilerXXX)
              :eri_calculation_versions,                    # [Array] SoftwareInfo/extension/ERICalculation/Version
              :co2index_calculation_versions,               # [Array] SoftwareInfo/extension/CO2IndexCalculation/Version
              :energystar_calculation_versions,             # [Array] SoftwareInfo/extension/EnergyStarCalculation/Version
@@ -995,6 +1020,10 @@ def to_doc(hpxml_doc)
       XMLHelper.add_element(software_info, 'SoftwareProgramVersion', @software_program_version, :string) unless @software_program_version.nil?
       XMLHelper.add_extension(software_info, 'ApplyASHRAE140Assumptions', @apply_ashrae140_assumptions, :boolean) unless @apply_ashrae140_assumptions.nil?
       XMLHelper.add_extension(software_info, 'WholeSFAorMFBuildingSimulation', @whole_sfa_or_mf_building_sim, :boolean) unless @whole_sfa_or_mf_building_sim.nil?
+      if not @shared_boiler_operation.nil?
+        hvac_sizing_control = XMLHelper.create_elements_as_needed(software_info, ['extension', 'SharedHVACSizingControl'])
+        XMLHelper.add_element(hvac_sizing_control, 'SharedBoilerOperation', @shared_boiler_operation, :string, @shared_boiler_operation_isdefaulted)
+      end
       { 'ERICalculation' => @eri_calculation_versions,
         'CO2IndexCalculation' => @co2index_calculation_versions,
         'EnergyStarCalculation' => @energystar_calculation_versions,
@@ -1069,6 +1098,7 @@ def from_doc(hpxml)
       @ground_to_air_heat_pump_model_type = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/SimulationControl/AdvancedResearchFeatures/GroundToAirHeatPumpModelType', :string)
       @apply_ashrae140_assumptions = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/ApplyASHRAE140Assumptions', :boolean)
       @whole_sfa_or_mf_building_sim = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/WholeSFAorMFBuildingSimulation', :boolean)
+      @shared_boiler_operation = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/SharedHVACSizingControl/SharedBoilerOperation', :string)
       @service_feeders_load_calculation_types = XMLHelper.get_values(hpxml, 'SoftwareInfo/extension/ElectricPanelLoadCalculations/ServiceFeeders/Type', :string)
       @emissions_scenarios.from_doc(hpxml)
       @utility_bill_scenarios.from_doc(hpxml)
@@ -2125,24 +2155,26 @@ def check_for_errors
         errors << 'More than one cooling system designated as the primary.'
       end
 
-      # Check for at most 1 shared heating system and 1 shared cooling system
-      num_htg_shared = 0
-      num_clg_shared = 0
-      (@heating_systems + @heat_pumps).each do |hvac_system|
-        next unless hvac_system.is_shared_system
+      if not @parent_object.header.whole_sfa_or_mf_building_sim
+        # Check for at most 1 shared heating system and 1 shared cooling system
+        num_htg_shared = 0
+        num_clg_shared = 0
+        (@heating_systems + @heat_pumps).each do |hvac_system|
+          next unless hvac_system.is_shared_system
 
-        num_htg_shared += 1
-      end
-      (@cooling_systems + @heat_pumps).each do |hvac_system|
-        next unless hvac_system.is_shared_system
+          num_htg_shared += 1
+        end
+        (@cooling_systems + @heat_pumps).each do |hvac_system|
+          next unless hvac_system.is_shared_system
 
-        num_clg_shared += 1
-      end
-      if num_htg_shared > 1
-        errors << 'More than one shared heating system found.'
-      end
-      if num_clg_shared > 1
-        errors << 'More than one shared cooling system found.'
+          num_clg_shared += 1
+        end
+        if num_htg_shared > 1
+          errors << 'More than one shared heating system found.'
+        end
+        if num_clg_shared > 1
+          errors << 'More than one shared cooling system found.'
+        end
       end
 
       return errors
@@ -6430,6 +6462,7 @@ def initialize(hpxml_element, *args, **kwargs)
     CLASS_ATTRS = [:heating_detailed_performance_data] # [HPXML::HeatingDetailedPerformanceData]
     ATTRS = [:primary_system,                   # [Boolean] ../PrimarySystems/PrimaryHeatingSystem/@id
              :id,                               # [String] SystemIdentifier/@id
+             :sameas_id,                        # [String] SystemIdentifier/@sameas
              :attached_to_zone_idref,           # [String] AttachedToZone/@idref
              :location,                         # [String] UnitLocation (HPXML::LocationXXX)
              :year_installed,                   # [Integer] YearInstalled
@@ -6552,6 +6585,35 @@ def is_heat_pump_backup_system
       return !primary_heat_pump.nil?
     end
 
+    # Returns whether if we are modeling a whole MF building and the shared system is explicitly modeled.
+    # Shared systems that are modeled as equivalent in-unit systems per ANSI 301 are not included.
+    #
+    # @return [Boolean] True if modeling a whole MF building and its a shared system
+    def is_shared_system_serving_multiple_dwelling_units
+      if @parent_object.parent_object.header.whole_sfa_or_mf_building_sim
+        actual_system = self
+        if !@sameas_id.nil?
+          actual_system = sameas
+        end
+
+        if actual_system.is_shared_system
+          # Currently central boilers are the only technology explicitly modeled as serving multiple dwelling units
+          if actual_system.is_a?(HPXML::HeatingSystem) && actual_system.heating_system_type == HPXML::HVACTypeBoiler
+            return true
+          end
+        end
+      end
+
+      return false
+    end
+
+    # Returns the shared object specified elsewhere in the HPXML.
+    #
+    # @return [HPXML::HeatingSystem] HeatingSystem object linked by sameas attribute
+    def sameas
+      return HPXML::get_sameas_obj(@parent_object.parent_object, @sameas_id)
+    end
+
     # Deletes the current object from the array.
     #
     # @return [nil]
@@ -6587,6 +6649,7 @@ def to_doc(building)
       heating_system = XMLHelper.add_element(hvac_plant, 'HeatingSystem')
       sys_id = XMLHelper.add_element(heating_system, 'SystemIdentifier')
       XMLHelper.add_attribute(sys_id, 'id', @id)
+      XMLHelper.add_attribute(sys_id, 'sameas', @sameas_id) unless @sameas_id.nil?
       if not @attached_to_zone_idref.nil?
         zone_attached = XMLHelper.add_element(heating_system, 'AttachedToZone')
         XMLHelper.add_attribute(zone_attached, 'idref', @attached_to_zone_idref)
@@ -6658,6 +6721,7 @@ def from_doc(heating_system)
       return if heating_system.nil?
 
       @id = HPXML::get_id(heating_system)
+      @sameas_id = HPXML::get_sameas_id(heating_system)
       @attached_to_zone_idref = HPXML::get_idref(XMLHelper.get_elements(heating_system, 'AttachedToZone')[0])
       @location = XMLHelper.get_value(heating_system, 'UnitLocation', :string)
       @year_installed = XMLHelper.get_value(heating_system, 'YearInstalled', :integer)
@@ -6745,6 +6809,7 @@ def initialize(hpxml_element, *args, **kwargs)
     CLASS_ATTRS = [:cooling_detailed_performance_data] # [HPXML::CoolingDetailedPerformanceData]
     ATTRS = [:primary_system,                                      # [Boolean] ../PrimarySystems/PrimaryCoolingSystem/@idref
              :id,                                                  # [String] SystemIdentifier/@id
+             :sameas_id,                                           # [String] SystemIdentifier/@sameas
              :attached_to_zone_idref,                              # [String] AttachedToZone/@idref
              :location,                                            # [String] UnitLocation (HPXML::LocationXXX)
              :year_installed,                                      # [Integer] YearInstalled
@@ -6851,6 +6916,22 @@ def has_integrated_heating
       return true
     end
 
+    # Returns whether if we are modeling a whole MF building and the shared system is explicitly modeled.
+    # Shared systems that are modeled as equivalent in-unit systems per ANSI 301 are not included.
+    #
+    # @return [Boolean] True if modeling a whole MF building and its a shared system
+    def is_shared_system_serving_multiple_dwelling_units
+      # Currently no shared cooling systems are explicitly modeled
+      return false
+    end
+
+    # Returns the shared object specified elsewhere in the HPXML.
+    #
+    # @return [HPXML::CoolingSystem] CoolingSystem object linked by sameas attribute
+    def sameas
+      return HPXML::get_sameas_obj(@parent_object.parent_object, @sameas_id)
+    end
+
     # Deletes the current object from the array.
     #
     # @return [nil]
@@ -6886,6 +6967,7 @@ def to_doc(building)
       cooling_system = XMLHelper.add_element(hvac_plant, 'CoolingSystem')
       sys_id = XMLHelper.add_element(cooling_system, 'SystemIdentifier')
       XMLHelper.add_attribute(sys_id, 'id', @id)
+      XMLHelper.add_attribute(sys_id, 'sameas', @sameas_id) unless @sameas_id.nil?
       if not @attached_to_zone_idref.nil?
         zone_attached = XMLHelper.add_element(cooling_system, 'AttachedToZone')
         XMLHelper.add_attribute(zone_attached, 'idref', @attached_to_zone_idref)
@@ -6972,6 +7054,7 @@ def from_doc(cooling_system)
       return if cooling_system.nil?
 
       @id = HPXML::get_id(cooling_system)
+      @sameas_id = HPXML::get_sameas_id(cooling_system)
       @attached_to_zone_idref = HPXML::get_idref(XMLHelper.get_elements(cooling_system, 'AttachedToZone')[0])
       @location = XMLHelper.get_value(cooling_system, 'UnitLocation', :string)
       @year_installed = XMLHelper.get_value(cooling_system, 'YearInstalled', :integer)
@@ -7067,6 +7150,7 @@ def initialize(hpxml_element, *args, **kwargs)
     ATTRS = [:primary_heating_system,               # [Boolean] ../PrimarySystems/PrimaryHeatingSystem/@idref
              :primary_cooling_system,               # [Boolean] ../PrimarySystems/PrimaryCoolingSystem/@idref
              :id,                                   # [String] SystemIdentifier/@id
+             :sameas_id,                            # [String] SystemIdentifier/@sameas
              :attached_to_zone_idref,               # [String] AttachedToZone/@idref
              :location,                             # [String] UnitLocation (HPXML::LocationXXX)
              :year_installed,                       # [Integer] YearInstalled
@@ -7237,6 +7321,22 @@ def backup_system
       end
     end
 
+    # Returns whether if we are modeling a whole MF building and the shared system is explicitly modeled.
+    # Shared systems that are modeled as equivalent in-unit systems per ANSI 301 are not included.
+    #
+    # @return [Boolean] True if modeling a whole MF building and its a shared system
+    def is_shared_system_serving_multiple_dwelling_units
+      # Currently no shared heat pumps are explicitly modeled
+      return false
+    end
+
+    # Returns the shared object specified elsewhere in the HPXML.
+    #
+    # @return [HPXML::HeatPump] HeatPump object linked by sameas attribute
+    def sameas
+      return HPXML::get_sameas_obj(@parent_object.parent_object, @sameas_id)
+    end
+
     # Deletes the current object from the array.
     #
     # @return [nil]
@@ -7274,6 +7374,7 @@ def to_doc(building)
       heat_pump = XMLHelper.add_element(hvac_plant, 'HeatPump')
       sys_id = XMLHelper.add_element(heat_pump, 'SystemIdentifier')
       XMLHelper.add_attribute(sys_id, 'id', @id)
+      XMLHelper.add_attribute(sys_id, 'sameas', @sameas_id) unless @sameas_id.nil?
       if not @attached_to_zone_idref.nil?
         zone_attached = XMLHelper.add_element(heat_pump, 'AttachedToZone')
         XMLHelper.add_attribute(zone_attached, 'idref', @attached_to_zone_idref)
@@ -7402,6 +7503,7 @@ def from_doc(heat_pump)
       return if heat_pump.nil?
 
       @id = HPXML::get_id(heat_pump)
+      @sameas_id = HPXML::get_sameas_id(heat_pump)
       @attached_to_zone_idref = HPXML::get_idref(XMLHelper.get_elements(heat_pump, 'AttachedToZone')[0])
       @location = XMLHelper.get_value(heat_pump, 'UnitLocation', :string)
       @year_installed = XMLHelper.get_value(heat_pump, 'YearInstalled', :integer)
@@ -7829,11 +7931,16 @@ def initialize(hpxml_bldg, *args, **kwargs)
                    :ducts,                     # [HPXML::Ducts]
                    :manualj_duct_loads]        # [HPXML::ManualJDuctLoads]
     ATTRS = [:id,                            # [String] SystemIdentifier/@id
+             :sameas_id,                     # [String] SystemIdentifier/@sameas
              :distribution_system_type,      # [String] DistributionSystemType/* (HPXML::HVACDistributionTypeXXX)
              :number_of_return_registers,    # [Integer] DistributionSystemType/AirDistribution/NumberofReturnRegisters
              :air_type,                      # [String] DistributionSystemType/AirDistribution/AirDistributionType (HPXML::AirTypeXXX)
              :manualj_blower_fan_heat_btuh,  # [Double] DistributionSystemType/AirDistribution/extension/ManualJInputs/BlowerFanHeatBtuh (Btu/hr)
              :hydronic_type,                 # [String] DistributionSystemType/HydronicDistribution/HydronicDistributionType (HPXML::HydronicTypeXXX)
+             :hydronic_supply_temp,          # [Double] DistributionSystemType/HydronicDistribution/SupplyTemperature (F)
+             :hydronic_return_temp,          # [Double] DistributionSystemType/HydronicDistribution/ReturnTemperature (F)
+             :hydronic_trvs,                 # [Boolean] DistributionSystemType/HydronicDistribution/PumpandZoneValve/ThermostaticRadiatorValves
+             :hydronic_variable_speed_pump,  # [Boolean] DistributionSystemType/HydronicDistribution/PumpandZoneValve/VariableSpeedPump
              :manualj_hot_water_piping_btuh, # [Double] DistributionSystemType/HydronicDistribution/extension/ManualJInputs/HotWaterPipingBtuh (Btu/hr)
              :annual_heating_dse,            # [Double] DistributionSystemType/Other/AnnualHeatingDistributionSystemEfficiency (frac)
              :annual_cooling_dse,            # [Double] DistributionSystemType/Other/AnnualCoolingDistributionSystemEfficiency (frac)
@@ -7868,16 +7975,25 @@ def hvac_systems
         end
       end
 
-      if num_clg > 1
-        fail "Multiple cooling systems found attached to distribution system '#{@id}'."
-      end
-      if num_htg > 1
-        fail "Multiple heating systems found attached to distribution system '#{@id}'."
+      if not @parent_object.parent_object.header.whole_sfa_or_mf_building_sim
+        if num_clg > 1
+          fail "Multiple cooling systems found attached to distribution system '#{@id}'."
+        end
+        if num_htg > 1
+          fail "Multiple heating systems found attached to distribution system '#{@id}'."
+        end
       end
 
       return list
     end
 
+    # Returns the shared system object elsewhere in the HPXML.
+    #
+    # @return [HPXML::HVACDistribution] HVACDistribution object linked by sameas attribute
+    def sameas
+      return HPXML::get_sameas_obj(@parent_object.parent_object, @sameas_id)
+    end
+
     # Deletes the current object from the array.
     #
     # @return [nil]
@@ -7919,6 +8035,7 @@ def to_doc(building)
       hvac_distribution = XMLHelper.add_element(hvac, 'HVACDistribution')
       sys_id = XMLHelper.add_element(hvac_distribution, 'SystemIdentifier')
       XMLHelper.add_attribute(sys_id, 'id', @id)
+      XMLHelper.add_attribute(sys_id, 'sameas', @sameas_id) unless @sameas_id.nil?
       if [HVACDistributionTypeAir, HVACDistributionTypeHydronic].include? @distribution_system_type
         distribution_system_type_el = XMLHelper.add_element(hvac_distribution, 'DistributionSystemType')
         XMLHelper.add_element(distribution_system_type_el, @distribution_system_type)
@@ -7928,13 +8045,18 @@ def to_doc(building)
         XMLHelper.add_element(distribution_system_type_el, 'Other', @distribution_system_type, :string)
         XMLHelper.add_element(hvac_distribution, 'AnnualHeatingDistributionSystemEfficiency', @annual_heating_dse, :float) unless @annual_heating_dse.nil?
         XMLHelper.add_element(hvac_distribution, 'AnnualCoolingDistributionSystemEfficiency', @annual_cooling_dse, :float) unless @annual_cooling_dse.nil?
-      else
-        fail "Unexpected distribution_system_type '#{@distribution_system_type}'."
       end
 
       if [HPXML::HVACDistributionTypeHydronic].include? @distribution_system_type
         hydronic_distribution = XMLHelper.get_element(hvac_distribution, 'DistributionSystemType/HydronicDistribution')
         XMLHelper.add_element(hydronic_distribution, 'HydronicDistributionType', @hydronic_type, :string) unless @hydronic_type.nil?
+        XMLHelper.add_element(hydronic_distribution, 'SupplyTemperature', @hydronic_supply_temp, :float, @hydronic_supply_temp_isdefaulted) unless @hydronic_supply_temp.nil?
+        XMLHelper.add_element(hydronic_distribution, 'ReturnTemperature', @hydronic_return_temp, :float, @hydronic_return_temp_isdefaulted) unless @hydronic_return_temp.nil?
+        if (not @hydronic_trvs.nil?) || (not @hydronic_variable_speed_pump.nil?)
+          pump_and_zone_valve = XMLHelper.add_element(hydronic_distribution, 'PumpandZoneValve')
+          XMLHelper.add_element(pump_and_zone_valve, 'ThermostaticRadiatorValves', @hydronic_trvs, :boolean, @hydronic_trvs_isdefaulted) unless @hydronic_trvs.nil?
+          XMLHelper.add_element(pump_and_zone_valve, 'VariableSpeedPump', @hydronic_variable_speed_pump, :boolean, @hydronic_variable_speed_pump_isdefaulted) unless @hydronic_variable_speed_pump.nil?
+        end
         if not @manualj_hot_water_piping_btuh.nil?
           manualj_inputs = XMLHelper.create_elements_as_needed(hydronic_distribution, ['extension', 'ManualJInputs'])
           XMLHelper.add_element(manualj_inputs, 'HotWaterPipingBtuh', @manualj_hot_water_piping_btuh, :float, @manualj_hot_water_piping_btuh_isdefaulted)
@@ -7962,6 +8084,7 @@ def from_doc(hvac_distribution)
       return if hvac_distribution.nil?
 
       @id = HPXML::get_id(hvac_distribution)
+      @sameas_id = HPXML::get_sameas_id(hvac_distribution)
       @distribution_system_type = XMLHelper.get_child_name(hvac_distribution, 'DistributionSystemType')
       if @distribution_system_type == 'Other'
         @distribution_system_type = XMLHelper.get_value(XMLHelper.get_element(hvac_distribution, 'DistributionSystemType'), 'Other', :string)
@@ -7975,6 +8098,10 @@ def from_doc(hvac_distribution)
 
       if not hydronic_distribution.nil?
         @hydronic_type = XMLHelper.get_value(hydronic_distribution, 'HydronicDistributionType', :string)
+        @hydronic_supply_temp = XMLHelper.get_value(hydronic_distribution, 'SupplyTemperature', :float)
+        @hydronic_return_temp = XMLHelper.get_value(hydronic_distribution, 'ReturnTemperature', :float)
+        @hydronic_trvs = XMLHelper.get_value(hydronic_distribution, 'PumpandZoneValve/ThermostaticRadiatorValves', :boolean)
+        @hydronic_variable_speed_pump = XMLHelper.get_value(hydronic_distribution, 'PumpandZoneValve/VariableSpeedPump', :boolean)
         @manualj_hot_water_piping_btuh = XMLHelper.get_value(hydronic_distribution, 'extension/ManualJInputs/HotWaterPipingBtuh', :float)
       end
       if not air_distribution.nil?
diff --git a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch
index c20e790d9f..0fee7e520e 100644
--- a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch
+++ b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch
@@ -1060,10 +1060,10 @@
 
   
     [HeatingSystem]
-    
+    
       Expected 0 or 1 element(s) for xpath: AttachedToZone
       Expected 1 element(s) for xpath: ../../HVACControl 
-      Expected 1 element(s) for xpath: HeatingSystemType[ElectricResistance | Furnace | WallFurnace | FloorFurnace | Boiler | Stove | SpaceHeater | Fireplace] 
+      Expected 1 element(s) for xpath: HeatingSystemType[ElectricResistance | Furnace | WallFurnace | FloorFurnace | Boiler | Stove | SpaceHeater | Fireplace] 
       Expected 0 or 1 element(s) for xpath: extension/HeatingAutosizingFactor
       HeatingAutosizingFactor should be greater than 0.0
       Expected 0 or 1 element(s) for xpath: extension/HeatingAutosizingLimit
@@ -1178,10 +1178,27 @@
   
 
   
-    [HeatingSystemType=SharedBoiler]
-    
+    [HeatingSystemType=SharedBoilerWholeBuilding]
+    
       Expected 1 element(s) for xpath: ../../../../BuildingSummary/BuildingConstruction[ResidentialFacilityType[text()="single-family attached" or text()="apartment unit"]]
-      Expected 1 or more element(s) for xpath: ../../HVACDistribution/DistributionSystemType/HydronicDistribution/HydronicDistributionType[text()="radiator" or text()="baseboard" or text()="radiant floor" or text()="radiant ceiling" or text()="water loop"] | ../../HVACDistribution/DistributionSystemType/AirDistribution/AirDistributionType[text()="fan coil"] 
+      Expected 1 or more element(s) for xpath: ../../HVACDistribution/DistributionSystemType/HydronicDistribution/HydronicDistributionType[text()="baseboard"]
+      Expected 1 element(s) for xpath: DistributionSystem
+      Expected 0 or 1 element(s) for xpath: HeatingSystemType/Boiler/PilotLight 
+      Expected 1 element(s) for xpath: HeatingSystemFuel
+      Expected HeatingSystemFuel to be 'electricity' or 'natural gas' or 'fuel oil' or 'fuel oil 1' or 'fuel oil 2' or 'fuel oil 4' or 'fuel oil 5/6' or 'diesel' or 'propane' or 'kerosene' or 'coal' or 'coke' or 'bituminous coal' or 'wood' or 'wood pellets'
+      Expected 1 element(s) for xpath: HeatingCapacity
+      Expected 1 element(s) for xpath: AnnualHeatingEfficiency[Units="AFUE"]/Value
+      Expected AnnualHeatingEfficiency[Units="AFUE"]/Value to be less than or equal to 1
+      
+      AFUE should typically be greater than or equal to 0.5.
+    
+  
+
+  
+    [HeatingSystemType=SharedBoilerSingleUnit]
+    
+      Expected 1 element(s) for xpath: ../../../../BuildingSummary/BuildingConstruction[ResidentialFacilityType[text()="single-family attached" or text()="apartment unit"]]
+      Expected 1 or more element(s) for xpath: ../../HVACDistribution/DistributionSystemType/HydronicDistribution/HydronicDistributionType[text()="radiator" or text()="baseboard" or text()="radiant floor" or text()="radiant ceiling" or text()="water loop"] | ../../HVACDistribution/DistributionSystemType/AirDistribution/AirDistributionType[text()="fan coil"] 
       Expected 0 or 1 element(s) for xpath: UnitLocation
       Expected UnitLocation to be 'conditioned space' or 'basement - unconditioned' or 'basement - conditioned' or 'attic - unvented' or 'attic - vented' or 'garage' or 'crawlspace - unvented' or 'crawlspace - vented' or 'crawlspace - conditioned' or 'other exterior' or 'other housing unit' or 'other heated space' or 'other multifamily buffer space' or 'other non-freezing space' or 'roof deck' or 'unconditioned space' or 'manufactured home belly'
       Expected 1 element(s) for xpath: DistributionSystem
@@ -1201,7 +1218,7 @@
   
 
   
-    [HeatingSystemType=SharedBoilerWthFanCoil]
+    [HeatingSystemType=SharedBoilerSingleUnitWithFanCoil]
     
       Expected 0 or 1 element(s) for xpath: ElectricAuxiliaryEnergy | extension/FanCoilWatts
       Expected extension/FanCoilWatts to be greater than or equal to 0
@@ -1209,7 +1226,7 @@
   
 
   
-    [HeatingSystemType=SharedBoilerWithWLHP]
+    [HeatingSystemType=SharedBoilerSingleUnitWithWLHP]
     
       Expected 0 or 1 element(s) for xpath: ../HeatPump[HeatPumpType="water-loop-to-air"]/HeatingCapacity
       Expected 1 element(s) for xpath: ../HeatPump[HeatPumpType="water-loop-to-air"]/AnnualHeatingEfficiency[Units="COP"]/Value
@@ -2144,7 +2161,7 @@
 
   
     [HVACDistribution]
-    
+    
       Expected 1 element(s) for xpath: DistributionSystemType[AirDistribution | HydronicDistribution | Other[text()="DSE"]] 
     
   
@@ -2219,6 +2236,10 @@
     
       Expected 1 element(s) for xpath: HydronicDistributionType
       Expected HydronicDistributionType to be 'radiator' or 'baseboard' or 'radiant floor' or 'radiant ceiling' or 'water loop'
+      Expected 0 or 1 element(s) for xpath: SupplyTemperature
+      Expected 0 or 1 element(s) for xpath: ReturnTemperature
+      Expected 0 or 1 element(s) for xpath: PumpandZoneValve/ThermostaticRadiatorValves
+      Expected 0 or 1 element(s) for xpath: PumpandZoneValve/VariableSpeedPump
       Expected 0 or 1 element(s) for xpath: extension/ManualJInputs/HotWaterPipingBtuh
       Expected extension/ManualJInputs/HotWaterPipingBtuh to be greater than or equal to 0
     
diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb
index 61c3cc0a99..d76469eaf9 100644
--- a/HPXMLtoOpenStudio/resources/hvac.rb
+++ b/HPXMLtoOpenStudio/resources/hvac.rb
@@ -1030,7 +1030,8 @@ def self.apply_boiler(runner, model, heating_system, hvac_sequential_load_fracs,
     oat_low = nil
     oat_hwst_high = nil
     oat_hwst_low = nil
-    design_temp = 180.0 # F
+    supply_temp = heating_system.distribution_system.hydronic_supply_temp
+    return_temp = heating_system.distribution_system.hydronic_return_temp
 
     if oat_reset_enabled
       if oat_high.nil? || oat_low.nil? || oat_hwst_low.nil? || oat_hwst_high.nil?
@@ -1047,8 +1048,8 @@ def self.apply_boiler(runner, model, heating_system, hvac_sequential_load_fracs,
 
     loop_sizing = plant_loop.sizingPlant
     loop_sizing.setLoopType('Heating')
-    loop_sizing.setDesignLoopExitTemperature(UnitConversions.convert(design_temp, 'F', 'C'))
-    loop_sizing.setLoopDesignTemperatureDifference(UnitConversions.convert(20.0, 'deltaF', 'deltaC'))
+    loop_sizing.setDesignLoopExitTemperature(UnitConversions.convert(supply_temp, 'F', 'C'))
+    loop_sizing.setLoopDesignTemperatureDifference(UnitConversions.convert(supply_temp - return_temp, 'deltaF', 'deltaC'))
 
     # Pump
     pump_w = get_pump_power_watts(heating_system)
@@ -1069,7 +1070,7 @@ def self.apply_boiler(runner, model, heating_system, hvac_sequential_load_fracs,
       boiler_RatedHWRT = UnitConversions.convert(80.0, 'F', 'C')
       plr_Rated = 1.0
       plr_Design = 1.0
-      boiler_DesignHWRT = UnitConversions.convert(design_temp - 20.0, 'F', 'C')
+      boiler_DesignHWRT = UnitConversions.convert(return_temp, 'F', 'C')
       # Efficiency curves are normalized using 80F return water temperature, at 0.254PLR
       condBlr_TE_Coeff = [1.058343061, 0.052650153, 0.0087272, 0.001742217, 0.00000333715, 0.000513723]
       boilerEff_Norm = heating_system.heating_efficiency_afue / (condBlr_TE_Coeff[0] - condBlr_TE_Coeff[1] * plr_Rated - condBlr_TE_Coeff[2] * plr_Rated**2 - condBlr_TE_Coeff[3] * boiler_RatedHWRT + condBlr_TE_Coeff[4] * boiler_RatedHWRT**2 + condBlr_TE_Coeff[5] * boiler_RatedHWRT * plr_Rated)
@@ -1120,7 +1121,7 @@ def self.apply_boiler(runner, model, heating_system, hvac_sequential_load_fracs,
     supply_setpoint = Model.add_schedule_constant(
       model,
       name: "#{obj_name} hydronic heat supply setpoint",
-      value: UnitConversions.convert(design_temp, 'F', 'C'),
+      value: UnitConversions.convert(supply_temp, 'F', 'C'),
       limits: EPlus::ScheduleTypeLimitsTemperature
     )
 
@@ -1141,8 +1142,7 @@ def self.apply_boiler(runner, model, heating_system, hvac_sequential_load_fracs,
     pipe_demand_outlet.addToNode(plant_loop.demandOutletNode)
 
     bb_ua = UnitConversions.convert(heating_system.heating_capacity, 'Btu/hr', 'W') / UnitConversions.convert(UnitConversions.convert(loop_sizing.designLoopExitTemperature, 'C', 'F') - 10.0 - 95.0, 'deltaF', 'deltaC') * 3.0 # W/K
-    max_water_flow = UnitConversions.convert(heating_system.heating_capacity, 'Btu/hr', 'W') / UnitConversions.convert(20.0, 'deltaF', 'deltaC') / 4.186 / 998.2 / 1000.0 * 2.0 # m^3/s
-
+    max_water_flow = UnitConversions.convert(heating_system.heating_capacity, 'Btu/hr', 'W') / loop_sizing.loopDesignTemperatureDifference / 4.186 / 998.2 / 1000.0 * 2.0 # m^3/s
     if heating_system.distribution_system.air_type.to_s == HPXML::AirTypeFanCoil
       # Fan
       fan_cfm = RatedCFMPerTon * UnitConversions.convert(heating_system.heating_capacity, 'Btu/hr', 'ton') # CFM
@@ -4856,6 +4856,176 @@ def self.apply_defrost_ems_program(model, htg_coil, conditioned_space, heat_pump
     return program
   end
 
+  # TODO
+  def self.apply_shared_systems(runner, model, hpxml, hpxml_osm_map, shared_systems_map)
+    hvac_unavailable_periods = { htg: Schedule.get_unavailable_periods(runner, SchedulesFile::Columns[:SpaceHeating].name, hpxml.header.unavailable_periods),
+                                 clg: Schedule.get_unavailable_periods(runner, SchedulesFile::Columns[:SpaceCooling].name, hpxml.header.unavailable_periods) }
+
+    # Create map of shared systems => (Map of hpxml_bldg => conditioned zone)
+    shared_systems_to_zones_map = {}
+    shared_systems_map.values.each do |hvac_systems|
+      shared_systems = hvac_systems.select { |h| h.sameas_id.nil? }
+      next if shared_systems.empty?
+
+      shared_systems_to_zones_map[shared_systems] = {}
+
+      # Populate zones
+      shared_system_ids = shared_systems.map { |h| h.id }
+      shared_systems_map.each do |hpxml_bldg, hvac_systems2|
+        next unless hvac_systems2.select { |h| !h.sameas_id.nil? && shared_system_ids.include?(h.sameas_id) }
+
+        unit_model = hpxml_osm_map[hpxml_bldg]
+        cond_zone_name = unit_model.getThermalZones.find { |z| z.additionalProperties.getFeatureAsString('ObjectType').to_s == HPXML::LocationConditionedSpace }.name.to_s
+        cond_zone = model.getThermalZones.find { |z| z.name.to_s == cond_zone_name }
+        shared_systems_to_zones_map[shared_systems][hpxml_bldg] = cond_zone
+      end
+    end
+
+    # Apply to model
+    shared_systems_to_zones_map.each do |shared_systems, cond_zones_map|
+      shared_boilers = shared_systems.select { |h| h.is_a?(HPXML::HeatingSystem) && h.heating_system_type == HPXML::HVACTypeBoiler }
+      if not shared_boilers.empty?
+        apply_shared_boiler(model, hpxml, shared_boilers, cond_zones_map, hvac_unavailable_periods)
+      else
+        fail 'Unexpected shared systems.'
+      end
+    end
+  end
+
+  # FIXME
+  def self.apply_shared_boiler(model, hpxml, hpxml_boilers, control_zones_map, hvac_unavailable_periods)
+    obj_name = Constants::ObjectTypeBoiler
+
+    # Get distribution system
+    check_distribution_system(hpxml_boilers[0], HPXML::HVACTypeBoiler)
+    distribution_system = hpxml_boilers[0].distribution_system
+    supply_temp = distribution_system.hydronic_supply_temp # deg-F
+    return_temp = distribution_system.hydronic_return_temp # deg-F
+
+    # Plant Loop
+    plant_loop = OpenStudio::Model::PlantLoop.new(model)
+    plant_loop.setName(obj_name + ' hydronic heat loop')
+    plant_loop.setFluidType('Water')
+    plant_loop.setMaximumLoopTemperature(100)
+    plant_loop.setMinimumLoopTemperature(0)
+    plant_loop.setMinimumLoopFlowRate(0)
+    plant_loop.autocalculatePlantLoopVolume()
+    # Set plant loop distribution scheme
+    if hpxml.header.shared_boiler_operation == HPXML::SharedBoilerOperationSequenced
+      plant_loop.setLoadDistributionScheme('SequentialLoad')
+    elsif hpxml.header.shared_boiler_operation == HPXML::SharedBoilerOperationSimultaneous
+      plant_loop.setLoadDistributionScheme('UniformLoad')
+    end
+
+    loop_sizing = plant_loop.sizingPlant
+    loop_sizing.setLoopType('Heating')
+    loop_sizing.setDesignLoopExitTemperature(UnitConversions.convert(supply_temp, 'F', 'C'))
+    loop_sizing.setLoopDesignTemperatureDifference(UnitConversions.convert(supply_temp - return_temp, 'deltaF', 'deltaC'))
+
+    # Pump
+    # FIXME
+    if distribution_system.hydronic_variable_speed_pump
+      pump_w = 1000.0
+      pump = Model.add_pump_variable_speed(
+        model,
+        name: "#{obj_name} hydronic pump",
+        rated_power: pump_w
+      )
+    else
+      pump = Model.add_pump_constant_speed(
+        model,
+        name: "#{obj_name} hydronic pump",
+        rated_power: 0,
+        rated_flow_rate: 0
+      )
+    end
+    pump.addToNode(plant_loop.supplyInletNode)
+
+    # Hot Water Boilers
+    total_heating_capacity = 0
+    hpxml_boilers.each do |heating_system|
+      boiler = OpenStudio::Model::BoilerHotWater.new(model)
+      boiler.setName(obj_name)
+      boiler.setFuelType(EPlus.fuel_type(heating_system.heating_system_fuel))
+      boiler.setNominalThermalEfficiency(heating_system.heating_efficiency_afue)
+      boiler.setEfficiencyCurveTemperatureEvaluationVariable('LeavingBoiler')
+      boiler_eff_curve = Model.add_curve_bicubic(
+        model,
+        name: 'NonCondensingBoilerEff',
+        coeff: [1.111720116, 0.078614078, -0.400425756, 0.0, -0.000156783, 0.009384599, 0.234257955, 1.32927e-06, -0.004446701, -1.22498e-05],
+        min_x: 0.1, max_x: 1.0, min_y: 20.0, max_y: 80.0
+      )
+      boiler.setNormalizedBoilerEfficiencyCurve(boiler_eff_curve)
+      boiler.setMinimumPartLoadRatio(0.0)
+      boiler.setMaximumPartLoadRatio(1.0)
+      boiler.setBoilerFlowMode('LeavingSetpointModulated')
+      boiler.setOptimumPartLoadRatio(1.0)
+      boiler.setWaterOutletUpperTemperatureLimit(99.9)
+      boiler.setOnCycleParasiticElectricLoad(0)
+      boiler.setNominalCapacity(UnitConversions.convert(heating_system.heating_capacity, 'Btu/hr', 'W'))
+      boiler.setOffCycleParasiticFuelLoad(UnitConversions.convert(heating_system.pilot_light_btuh.to_f, 'Btu/hr', 'W'))
+      plant_loop.addSupplyBranchForComponent(boiler)
+      boiler.additionalProperties.setFeature('HPXML_ID', heating_system.id) # Used by reporting measure
+
+      total_heating_capacity += heating_system.heating_capacity
+    end
+
+    supply_setpoint = Model.add_schedule_constant(
+      model,
+      name: "#{obj_name} hydronic heat supply setpoint",
+      value: UnitConversions.convert(supply_temp, 'F', 'C'),
+      limits: EPlus::ScheduleTypeLimitsTemperature
+    )
+
+    setpoint_manager_scheduled = OpenStudio::Model::SetpointManagerScheduled.new(model, supply_setpoint)
+    setpoint_manager_scheduled.setName(obj_name + ' hydronic heat loop setpoint manager')
+    setpoint_manager_scheduled.setControlVariable('Temperature')
+    setpoint_manager_scheduled.addToNode(plant_loop.supplyOutletNode)
+
+    pipe_supply_bypass = OpenStudio::Model::PipeAdiabatic.new(model)
+    plant_loop.addSupplyBranchForComponent(pipe_supply_bypass)
+    pipe_supply_outlet = OpenStudio::Model::PipeAdiabatic.new(model)
+    pipe_supply_outlet.addToNode(plant_loop.supplyOutletNode)
+    pipe_demand_bypass = OpenStudio::Model::PipeAdiabatic.new(model)
+    plant_loop.addDemandBranchForComponent(pipe_demand_bypass)
+    pipe_demand_inlet = OpenStudio::Model::PipeAdiabatic.new(model)
+    pipe_demand_inlet.addToNode(plant_loop.demandInletNode)
+    pipe_demand_outlet = OpenStudio::Model::PipeAdiabatic.new(model)
+    pipe_demand_outlet.addToNode(plant_loop.demandOutletNode)
+
+    # FIXME: Doesn't currently respond to Heating/Cooling seasons, if defined
+    # FIXME: Cannot currently be mixed with in-unit HVAC systems that serve a fraction of the load
+    hvac_sequential_load_fracs = { htg: [1], clg: [1] }
+
+    if distribution_system.distribution_system_type == HPXML::HVACDistributionTypeHydronic
+      total_heating_design_load = control_zones_map.keys.map { |hpxml_bldg| hpxml_bldg.hvac_plant.hdl_total }.sum
+      control_zones_map.each do |hpxml_bldg, control_zone|
+        # Apportion total boiler heating capacity to each zone based on the HPXML Building's heating design load
+        zone_heating_capacity = hpxml_bldg.hvac_plant.hdl_total / total_heating_design_load * total_heating_capacity
+
+        bb_ua = UnitConversions.convert(zone_heating_capacity, 'Btu/hr', 'W') / UnitConversions.convert(UnitConversions.convert(loop_sizing.designLoopExitTemperature, 'C', 'F') - 10.0 - 95.0, 'deltaF', 'deltaC') * 3.0 # W/K
+        max_water_flow = UnitConversions.convert(zone_heating_capacity, 'Btu/hr', 'W') / loop_sizing.loopDesignTemperatureDifference / 4.186 / 998.2 / 1000.0 * 2.0 # m^3/s
+
+        # Heating Coil
+        htg_coil = OpenStudio::Model::CoilHeatingWaterBaseboard.new(model)
+        htg_coil.setName(obj_name + ' htg coil')
+        htg_coil.setConvergenceTolerance(0.001)
+        htg_coil.setHeatingDesignCapacity(UnitConversions.convert(zone_heating_capacity, 'Btu/hr', 'W'))
+        htg_coil.setUFactorTimesAreaValue(bb_ua)
+        htg_coil.setMaximumWaterFlowRate(max_water_flow)
+        htg_coil.setHeatingDesignCapacityMethod('HeatingDesignCapacity')
+        plant_loop.addDemandBranchForComponent(htg_coil)
+
+        # Baseboard
+        zone_hvac = OpenStudio::Model::ZoneHVACBaseboardConvectiveWater.new(model, model.alwaysOnDiscreteSchedule, htg_coil)
+        zone_hvac.setName(obj_name + ' baseboard')
+        zone_hvac.addToThermalZone(control_zone)
+
+        set_sequential_load_fractions(model, control_zone, zone_hvac, hvac_sequential_load_fracs, hvac_unavailable_periods)
+      end
+    end
+  end
+
   # Calculates the rated airflow rate for a given speed.
   #
   # @param net_rated_capacity [Double] Net rated capacity for the given speed (Btu/hr)
@@ -4866,6 +5036,24 @@ def self.calc_rated_airflow(net_rated_capacity, rated_cfm_per_ton, output_units)
     return UnitConversions.convert(net_rated_capacity, 'Btu/hr', 'ton') * UnitConversions.convert(rated_cfm_per_ton, 'cfm', output_units)
   end
 
+  # TODO
+  #
+  # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
+  # @param heating_system [TODO] TODO
+  # @param cooling_system [TODO] TODO
+  # @return [TODO] TODO
+  def self.is_attached_heating_and_cooling_systems(hpxml_bldg, heating_system, cooling_system)
+    # Now only allows furnace+AC
+    if not ((hpxml_bldg.heating_systems.include? heating_system) && (hpxml_bldg.cooling_systems.include? cooling_system))
+      return false
+    end
+    if not (heating_system.heating_system_type == HPXML::HVACTypeFurnace && cooling_system.cooling_system_type == HPXML::HVACTypeCentralAirConditioner)
+      return false
+    end
+
+    return true
+  end
+
   # Returns a list of HPXML HVAC (heating/cooling) systems, incorporating whether multiple systems are
   # connected to the same distribution system (e.g., a furnace + central air conditioner w/ the same ducts).
   #
diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb
index 5215a7248c..2139bdaa73 100644
--- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb
+++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb
@@ -139,6 +139,14 @@ def self.is_system_to_skip(hvac_heating, hvac_cooling, zone)
       return true
     end
 
+    # Don't size shared systems serving multiple dwelling units for whole MF building models
+    if !hvac_heating.nil? && hvac_heating.is_shared_system_serving_multiple_dwelling_units
+      return true
+    end
+    if !hvac_cooling.nil? && hvac_cooling.is_shared_system_serving_multiple_dwelling_units
+      return true
+    end
+
     return false
   end
 
diff --git a/HPXMLtoOpenStudio/resources/model.rb b/HPXMLtoOpenStudio/resources/model.rb
index 7bbae47989..6c6652b0ad 100644
--- a/HPXMLtoOpenStudio/resources/model.rb
+++ b/HPXMLtoOpenStudio/resources/model.rb
@@ -382,6 +382,26 @@ def self.add_plant_loop(model, name:, fluid_type: EPlus::FluidWater, glycol_conc
     return plant_loop
   end
 
+  # Adds a PumpConstantSpeed object to the OpenStudio model.
+  #
+  # @param model [OpenStudio::Model::Model] OpenStudio Model object
+  # @param name [String] Name for the OpenStudio object
+  # @param rated_power [Double] Design power consumption (W)
+  # @param rated_flow_rate [Double] Design flow rate (m^3/s)
+  # @param control_type [String] Pump control type (EPlus::PumpControlTypeXXX)
+  # @return [OpenStudio::Model::PumpConstantSpeed] The model object
+  def self.add_pump_constant_speed(model, name:, rated_power:, rated_flow_rate:, control_type: EPlus::PumpControlTypeIntermittent)
+    pump = OpenStudio::Model::PumpConstantSpeed.new(model)
+    pump.setName(name)
+    pump.setMotorEfficiency(0.3)
+    pump.setRatedPowerConsumption(rated_power)
+    pump.setRatedPumpHead(90000)
+    pump.setRatedFlowRate(rated_flow_rate)
+    pump.setFractionofMotorInefficienciestoFluidStream(0.2)
+    pump.setPumpControlType(control_type)
+    return pump
+  end
+
   # Adds a PumpVariableSpeed object to the OpenStudio model.
   #
   # @param model [OpenStudio::Model::Model] OpenStudio Model object
@@ -397,8 +417,8 @@ def self.add_pump_variable_speed(model, name:, rated_power:, control_type: EPlus
     pump_eff = 0.75 # Overall efficiency of the pump
     if rated_power > 0
       pump.setRatedPumpHead(20000)
-      flow_rate = pump_eff * rated_power / pump.ratedPumpHead
-      pump.setRatedFlowRate([flow_rate, 0.00001].max)
+      rated_flow_rate = pump_eff * rated_power / pump.ratedPumpHead
+      pump.setRatedFlowRate([rated_flow_rate, 0.00001].max)
     else
       pump.setRatedPumpHead(1)
       pump.setRatedFlowRate(0.01)
diff --git a/HPXMLtoOpenStudio/resources/waterheater.rb b/HPXMLtoOpenStudio/resources/waterheater.rb
index 85741a8137..f0e1d59943 100644
--- a/HPXMLtoOpenStudio/resources/waterheater.rb
+++ b/HPXMLtoOpenStudio/resources/waterheater.rb
@@ -698,14 +698,10 @@ def self.apply_solar_thermal(model, spaces, hpxml_bldg, plantloop_map)
     setpoint_manager.setName(obj_name + ' setpoint mgr')
     setpoint_manager.setControlVariable('Temperature')
 
-    pump = OpenStudio::Model::PumpConstantSpeed.new(model)
-    pump.setName(obj_name + ' pump')
-    pump.setRatedPumpHead(90000)
-    pump.setRatedPowerConsumption(pump_power)
-    pump.setMotorEfficiency(0.3)
-    pump.setFractionofMotorInefficienciestoFluidStream(0.2)
-    pump.setPumpControlType(EPlus::PumpControlTypeIntermittent)
-    pump.setRatedFlowRate(UnitConversions.convert(coll_flow, 'cfm', 'm^3/s'))
+    pump = Model.add_pump_constant_speed(model,
+                                         name: "#{obj_name} pump",
+                                         rated_power: pump_power,
+                                         rated_flow_rate: UnitConversions.convert(coll_flow, 'cfm', 'm^3/s'))
     pump.addToNode(plant_loop.supplyInletNode)
     pump.additionalProperties.setFeature('HPXML_ID', solar_thermal_system.water_heating_system.id) # Used by reporting measure
     pump.additionalProperties.setFeature('ObjectType', Constants::ObjectTypeSolarHotWater) # Used by reporting measure
diff --git a/ReportSimulationOutput/README.md b/ReportSimulationOutput/README.md
index d103c3e0da..927aa9c601 100644
--- a/ReportSimulationOutput/README.md
+++ b/ReportSimulationOutput/README.md
@@ -1,819 +1,819 @@
-
-###### (Automatically generated documentation)
-
-# HPXML Simulation Output Report
-
-## Description
-Reports simulation outputs for residential HPXML-based models.
-
-Processes EnergyPlus simulation outputs in order to generate an annual output file and an optional timeseries output file.
-
-## Arguments
-
-
-**Output Format**
-
-The file format of the annual (and timeseries, if requested) outputs. If 'csv_dview' is selected, the timeseries CSV file will include header rows that facilitate opening the file in the DView application.
-
-- **Name:** ``output_format``
-- **Type:** ``Choice``
-
-- **Required:** ``false``
-
-- **Choices:** `csv`, `json`, `msgpack`, `csv_dview`
-
-
-
-**Generate Annual Output: Total Consumptions**
-
-Generates annual energy consumptions for the total building.
-
-- **Name:** ``include_annual_total_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Fuel Consumptions**
-
-Generates annual energy consumptions for each fuel type.
-
-- **Name:** ``include_annual_fuel_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: End Use Consumptions**
-
-Generates annual energy consumptions for each end use.
-
-- **Name:** ``include_annual_end_use_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: System Use Consumptions**
-
-Generates annual energy consumptions for each end use of each HVAC and water heating system.
-
-- **Name:** ``include_annual_system_use_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Emissions**
-
-Generates annual emissions. Requires the appropriate HPXML inputs to be specified.
-
-- **Name:** ``include_annual_emissions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Emission Fuel Uses**
-
-Generates annual emissions for each fuel type. Requires the appropriate HPXML inputs to be specified.
-
-- **Name:** ``include_annual_emission_fuels``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Emission End Uses**
-
-Generates annual emissions for each end use. Requires the appropriate HPXML inputs to be specified.
-
-- **Name:** ``include_annual_emission_end_uses``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Total Loads**
-
-Generates annual heating, cooling, and hot water loads.
-
-- **Name:** ``include_annual_total_loads``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Unmet Hours**
-
-Generates annual unmet hours for heating, cooling, and EV driving.
-
-- **Name:** ``include_annual_unmet_hours``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Peak Fuels**
-
-Generates annual/summer/winter electricity peaks.
-
-- **Name:** ``include_annual_peak_fuels``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Peak Loads**
-
-Generates annual peak loads for heating/cooling.
-
-- **Name:** ``include_annual_peak_loads``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Component Loads**
-
-Generates annual heating and cooling loads disaggregated by component type.
-
-- **Name:** ``include_annual_component_loads``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Hot Water Uses**
-
-Generates annual hot water usages for each end use.
-
-- **Name:** ``include_annual_hot_water_uses``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: HVAC Summary**
-
-Generates HVAC capacities, design temperatures, and design loads.
-
-- **Name:** ``include_annual_hvac_summary``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Annual Output: Resilience**
-
-Generates annual resilience outputs.
-
-- **Name:** ``include_annual_resilience``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Timeseries Reporting Frequency**
-
-The frequency at which to report timeseries output data. Using 'none' will disable timeseries outputs.
-
-- **Name:** ``timeseries_frequency``
-- **Type:** ``Choice``
-
-- **Required:** ``false``
-
-- **Choices:** `none`, `timestep`, `hourly`, `daily`, `monthly`
-
-
-
-**Generate Timeseries Output: Total Consumptions**
-
-Generates timeseries energy consumptions for the total building.
-
-- **Name:** ``include_timeseries_total_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Fuel Consumptions**
-
-Generates timeseries energy consumptions for each fuel type.
-
-- **Name:** ``include_timeseries_fuel_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: End Use Consumptions**
-
-Generates timeseries energy consumptions for each end use.
-
-- **Name:** ``include_timeseries_end_use_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: System Use Consumptions**
-
-Generates timeseries energy consumptions for each end use of each HVAC and water heating system.
-
-- **Name:** ``include_timeseries_system_use_consumptions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Emissions**
-
-Generates timeseries emissions. Requires the appropriate HPXML inputs to be specified.
-
-- **Name:** ``include_timeseries_emissions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Emission Fuel Uses**
-
-Generates timeseries emissions for each fuel type. Requires the appropriate HPXML inputs to be specified.
-
-- **Name:** ``include_timeseries_emission_fuels``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Emission End Uses**
-
-Generates timeseries emissions for each end use. Requires the appropriate HPXML inputs to be specified.
-
-- **Name:** ``include_timeseries_emission_end_uses``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Hot Water Uses**
-
-Generates timeseries hot water usages for each end use.
-
-- **Name:** ``include_timeseries_hot_water_uses``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Total Loads**
-
-Generates timeseries heating, cooling, and hot water loads.
-
-- **Name:** ``include_timeseries_total_loads``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Component Loads**
-
-Generates timeseries heating and cooling loads disaggregated by component type.
-
-- **Name:** ``include_timeseries_component_loads``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Unmet Hours**
-
-Generates timeseries unmet hours for heating, cooling, and EV driving.
-
-- **Name:** ``include_timeseries_unmet_hours``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Zone Temperatures**
-
-Generates timeseries temperatures for each thermal zone.
-
-- **Name:** ``include_timeseries_zone_temperatures``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Zone Conditions**
-
-Generates timeseries temperatures and humidities for each thermal zone.
-
-- **Name:** ``include_timeseries_zone_conditions``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Airflows**
-
-Generates timeseries airflows.
-
-- **Name:** ``include_timeseries_airflows``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Weather**
-
-Generates timeseries weather data.
-
-- **Name:** ``include_timeseries_weather``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Resilience**
-
-Generates timeseries resilience outputs.
-
-- **Name:** ``include_timeseries_resilience``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Timestamp Convention**
-
-Determines whether timeseries timestamps use the start-of-period or end-of-period convention. Doesn't apply if the output format is 'csv_dview'.
-
-- **Name:** ``timeseries_timestamp_convention``
-- **Type:** ``Choice``
-
-- **Required:** ``false``
-
-- **Choices:** `start`, `end`
-
-
-
-**Generate Timeseries Output: Number of Decimal Places**
-
-Allows overriding the default number of decimal places for timeseries outputs.
-
-- **Name:** ``timeseries_num_decimal_places``
-- **Type:** ``Integer``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Add TimeDST Column**
-
-Optionally add, in addition to the default local standard Time column, a local clock TimeDST column. Requires that daylight saving time is enabled.
-
-- **Name:** ``add_timeseries_dst_column``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: Add TimeUTC Column**
-
-Optionally add, in addition to the default local standard Time column, a local clock TimeUTC column. If the time zone UTC offset is not provided in the HPXML file, the time zone in the EPW header will be used.
-
-- **Name:** ``add_timeseries_utc_column``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: EnergyPlus Output Variables**
-
-Optionally generates timeseries EnergyPlus output variables. If multiple output variables are desired, use a comma-separated list. Do not include key values; by default all key values will be requested. Example: "Zone People Occupant Count, Zone People Total Heating Energy"
-
-- **Name:** ``user_output_variables``
-- **Type:** ``String``
-
-- **Required:** ``false``
-
-
-
-**Generate Timeseries Output: EnergyPlus Output Meters**
-
-Optionally generates timeseries EnergyPlus output meters. If multiple output meters are desired, use a comma-separated list. Example: "Electricity:Facility, HeatingCoils:EnergyTransfer"
-
-- **Name:** ``user_output_meters``
-- **Type:** ``String``
-
-- **Required:** ``false``
-
-
-
-**Annual Output File Name**
-
-If not provided, defaults to 'results_annual.csv' (or 'results_annual.json' or 'results_annual.msgpack').
-
-- **Name:** ``annual_output_file_name``
-- **Type:** ``String``
-
-- **Required:** ``false``
-
-
-
-**Timeseries Output File Name**
-
-If not provided, defaults to 'results_timeseries.csv' (or 'results_timeseries.json' or 'results_timeseries.msgpack').
-
-- **Name:** ``timeseries_output_file_name``
-- **Type:** ``String``
-
-- **Required:** ``false``
-
-
-
-
-
-
-
-## Outputs
-All possible measure outputs are listed below. Actual outputs depend on measure argument values provided.
-
-
-- ``energy_use_total_m_btu``
-
-- ``energy_use_net_m_btu``
-
-- ``fuel_use_electricity_total_m_btu``
-
-- ``fuel_use_electricity_net_m_btu``
-
-- ``fuel_use_natural_gas_total_m_btu``
-
-- ``fuel_use_fuel_oil_total_m_btu``
-
-- ``fuel_use_propane_total_m_btu``
-
-- ``fuel_use_wood_cord_total_m_btu``
-
-- ``fuel_use_wood_pellets_total_m_btu``
-
-- ``fuel_use_coal_total_m_btu``
-
-- ``end_use_electricity_heating_m_btu``
-
-- ``end_use_electricity_heating_fans_pumps_m_btu``
-
-- ``end_use_electricity_heating_heat_pump_backup_m_btu``
-
-- ``end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu``
-
-- ``end_use_electricity_cooling_m_btu``
-
-- ``end_use_electricity_cooling_fans_pumps_m_btu``
-
-- ``end_use_electricity_hot_water_m_btu``
-
-- ``end_use_electricity_hot_water_recirc_pump_m_btu``
-
-- ``end_use_electricity_hot_water_solar_thermal_pump_m_btu``
-
-- ``end_use_electricity_lighting_interior_m_btu``
-
-- ``end_use_electricity_lighting_garage_m_btu``
-
-- ``end_use_electricity_lighting_exterior_m_btu``
-
-- ``end_use_electricity_mech_vent_m_btu``
-
-- ``end_use_electricity_mech_vent_preheating_m_btu``
-
-- ``end_use_electricity_mech_vent_precooling_m_btu``
-
-- ``end_use_electricity_whole_house_fan_m_btu``
-
-- ``end_use_electricity_refrigerator_m_btu``
-
-- ``end_use_electricity_freezer_m_btu``
-
-- ``end_use_electricity_dehumidifier_m_btu``
-
-- ``end_use_electricity_dishwasher_m_btu``
-
-- ``end_use_electricity_clothes_washer_m_btu``
-
-- ``end_use_electricity_clothes_dryer_m_btu``
-
-- ``end_use_electricity_range_oven_m_btu``
-
-- ``end_use_electricity_ceiling_fan_m_btu``
-
-- ``end_use_electricity_television_m_btu``
-
-- ``end_use_electricity_plug_loads_m_btu``
-
-- ``end_use_electricity_well_pump_m_btu``
-
-- ``end_use_electricity_pool_heater_m_btu``
-
-- ``end_use_electricity_pool_pump_m_btu``
-
-- ``end_use_electricity_permanent_spa_heater_m_btu``
-
-- ``end_use_electricity_permanent_spa_pump_m_btu``
-
-- ``end_use_electricity_pv_m_btu``
-
-- ``end_use_electricity_generator_m_btu``
-
-- ``end_use_electricity_battery_m_btu``
-
-- ``end_use_electricity_electric_vehicle_charging_m_btu``
-
-- ``end_use_natural_gas_heating_m_btu``
-
-- ``end_use_natural_gas_heating_heat_pump_backup_m_btu``
-
-- ``end_use_natural_gas_hot_water_m_btu``
-
-- ``end_use_natural_gas_clothes_dryer_m_btu``
-
-- ``end_use_natural_gas_range_oven_m_btu``
-
-- ``end_use_natural_gas_mech_vent_preheating_m_btu``
-
-- ``end_use_natural_gas_pool_heater_m_btu``
-
-- ``end_use_natural_gas_permanent_spa_heater_m_btu``
-
-- ``end_use_natural_gas_grill_m_btu``
-
-- ``end_use_natural_gas_lighting_m_btu``
-
-- ``end_use_natural_gas_fireplace_m_btu``
-
-- ``end_use_natural_gas_generator_m_btu``
-
-- ``end_use_fuel_oil_heating_m_btu``
-
-- ``end_use_fuel_oil_heating_heat_pump_backup_m_btu``
-
-- ``end_use_fuel_oil_hot_water_m_btu``
-
-- ``end_use_fuel_oil_clothes_dryer_m_btu``
-
-- ``end_use_fuel_oil_range_oven_m_btu``
-
-- ``end_use_fuel_oil_mech_vent_preheating_m_btu``
-
-- ``end_use_fuel_oil_grill_m_btu``
-
-- ``end_use_fuel_oil_lighting_m_btu``
-
-- ``end_use_fuel_oil_fireplace_m_btu``
-
-- ``end_use_fuel_oil_generator_m_btu``
-
-- ``end_use_propane_heating_m_btu``
-
-- ``end_use_propane_heating_heat_pump_backup_m_btu``
-
-- ``end_use_propane_hot_water_m_btu``
-
-- ``end_use_propane_clothes_dryer_m_btu``
-
-- ``end_use_propane_range_oven_m_btu``
-
-- ``end_use_propane_mech_vent_preheating_m_btu``
-
-- ``end_use_propane_grill_m_btu``
-
-- ``end_use_propane_lighting_m_btu``
-
-- ``end_use_propane_fireplace_m_btu``
-
-- ``end_use_propane_generator_m_btu``
-
-- ``end_use_wood_cord_heating_m_btu``
-
-- ``end_use_wood_cord_heating_heat_pump_backup_m_btu``
-
-- ``end_use_wood_cord_hot_water_m_btu``
-
-- ``end_use_wood_cord_clothes_dryer_m_btu``
-
-- ``end_use_wood_cord_range_oven_m_btu``
-
-- ``end_use_wood_cord_mech_vent_preheating_m_btu``
-
-- ``end_use_wood_cord_grill_m_btu``
-
-- ``end_use_wood_cord_lighting_m_btu``
-
-- ``end_use_wood_cord_fireplace_m_btu``
-
-- ``end_use_wood_cord_generator_m_btu``
-
-- ``end_use_wood_pellets_heating_m_btu``
-
-- ``end_use_wood_pellets_heating_heat_pump_backup_m_btu``
-
-- ``end_use_wood_pellets_hot_water_m_btu``
-
-- ``end_use_wood_pellets_clothes_dryer_m_btu``
-
-- ``end_use_wood_pellets_range_oven_m_btu``
-
-- ``end_use_wood_pellets_mech_vent_preheating_m_btu``
-
-- ``end_use_wood_pellets_grill_m_btu``
-
-- ``end_use_wood_pellets_lighting_m_btu``
-
-- ``end_use_wood_pellets_fireplace_m_btu``
-
-- ``end_use_wood_pellets_generator_m_btu``
-
-- ``end_use_coal_heating_m_btu``
-
-- ``end_use_coal_heating_heat_pump_backup_m_btu``
-
-- ``end_use_coal_hot_water_m_btu``
-
-- ``end_use_coal_clothes_dryer_m_btu``
-
-- ``end_use_coal_range_oven_m_btu``
-
-- ``end_use_coal_mech_vent_preheating_m_btu``
-
-- ``end_use_coal_grill_m_btu``
-
-- ``end_use_coal_lighting_m_btu``
-
-- ``end_use_coal_fireplace_m_btu``
-
-- ``end_use_coal_generator_m_btu``
-
-- ``load_heating_delivered_m_btu``
-
-- ``load_heating_heat_pump_backup_m_btu``
-
-- ``load_cooling_delivered_m_btu``
-
-- ``load_hot_water_delivered_m_btu``
-
-- ``load_hot_water_tank_losses_m_btu``
-
-- ``load_hot_water_desuperheater_m_btu``
-
-- ``load_hot_water_solar_thermal_m_btu``
-
-- ``unmet_hours_heating_hr``
-
-- ``unmet_hours_cooling_hr``
-
-- ``unmet_hours_ev_driving_hr``
-
-- ``peak_electricity_winter_total_w``
-
-- ``peak_electricity_summer_total_w``
-
-- ``peak_electricity_annual_total_w``
-
-- ``peak_electricity_winter_net_w``
-
-- ``peak_electricity_summer_net_w``
-
-- ``peak_electricity_annual_net_w``
-
-- ``peak_load_heating_delivered_k_btu_hr``
-
-- ``peak_load_cooling_delivered_k_btu_hr``
-
-- ``component_load_heating_roofs_m_btu``
-
-- ``component_load_heating_ceilings_m_btu``
-
-- ``component_load_heating_walls_m_btu``
-
-- ``component_load_heating_rim_joists_m_btu``
-
-- ``component_load_heating_foundation_walls_m_btu``
-
-- ``component_load_heating_doors_m_btu``
-
-- ``component_load_heating_windows_conduction_m_btu``
-
-- ``component_load_heating_windows_solar_m_btu``
-
-- ``component_load_heating_skylights_conduction_m_btu``
-
-- ``component_load_heating_skylights_solar_m_btu``
-
-- ``component_load_heating_floors_m_btu``
-
-- ``component_load_heating_slabs_m_btu``
-
-- ``component_load_heating_internal_mass_m_btu``
-
-- ``component_load_heating_infiltration_m_btu``
-
-- ``component_load_heating_natural_ventilation_m_btu``
-
-- ``component_load_heating_mechanical_ventilation_m_btu``
-
-- ``component_load_heating_whole_house_fan_m_btu``
-
-- ``component_load_heating_ducts_m_btu``
-
-- ``component_load_heating_internal_gains_m_btu``
-
-- ``component_load_heating_lighting_m_btu``
-
-- ``component_load_cooling_roofs_m_btu``
-
-- ``component_load_cooling_ceilings_m_btu``
-
-- ``component_load_cooling_walls_m_btu``
-
-- ``component_load_cooling_rim_joists_m_btu``
-
-- ``component_load_cooling_foundation_walls_m_btu``
-
-- ``component_load_cooling_doors_m_btu``
-
-- ``component_load_cooling_windows_conduction_m_btu``
-
-- ``component_load_cooling_windows_solar_m_btu``
-
-- ``component_load_cooling_skylights_conduction_m_btu``
-
-- ``component_load_cooling_skylights_solar_m_btu``
-
-- ``component_load_cooling_floors_m_btu``
-
-- ``component_load_cooling_slabs_m_btu``
-
-- ``component_load_cooling_internal_mass_m_btu``
-
-- ``component_load_cooling_infiltration_m_btu``
-
-- ``component_load_cooling_natural_ventilation_m_btu``
-
-- ``component_load_cooling_mechanical_ventilation_m_btu``
-
-- ``component_load_cooling_whole_house_fan_m_btu``
-
-- ``component_load_cooling_ducts_m_btu``
-
-- ``component_load_cooling_internal_gains_m_btu``
-
-- ``component_load_cooling_lighting_m_btu``
-
-- ``hot_water_clothes_washer_gal``
-
-- ``hot_water_dishwasher_gal``
-
-- ``hot_water_fixtures_gal``
-
-- ``hot_water_distribution_waste_gal``
-
-- ``resilience_battery_hr``
-
-
+
+###### (Automatically generated documentation)
+
+# HPXML Simulation Output Report
+
+## Description
+Reports simulation outputs for residential HPXML-based models.
+
+Processes EnergyPlus simulation outputs in order to generate an annual output file and an optional timeseries output file.
+
+## Arguments
+
+
+**Output Format**
+
+The file format of the annual (and timeseries, if requested) outputs. If 'csv_dview' is selected, the timeseries CSV file will include header rows that facilitate opening the file in the DView application.
+
+- **Name:** ``output_format``
+- **Type:** ``Choice``
+
+- **Required:** ``false``
+
+- **Choices:** `csv`, `json`, `msgpack`, `csv_dview`
+
+
+
+**Generate Annual Output: Total Consumptions**
+
+Generates annual energy consumptions for the total building.
+
+- **Name:** ``include_annual_total_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Fuel Consumptions**
+
+Generates annual energy consumptions for each fuel type.
+
+- **Name:** ``include_annual_fuel_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: End Use Consumptions**
+
+Generates annual energy consumptions for each end use.
+
+- **Name:** ``include_annual_end_use_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: System Use Consumptions**
+
+Generates annual energy consumptions for each end use of each HVAC and water heating system.
+
+- **Name:** ``include_annual_system_use_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Emissions**
+
+Generates annual emissions. Requires the appropriate HPXML inputs to be specified.
+
+- **Name:** ``include_annual_emissions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Emission Fuel Uses**
+
+Generates annual emissions for each fuel type. Requires the appropriate HPXML inputs to be specified.
+
+- **Name:** ``include_annual_emission_fuels``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Emission End Uses**
+
+Generates annual emissions for each end use. Requires the appropriate HPXML inputs to be specified.
+
+- **Name:** ``include_annual_emission_end_uses``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Total Loads**
+
+Generates annual heating, cooling, and hot water loads.
+
+- **Name:** ``include_annual_total_loads``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Unmet Hours**
+
+Generates annual unmet hours for heating, cooling, and EV driving.
+
+- **Name:** ``include_annual_unmet_hours``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Peak Fuels**
+
+Generates annual/summer/winter electricity peaks.
+
+- **Name:** ``include_annual_peak_fuels``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Peak Loads**
+
+Generates annual peak loads for heating/cooling.
+
+- **Name:** ``include_annual_peak_loads``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Component Loads**
+
+Generates annual heating and cooling loads disaggregated by component type.
+
+- **Name:** ``include_annual_component_loads``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Hot Water Uses**
+
+Generates annual hot water usages for each end use.
+
+- **Name:** ``include_annual_hot_water_uses``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: HVAC Summary**
+
+Generates HVAC capacities, design temperatures, and design loads.
+
+- **Name:** ``include_annual_hvac_summary``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Annual Output: Resilience**
+
+Generates annual resilience outputs.
+
+- **Name:** ``include_annual_resilience``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Timeseries Reporting Frequency**
+
+The frequency at which to report timeseries output data. Using 'none' will disable timeseries outputs.
+
+- **Name:** ``timeseries_frequency``
+- **Type:** ``Choice``
+
+- **Required:** ``false``
+
+- **Choices:** `none`, `timestep`, `hourly`, `daily`, `monthly`
+
+
+
+**Generate Timeseries Output: Total Consumptions**
+
+Generates timeseries energy consumptions for the total building.
+
+- **Name:** ``include_timeseries_total_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Fuel Consumptions**
+
+Generates timeseries energy consumptions for each fuel type.
+
+- **Name:** ``include_timeseries_fuel_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: End Use Consumptions**
+
+Generates timeseries energy consumptions for each end use.
+
+- **Name:** ``include_timeseries_end_use_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: System Use Consumptions**
+
+Generates timeseries energy consumptions for each end use of each HVAC and water heating system.
+
+- **Name:** ``include_timeseries_system_use_consumptions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Emissions**
+
+Generates timeseries emissions. Requires the appropriate HPXML inputs to be specified.
+
+- **Name:** ``include_timeseries_emissions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Emission Fuel Uses**
+
+Generates timeseries emissions for each fuel type. Requires the appropriate HPXML inputs to be specified.
+
+- **Name:** ``include_timeseries_emission_fuels``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Emission End Uses**
+
+Generates timeseries emissions for each end use. Requires the appropriate HPXML inputs to be specified.
+
+- **Name:** ``include_timeseries_emission_end_uses``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Hot Water Uses**
+
+Generates timeseries hot water usages for each end use.
+
+- **Name:** ``include_timeseries_hot_water_uses``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Total Loads**
+
+Generates timeseries heating, cooling, and hot water loads.
+
+- **Name:** ``include_timeseries_total_loads``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Component Loads**
+
+Generates timeseries heating and cooling loads disaggregated by component type.
+
+- **Name:** ``include_timeseries_component_loads``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Unmet Hours**
+
+Generates timeseries unmet hours for heating, cooling, and EV driving.
+
+- **Name:** ``include_timeseries_unmet_hours``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Zone Temperatures**
+
+Generates timeseries temperatures for each thermal zone.
+
+- **Name:** ``include_timeseries_zone_temperatures``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Zone Conditions**
+
+Generates timeseries temperatures and humidities for each thermal zone.
+
+- **Name:** ``include_timeseries_zone_conditions``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Airflows**
+
+Generates timeseries airflows.
+
+- **Name:** ``include_timeseries_airflows``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Weather**
+
+Generates timeseries weather data.
+
+- **Name:** ``include_timeseries_weather``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Resilience**
+
+Generates timeseries resilience outputs.
+
+- **Name:** ``include_timeseries_resilience``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Timestamp Convention**
+
+Determines whether timeseries timestamps use the start-of-period or end-of-period convention. Doesn't apply if the output format is 'csv_dview'.
+
+- **Name:** ``timeseries_timestamp_convention``
+- **Type:** ``Choice``
+
+- **Required:** ``false``
+
+- **Choices:** `start`, `end`
+
+
+
+**Generate Timeseries Output: Number of Decimal Places**
+
+Allows overriding the default number of decimal places for timeseries outputs.
+
+- **Name:** ``timeseries_num_decimal_places``
+- **Type:** ``Integer``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Add TimeDST Column**
+
+Optionally add, in addition to the default local standard Time column, a local clock TimeDST column. Requires that daylight saving time is enabled.
+
+- **Name:** ``add_timeseries_dst_column``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: Add TimeUTC Column**
+
+Optionally add, in addition to the default local standard Time column, a local clock TimeUTC column. If the time zone UTC offset is not provided in the HPXML file, the time zone in the EPW header will be used.
+
+- **Name:** ``add_timeseries_utc_column``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: EnergyPlus Output Variables**
+
+Optionally generates timeseries EnergyPlus output variables. If multiple output variables are desired, use a comma-separated list. Do not include key values; by default all key values will be requested. Example: "Zone People Occupant Count, Zone People Total Heating Energy"
+
+- **Name:** ``user_output_variables``
+- **Type:** ``String``
+
+- **Required:** ``false``
+
+
+
+**Generate Timeseries Output: EnergyPlus Output Meters**
+
+Optionally generates timeseries EnergyPlus output meters. If multiple output meters are desired, use a comma-separated list. Example: "Electricity:Facility, HeatingCoils:EnergyTransfer"
+
+- **Name:** ``user_output_meters``
+- **Type:** ``String``
+
+- **Required:** ``false``
+
+
+
+**Annual Output File Name**
+
+If not provided, defaults to 'results_annual.csv' (or 'results_annual.json' or 'results_annual.msgpack').
+
+- **Name:** ``annual_output_file_name``
+- **Type:** ``String``
+
+- **Required:** ``false``
+
+
+
+**Timeseries Output File Name**
+
+If not provided, defaults to 'results_timeseries.csv' (or 'results_timeseries.json' or 'results_timeseries.msgpack').
+
+- **Name:** ``timeseries_output_file_name``
+- **Type:** ``String``
+
+- **Required:** ``false``
+
+
+
+
+
+
+
+## Outputs
+All possible measure outputs are listed below. Actual outputs depend on measure argument values provided.
+
+
+- ``energy_use_total_m_btu``
+
+- ``energy_use_net_m_btu``
+
+- ``fuel_use_electricity_total_m_btu``
+
+- ``fuel_use_electricity_net_m_btu``
+
+- ``fuel_use_natural_gas_total_m_btu``
+
+- ``fuel_use_fuel_oil_total_m_btu``
+
+- ``fuel_use_propane_total_m_btu``
+
+- ``fuel_use_wood_cord_total_m_btu``
+
+- ``fuel_use_wood_pellets_total_m_btu``
+
+- ``fuel_use_coal_total_m_btu``
+
+- ``end_use_electricity_heating_m_btu``
+
+- ``end_use_electricity_heating_fans_pumps_m_btu``
+
+- ``end_use_electricity_heating_heat_pump_backup_m_btu``
+
+- ``end_use_electricity_heating_heat_pump_backup_fans_pumps_m_btu``
+
+- ``end_use_electricity_cooling_m_btu``
+
+- ``end_use_electricity_cooling_fans_pumps_m_btu``
+
+- ``end_use_electricity_hot_water_m_btu``
+
+- ``end_use_electricity_hot_water_recirc_pump_m_btu``
+
+- ``end_use_electricity_hot_water_solar_thermal_pump_m_btu``
+
+- ``end_use_electricity_lighting_interior_m_btu``
+
+- ``end_use_electricity_lighting_garage_m_btu``
+
+- ``end_use_electricity_lighting_exterior_m_btu``
+
+- ``end_use_electricity_mech_vent_m_btu``
+
+- ``end_use_electricity_mech_vent_preheating_m_btu``
+
+- ``end_use_electricity_mech_vent_precooling_m_btu``
+
+- ``end_use_electricity_whole_house_fan_m_btu``
+
+- ``end_use_electricity_refrigerator_m_btu``
+
+- ``end_use_electricity_freezer_m_btu``
+
+- ``end_use_electricity_dehumidifier_m_btu``
+
+- ``end_use_electricity_dishwasher_m_btu``
+
+- ``end_use_electricity_clothes_washer_m_btu``
+
+- ``end_use_electricity_clothes_dryer_m_btu``
+
+- ``end_use_electricity_range_oven_m_btu``
+
+- ``end_use_electricity_ceiling_fan_m_btu``
+
+- ``end_use_electricity_television_m_btu``
+
+- ``end_use_electricity_plug_loads_m_btu``
+
+- ``end_use_electricity_well_pump_m_btu``
+
+- ``end_use_electricity_pool_heater_m_btu``
+
+- ``end_use_electricity_pool_pump_m_btu``
+
+- ``end_use_electricity_permanent_spa_heater_m_btu``
+
+- ``end_use_electricity_permanent_spa_pump_m_btu``
+
+- ``end_use_electricity_pv_m_btu``
+
+- ``end_use_electricity_generator_m_btu``
+
+- ``end_use_electricity_battery_m_btu``
+
+- ``end_use_electricity_electric_vehicle_charging_m_btu``
+
+- ``end_use_natural_gas_heating_m_btu``
+
+- ``end_use_natural_gas_heating_heat_pump_backup_m_btu``
+
+- ``end_use_natural_gas_hot_water_m_btu``
+
+- ``end_use_natural_gas_clothes_dryer_m_btu``
+
+- ``end_use_natural_gas_range_oven_m_btu``
+
+- ``end_use_natural_gas_mech_vent_preheating_m_btu``
+
+- ``end_use_natural_gas_pool_heater_m_btu``
+
+- ``end_use_natural_gas_permanent_spa_heater_m_btu``
+
+- ``end_use_natural_gas_grill_m_btu``
+
+- ``end_use_natural_gas_lighting_m_btu``
+
+- ``end_use_natural_gas_fireplace_m_btu``
+
+- ``end_use_natural_gas_generator_m_btu``
+
+- ``end_use_fuel_oil_heating_m_btu``
+
+- ``end_use_fuel_oil_heating_heat_pump_backup_m_btu``
+
+- ``end_use_fuel_oil_hot_water_m_btu``
+
+- ``end_use_fuel_oil_clothes_dryer_m_btu``
+
+- ``end_use_fuel_oil_range_oven_m_btu``
+
+- ``end_use_fuel_oil_mech_vent_preheating_m_btu``
+
+- ``end_use_fuel_oil_grill_m_btu``
+
+- ``end_use_fuel_oil_lighting_m_btu``
+
+- ``end_use_fuel_oil_fireplace_m_btu``
+
+- ``end_use_fuel_oil_generator_m_btu``
+
+- ``end_use_propane_heating_m_btu``
+
+- ``end_use_propane_heating_heat_pump_backup_m_btu``
+
+- ``end_use_propane_hot_water_m_btu``
+
+- ``end_use_propane_clothes_dryer_m_btu``
+
+- ``end_use_propane_range_oven_m_btu``
+
+- ``end_use_propane_mech_vent_preheating_m_btu``
+
+- ``end_use_propane_grill_m_btu``
+
+- ``end_use_propane_lighting_m_btu``
+
+- ``end_use_propane_fireplace_m_btu``
+
+- ``end_use_propane_generator_m_btu``
+
+- ``end_use_wood_cord_heating_m_btu``
+
+- ``end_use_wood_cord_heating_heat_pump_backup_m_btu``
+
+- ``end_use_wood_cord_hot_water_m_btu``
+
+- ``end_use_wood_cord_clothes_dryer_m_btu``
+
+- ``end_use_wood_cord_range_oven_m_btu``
+
+- ``end_use_wood_cord_mech_vent_preheating_m_btu``
+
+- ``end_use_wood_cord_grill_m_btu``
+
+- ``end_use_wood_cord_lighting_m_btu``
+
+- ``end_use_wood_cord_fireplace_m_btu``
+
+- ``end_use_wood_cord_generator_m_btu``
+
+- ``end_use_wood_pellets_heating_m_btu``
+
+- ``end_use_wood_pellets_heating_heat_pump_backup_m_btu``
+
+- ``end_use_wood_pellets_hot_water_m_btu``
+
+- ``end_use_wood_pellets_clothes_dryer_m_btu``
+
+- ``end_use_wood_pellets_range_oven_m_btu``
+
+- ``end_use_wood_pellets_mech_vent_preheating_m_btu``
+
+- ``end_use_wood_pellets_grill_m_btu``
+
+- ``end_use_wood_pellets_lighting_m_btu``
+
+- ``end_use_wood_pellets_fireplace_m_btu``
+
+- ``end_use_wood_pellets_generator_m_btu``
+
+- ``end_use_coal_heating_m_btu``
+
+- ``end_use_coal_heating_heat_pump_backup_m_btu``
+
+- ``end_use_coal_hot_water_m_btu``
+
+- ``end_use_coal_clothes_dryer_m_btu``
+
+- ``end_use_coal_range_oven_m_btu``
+
+- ``end_use_coal_mech_vent_preheating_m_btu``
+
+- ``end_use_coal_grill_m_btu``
+
+- ``end_use_coal_lighting_m_btu``
+
+- ``end_use_coal_fireplace_m_btu``
+
+- ``end_use_coal_generator_m_btu``
+
+- ``load_heating_delivered_m_btu``
+
+- ``load_heating_heat_pump_backup_m_btu``
+
+- ``load_cooling_delivered_m_btu``
+
+- ``load_hot_water_delivered_m_btu``
+
+- ``load_hot_water_tank_losses_m_btu``
+
+- ``load_hot_water_desuperheater_m_btu``
+
+- ``load_hot_water_solar_thermal_m_btu``
+
+- ``unmet_hours_heating_hr``
+
+- ``unmet_hours_cooling_hr``
+
+- ``unmet_hours_ev_driving_hr``
+
+- ``peak_electricity_winter_total_w``
+
+- ``peak_electricity_summer_total_w``
+
+- ``peak_electricity_annual_total_w``
+
+- ``peak_electricity_winter_net_w``
+
+- ``peak_electricity_summer_net_w``
+
+- ``peak_electricity_annual_net_w``
+
+- ``peak_load_heating_delivered_k_btu_hr``
+
+- ``peak_load_cooling_delivered_k_btu_hr``
+
+- ``component_load_heating_roofs_m_btu``
+
+- ``component_load_heating_ceilings_m_btu``
+
+- ``component_load_heating_walls_m_btu``
+
+- ``component_load_heating_rim_joists_m_btu``
+
+- ``component_load_heating_foundation_walls_m_btu``
+
+- ``component_load_heating_doors_m_btu``
+
+- ``component_load_heating_windows_conduction_m_btu``
+
+- ``component_load_heating_windows_solar_m_btu``
+
+- ``component_load_heating_skylights_conduction_m_btu``
+
+- ``component_load_heating_skylights_solar_m_btu``
+
+- ``component_load_heating_floors_m_btu``
+
+- ``component_load_heating_slabs_m_btu``
+
+- ``component_load_heating_internal_mass_m_btu``
+
+- ``component_load_heating_infiltration_m_btu``
+
+- ``component_load_heating_natural_ventilation_m_btu``
+
+- ``component_load_heating_mechanical_ventilation_m_btu``
+
+- ``component_load_heating_whole_house_fan_m_btu``
+
+- ``component_load_heating_ducts_m_btu``
+
+- ``component_load_heating_internal_gains_m_btu``
+
+- ``component_load_heating_lighting_m_btu``
+
+- ``component_load_cooling_roofs_m_btu``
+
+- ``component_load_cooling_ceilings_m_btu``
+
+- ``component_load_cooling_walls_m_btu``
+
+- ``component_load_cooling_rim_joists_m_btu``
+
+- ``component_load_cooling_foundation_walls_m_btu``
+
+- ``component_load_cooling_doors_m_btu``
+
+- ``component_load_cooling_windows_conduction_m_btu``
+
+- ``component_load_cooling_windows_solar_m_btu``
+
+- ``component_load_cooling_skylights_conduction_m_btu``
+
+- ``component_load_cooling_skylights_solar_m_btu``
+
+- ``component_load_cooling_floors_m_btu``
+
+- ``component_load_cooling_slabs_m_btu``
+
+- ``component_load_cooling_internal_mass_m_btu``
+
+- ``component_load_cooling_infiltration_m_btu``
+
+- ``component_load_cooling_natural_ventilation_m_btu``
+
+- ``component_load_cooling_mechanical_ventilation_m_btu``
+
+- ``component_load_cooling_whole_house_fan_m_btu``
+
+- ``component_load_cooling_ducts_m_btu``
+
+- ``component_load_cooling_internal_gains_m_btu``
+
+- ``component_load_cooling_lighting_m_btu``
+
+- ``hot_water_clothes_washer_gal``
+
+- ``hot_water_dishwasher_gal``
+
+- ``hot_water_fixtures_gal``
+
+- ``hot_water_distribution_waste_gal``
+
+- ``resilience_battery_hr``
+
+
diff --git a/ReportSimulationOutput/measure.rb b/ReportSimulationOutput/measure.rb
index 72bf8b7984..19cdcc6fc3 100644
--- a/ReportSimulationOutput/measure.rb
+++ b/ReportSimulationOutput/measure.rb
@@ -915,7 +915,7 @@ def get_outputs(runner, args)
     @hpxml_bldgs.each do |hpxml_bldg|
       # Apply Heating/Cooling DSEs
       (hpxml_bldg.heating_systems + hpxml_bldg.heat_pumps).each do |htg_system|
-        next unless (htg_system.is_a?(HPXML::HeatingSystem) && htg_system.is_heat_pump_backup_system) || htg_system.fraction_heat_load_served > 0
+        next unless (htg_system.is_a?(HPXML::HeatingSystem) && htg_system.is_heat_pump_backup_system) || htg_system.fraction_heat_load_served.to_f > 0
         next if htg_system.distribution_system_idref.nil?
         next unless htg_system.distribution_system.distribution_system_type == HPXML::HVACDistributionTypeDSE
         next if htg_system.distribution_system.annual_heating_dse.nil?
@@ -933,7 +933,7 @@ def get_outputs(runner, args)
         end
       end
       (hpxml_bldg.cooling_systems + hpxml_bldg.heat_pumps).each do |clg_system|
-        next unless clg_system.fraction_cool_load_served > 0
+        next unless clg_system.fraction_cool_load_served.to_f > 0
         next if clg_system.distribution_system_idref.nil?
         next unless clg_system.distribution_system.distribution_system_type == HPXML::HVACDistributionTypeDSE
         next if clg_system.distribution_system.annual_cooling_dse.nil?
diff --git a/ReportSimulationOutput/measure.xml b/ReportSimulationOutput/measure.xml
index 6bdf577b43..d79bb4d483 100644
--- a/ReportSimulationOutput/measure.xml
+++ b/ReportSimulationOutput/measure.xml
@@ -3,8 +3,8 @@
   3.1
   report_simulation_output
   df9d170c-c21a-4130-866d-0d46b06073fd
-  293922f3-86f0-490e-a597-ded31eb1088d
-  2025-09-12T22:30:55Z
+  790a43e2-7ec9-484d-93de-07ce8d7e7971
+  2025-10-21T16:31:10Z
   9BF1E6AC
   ReportSimulationOutput
   HPXML Simulation Output Report
@@ -1991,7 +1991,7 @@
       measure.rb
       rb
       script
-      7C982932
+      11AB501F
     
     
       test_report_sim_output.rb
diff --git a/ReportUtilityBills/README.md b/ReportUtilityBills/README.md
index cc85cd90d1..063dad948a 100644
--- a/ReportUtilityBills/README.md
+++ b/ReportUtilityBills/README.md
@@ -1,109 +1,109 @@
-
-###### (Automatically generated documentation)
-
-# Utility Bills Report
-
-## Description
-Calculates and reports utility bills for residential HPXML-based models.
-
-Calculate electric/gas utility bills based on monthly fixed charges and marginal rates. Calculate other utility bills based on marginal rates for oil, propane, wood cord, wood pellets, and coal. User can specify PV compensation types of 'Net-Metering' or 'Feed-In Tariff', along with corresponding rates and connection fees.
-
-## Arguments
-
-
-**Output Format**
-
-The file format of the annual (and timeseries, if requested) outputs.
-
-- **Name:** ``output_format``
-- **Type:** ``Choice``
-
-- **Required:** ``false``
-
-- **Choices:** `csv`, `json`, `msgpack`
-
-
-
-**Generate Annual Utility Bills**
-
-Generates output file containing annual utility bills.
-
-- **Name:** ``include_annual_bills``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Monthly Utility Bills**
-
-Generates output file containing monthly utility bills.
-
-- **Name:** ``include_monthly_bills``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Generate Monthly Output: Timestamp Convention**
-
-Determines whether monthly timestamps use the start-of-period or end-of-period convention.
-
-- **Name:** ``monthly_timestamp_convention``
-- **Type:** ``Choice``
-
-- **Required:** ``false``
-
-- **Choices:** `start`, `end`
-
-
-
-**Annual Output File Name**
-
-If not provided, defaults to 'results_bills.csv' (or 'results_bills.json' or 'results_bills.msgpack').
-
-- **Name:** ``annual_output_file_name``
-- **Type:** ``String``
-
-- **Required:** ``false``
-
-
-
-**Monthly Output File Name**
-
-If not provided, defaults to 'results_bills_monthly.csv' (or 'results_bills_monthly.json' or 'results_bills_monthly.msgpack').
-
-- **Name:** ``monthly_output_file_name``
-- **Type:** ``String``
-
-- **Required:** ``false``
-
-
-
-**Register Annual Utility Bills**
-
-Registers annual utility bills with the OpenStudio runner for downstream processing.
-
-- **Name:** ``register_annual_bills``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-**Register Monthly Utility Bills**
-
-Registers monthly utility bills with the OpenStudio runner for downstream processing.
-
-- **Name:** ``register_monthly_bills``
-- **Type:** ``Boolean``
-
-- **Required:** ``false``
-
-
-
-
-
-
-
+
+###### (Automatically generated documentation)
+
+# Utility Bills Report
+
+## Description
+Calculates and reports utility bills for residential HPXML-based models.
+
+Calculate electric/gas utility bills based on monthly fixed charges and marginal rates. Calculate other utility bills based on marginal rates for oil, propane, wood cord, wood pellets, and coal. User can specify PV compensation types of 'Net-Metering' or 'Feed-In Tariff', along with corresponding rates and connection fees.
+
+## Arguments
+
+
+**Output Format**
+
+The file format of the annual (and timeseries, if requested) outputs.
+
+- **Name:** ``output_format``
+- **Type:** ``Choice``
+
+- **Required:** ``false``
+
+- **Choices:** `csv`, `json`, `msgpack`
+
+
+
+**Generate Annual Utility Bills**
+
+Generates output file containing annual utility bills.
+
+- **Name:** ``include_annual_bills``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Monthly Utility Bills**
+
+Generates output file containing monthly utility bills.
+
+- **Name:** ``include_monthly_bills``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Generate Monthly Output: Timestamp Convention**
+
+Determines whether monthly timestamps use the start-of-period or end-of-period convention.
+
+- **Name:** ``monthly_timestamp_convention``
+- **Type:** ``Choice``
+
+- **Required:** ``false``
+
+- **Choices:** `start`, `end`
+
+
+
+**Annual Output File Name**
+
+If not provided, defaults to 'results_bills.csv' (or 'results_bills.json' or 'results_bills.msgpack').
+
+- **Name:** ``annual_output_file_name``
+- **Type:** ``String``
+
+- **Required:** ``false``
+
+
+
+**Monthly Output File Name**
+
+If not provided, defaults to 'results_bills_monthly.csv' (or 'results_bills_monthly.json' or 'results_bills_monthly.msgpack').
+
+- **Name:** ``monthly_output_file_name``
+- **Type:** ``String``
+
+- **Required:** ``false``
+
+
+
+**Register Annual Utility Bills**
+
+Registers annual utility bills with the OpenStudio runner for downstream processing.
+
+- **Name:** ``register_annual_bills``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+**Register Monthly Utility Bills**
+
+Registers monthly utility bills with the OpenStudio runner for downstream processing.
+
+- **Name:** ``register_monthly_bills``
+- **Type:** ``Boolean``
+
+- **Required:** ``false``
+
+
+
+
+
+
+
diff --git a/ReportUtilityBills/measure.rb b/ReportUtilityBills/measure.rb
index 74c72a06bc..5cfb2c9127 100644
--- a/ReportUtilityBills/measure.rb
+++ b/ReportUtilityBills/measure.rb
@@ -109,7 +109,7 @@ def check_for_return_type_warnings()
     # Require not DSE
     @hpxml_buildings.each do |hpxml_bldg|
       (hpxml_bldg.heating_systems + hpxml_bldg.heat_pumps).each do |htg_system|
-        next unless (htg_system.is_a?(HPXML::HeatingSystem) && htg_system.is_heat_pump_backup_system) || htg_system.fraction_heat_load_served > 0
+        next unless (htg_system.is_a?(HPXML::HeatingSystem) && htg_system.is_heat_pump_backup_system) || htg_system.fraction_heat_load_served.to_f > 0
         next if htg_system.distribution_system_idref.nil?
         next unless htg_system.distribution_system.distribution_system_type == HPXML::HVACDistributionTypeDSE
         next if htg_system.distribution_system.annual_heating_dse.nil?
@@ -118,7 +118,7 @@ def check_for_return_type_warnings()
         warnings << 'DSE is not currently supported when calculating utility bills.'
       end
       (hpxml_bldg.cooling_systems + hpxml_bldg.heat_pumps).each do |clg_system|
-        next unless clg_system.fraction_cool_load_served > 0
+        next unless clg_system.fraction_cool_load_served.to_f > 0
         next if clg_system.distribution_system_idref.nil?
         next unless clg_system.distribution_system.distribution_system_type == HPXML::HVACDistributionTypeDSE
         next if clg_system.distribution_system.annual_cooling_dse.nil?
diff --git a/ReportUtilityBills/measure.xml b/ReportUtilityBills/measure.xml
index 8d35f90d8f..388d793609 100644
--- a/ReportUtilityBills/measure.xml
+++ b/ReportUtilityBills/measure.xml
@@ -3,8 +3,8 @@
   3.1
   report_utility_bills
   ca88a425-e59a-4bc4-af51-c7e7d1e960fe
-  7bf598ce-eccb-4f17-abf2-1feafea64d88
-  2025-10-10T18:27:16Z
+  36bcdfbd-3e7b-4a2e-a757-ae3041b1437d
+  2025-10-21T16:31:12Z
   15BF4E57
   ReportUtilityBills
   Utility Bills Report
@@ -180,7 +180,7 @@
       measure.rb
       rb
       script
-      F00E41E9
+      1C71BC66
     
     
       detailed_rates/README.md
diff --git a/tasks.rb b/tasks.rb
index 18637eca3a..fb39a759e6 100644
--- a/tasks.rb
+++ b/tasks.rb
@@ -67,18 +67,19 @@ def create_hpxmls
     model = OpenStudio::Model::Model.new
     runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new)
 
-    num_apply_measures = 1
-    if hpxml_path.include?('whole-building-common-spaces')
-      num_apply_measures = 8
-    elsif hpxml_path.include?('whole-building')
-      num_apply_measures = 6
+    num_mf_units = 1
+    if hpxml_path.include? 'whole-building-common-spaces'
+      num_mf_units = 8
+    elsif hpxml_path.include? 'whole-building'
+      num_mf_units = 6
     end
 
-    for i in 1..num_apply_measures
+    for i in 1..num_mf_units
       build_residential_hpxml = measures['BuildResidentialHPXML'][0]
       build_residential_hpxml['existing_hpxml_path'] = hpxml_path if i > 1
-      if hpxml_path.include?('whole-building-common-spaces')
-        suffix = "_#{i}" if i > 1
+      suffix = "_#{i}" if i > 1
+
+      if hpxml_path.include? 'whole-building-common-spaces'
         build_residential_hpxml['schedules_filepaths'] = (i >= 7 ? nil : "../../HPXMLtoOpenStudio/resources/schedule_files/#{stochastic_sched_basename}-mf-unit#{suffix}.csv")
         build_residential_hpxml['geometry_foundation_type'] = (i <= 2 ? HPXML::FoundationTypeBasementUnconditioned : HPXML::FoundationTypeAboveApartment)
         build_residential_hpxml['geometry_attic_type'] = (i >= 7 ? HPXML::AtticTypeVented : HPXML::AtticTypeBelowApartment)
@@ -87,10 +88,9 @@ def create_hpxmls
         build_residential_hpxml['geometry_unit_num_bathrooms'] = (i >= 7 ? 1 : 2)
         build_residential_hpxml['geometry_unit_height_above_grade'] = { 1 => -7.0, 2 => -7.0, 3 => 1.0, 4 => 1.0, 5 => 9.0, 6 => 9.0, 7 => 17.0, 8 => 17.0 }[i]
         # Partially conditioned basement + one unconditioned hallway each floor + unconditioned attic
-        build_residential_hpxml['heating_system_type'] = ([1, 4, 6].include?(i) ? HPXML::HVACTypeElectricResistance : 'none')
-        build_residential_hpxml['cooling_system_type'] = ([1, 4, 6].include?(i) ? HPXML::HVACTypeRoomAirConditioner : 'none')
-      elsif hpxml_path.include?('whole-building')
-        suffix = "_#{i}" if i > 1
+        build_residential_hpxml['heating_system_type'] = { 1 => 'ElectricResistance', 2 => 'none', 3 => 'none', 4 => 'ElectricResistance', 5 => 'none', 6 => 'ElectricResistance', 7 => 'none', 8 => 'none' }[i]
+        build_residential_hpxml['cooling_system_type'] = { 1 => 'room air conditioner', 2 => 'none', 3 => 'none', 4 => 'room air conditioner', 5 => 'none', 6 => 'room air conditioner', 7 => 'none', 8 => 'none' }[i]
+      elsif hpxml_path.include? 'whole-building'
         build_residential_hpxml['schedules_filepaths'] = "../../HPXMLtoOpenStudio/resources/schedule_files/#{stochastic_sched_basename}-mf-unit#{suffix}.csv"
         build_residential_hpxml['geometry_foundation_type'] = (i <= 2 ? HPXML::FoundationTypeBasementUnconditioned : HPXML::FoundationTypeAboveApartment)
         build_residential_hpxml['geometry_attic_type'] = (i >= 5 ? HPXML::AtticTypeVented : HPXML::AtticTypeBelowApartment)
@@ -1647,7 +1647,7 @@ def apply_hpxml_modification_sample_files(hpxml_path, hpxml)
       hpxml_bldg.heat_pumps[0].number_of_units_served = 6
       hpxml_bldg.heat_pumps[0].pump_watts_per_ton = 0.0
     end
-    if !hpxml_file.include? 'eae'
+    if !hpxml_file.include?('eae') && !hpxml_file.include?('whole-building')
       if hpxml_file.include? 'shared-boiler'
         hpxml_bldg.heating_systems[0].shared_loop_watts = 600
       end
@@ -2729,6 +2729,43 @@ def apply_hpxml_modification_sample_files(hpxml_path, hpxml)
         plug_load.kwh_per_year = 0.0
       end
     end
+  elsif ['base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml',
+         'base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml'].include? hpxml_file
+    if hpxml_file.include? 'sequenced'
+      hpxml.header.shared_boiler_operation = HPXML::SharedBoilerOperationSequenced
+    elsif hpxml_file.include? 'simultaneous'
+      hpxml.header.shared_boiler_operation = HPXML::SharedBoilerOperationSimultaneous
+    end
+    # Add two shared boilers to building1
+    hpxml.buildings[0].heating_systems.clear
+    for j in 1..2
+      hpxml.buildings[0].heating_systems.add(id: "HeatingSystem#{j}",
+                                             is_shared_system: true,
+                                             distribution_system_idref: 'HVACDistribution1',
+                                             heating_system_type: HPXML::HVACTypeBoiler,
+                                             heating_system_fuel: HPXML::FuelTypeNaturalGas,
+                                             heating_capacity: 30000,
+                                             heating_efficiency_afue: 0.8)
+    end
+    hpxml.buildings[0].hvac_distributions.clear
+    hpxml.buildings[0].hvac_distributions.add(id: 'HVACDistribution1',
+                                              distribution_system_type: HPXML::HVACDistributionTypeHydronic,
+                                              hydronic_type: HPXML::HydronicTypeBaseboard,
+                                              hydronic_supply_temp: 160,
+                                              hydronic_return_temp: 120,
+                                              hydronic_variable_speed_pump: true)
+    # Reference the shared boilers from all other buildings
+    for i in 1..hpxml.buildings.size - 1
+      hpxml.buildings[i].heating_systems.clear
+      for j in 1..2
+        hpxml.buildings[i].heating_systems.add(id: "HeatingSystem#{j}_#{i}",
+                                               distribution_system_idref: "HVACDistribution1_#{i}",
+                                               sameas_id: "HeatingSystem#{j}")
+      end
+      hpxml.buildings[i].hvac_distributions.clear
+      hpxml.buildings[i].hvac_distributions.add(id: "HVACDistribution1_#{i}",
+                                                sameas_id: 'HVACDistribution1')
+    end
   end
 end
 
diff --git a/workflow/hpxml_inputs.json b/workflow/hpxml_inputs.json
index d99e86ebe3..a1245a6ab9 100644
--- a/workflow/hpxml_inputs.json
+++ b/workflow/hpxml_inputs.json
@@ -3776,6 +3776,12 @@
     "electric_panel_service_feeders_load_calculation_types": "2023 Existing Dwelling Load-Based, 2023 Existing Dwelling Meter-Based",
     "electric_panel_baseline_peak_power": 4500
   },
+  "sample_files/base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml": {
+    "parent_hpxml": "sample_files/base-bldgtype-mf-whole-building.xml"
+  },
+  "sample_files/base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml": {
+    "parent_hpxml": "sample_files/base-bldgtype-mf-whole-building.xml"
+  },
   "sample_files/base-pv.xml": {
     "parent_hpxml": "sample_files/base.xml",
     "pv_system_present": true,
diff --git a/workflow/sample_files/base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml b/workflow/sample_files/base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml
new file mode 100644
index 0000000000..1b3bd67124
--- /dev/null
+++ b/workflow/sample_files/base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml
@@ -0,0 +1,2556 @@
+
+
+  
+    HPXML
+    tasks.rb
+    2000-01-01T00:00:00-07:00
+    create
+  
+  
+    
+      true
+      
+        sequenced
+      
+      
+        
+          Default
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          0.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+                false
+              
+            
+            
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            outside
+            basement - unconditioned
+            77.1
+            wood siding
+            0.7
+            0.92
+            
+              
+              13.9
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            30.8
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            ground
+            basement - unconditioned
+            solid concrete
+            8.0
+            800.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                10.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            solid concrete
+            8.0
+            320.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                0.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              22.6
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            1200.0
+            100.0
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              0.0
+              0.0
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+              true
+              
+                
+              
+              natural gas
+              30000.0
+              
+                AFUE
+                0.8
+              
+            
+            
+              
+              
+              true
+              
+                
+              
+              natural gas
+              30000.0
+              
+                AFUE
+                0.8
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+            
+              
+                baseboard
+                160.0
+                120.0
+                
+                  true
+                
+              
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          0.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_2.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+                false
+              
+            
+            
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            outside
+            basement - unconditioned
+            77.1
+            wood siding
+            0.7
+            0.92
+            
+              
+              13.9
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            30.8
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            ground
+            basement - unconditioned
+            solid concrete
+            8.0
+            800.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                10.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            solid concrete
+            8.0
+            320.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                0.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              22.6
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            1200.0
+            100.0
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              0.0
+              0.0
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above and below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          10.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_3.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above and below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          10.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_4.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          20.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_5.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+                true
+              
+            
+            
+              SLA
+              0.003
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            attic - vented
+            1341.6
+            asphalt or fiberglass shingles
+            0.7
+            0.92
+            6.0
+            
+              
+              2.3
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+          
+            
+            outside
+            attic - vented
+            gable
+            
+              
+            
+            200.0
+            wood siding
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+          
+            
+            attic - vented
+            attic - vented
+            
+              
+            
+            200.0
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            attic - vented
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              39.6
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          20.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_6.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+                true
+              
+            
+            
+              SLA
+              0.003
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            attic - vented
+            1341.6
+            asphalt or fiberglass shingles
+            0.7
+            0.92
+            6.0
+            
+              
+              2.3
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+          
+            
+            outside
+            attic - vented
+            gable
+            
+              
+            
+            200.0
+            wood siding
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+          
+            
+            attic - vented
+            attic - vented
+            
+              
+            
+            200.0
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            attic - vented
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              39.6
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+
\ No newline at end of file
diff --git a/workflow/sample_files/base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml b/workflow/sample_files/base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml
new file mode 100644
index 0000000000..6f3fe7cded
--- /dev/null
+++ b/workflow/sample_files/base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml
@@ -0,0 +1,2556 @@
+
+
+  
+    HPXML
+    tasks.rb
+    2000-01-01T00:00:00-07:00
+    create
+  
+  
+    
+      true
+      
+        simultaneous
+      
+      
+        
+          Default
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          0.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+                false
+              
+            
+            
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            outside
+            basement - unconditioned
+            77.1
+            wood siding
+            0.7
+            0.92
+            
+              
+              13.9
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            30.8
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            ground
+            basement - unconditioned
+            solid concrete
+            8.0
+            800.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                10.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            solid concrete
+            8.0
+            320.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                0.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              22.6
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            1200.0
+            100.0
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              0.0
+              0.0
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+              true
+              
+                
+              
+              natural gas
+              30000.0
+              
+                AFUE
+                0.8
+              
+            
+            
+              
+              
+              true
+              
+                
+              
+              natural gas
+              30000.0
+              
+                AFUE
+                0.8
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+            
+              
+                baseboard
+                160.0
+                120.0
+                
+                  true
+                
+              
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          0.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_2.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+                false
+              
+            
+            
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            outside
+            basement - unconditioned
+            77.1
+            wood siding
+            0.7
+            0.92
+            
+              
+              13.9
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            30.8
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            ground
+            basement - unconditioned
+            solid concrete
+            8.0
+            800.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                10.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+          
+            
+            basement - unconditioned
+            basement - unconditioned
+            solid concrete
+            8.0
+            320.0
+            7.0
+            
+              none
+            
+            
+              
+              
+                continuous - exterior
+                0.0
+              
+              
+                continuous - interior
+                0.0
+              
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              22.6
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            basement - unconditioned
+            1200.0
+            100.0
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              
+              
+                0.0
+                0.0
+              
+            
+            
+              0.0
+              0.0
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above and below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          10.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_3.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit above and below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          10.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_4.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              2.1
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          20.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_5.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+                true
+              
+            
+            
+              SLA
+              0.003
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            attic - vented
+            1341.6
+            asphalt or fiberglass shingles
+            0.7
+            0.92
+            6.0
+            
+              
+              2.3
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+          
+            
+            outside
+            attic - vented
+            gable
+            
+              
+            
+            200.0
+            wood siding
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+          
+            
+            attic - vented
+            attic - vented
+            
+              
+            
+            200.0
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            attic - vented
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              39.6
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+  
+    
+    
+      
+      
+        CO
+      
+    
+    
+      proposed workscope
+    
+    
+      
+        
+          attached on one side
+          unit below
+          180
+          
+            electricity
+            natural gas
+          
+        
+        
+          apartment unit
+          20.0
+          1.0
+          1.0
+          8.0
+          3
+          2
+          1200.0
+          9600.0
+        
+        
+          ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_6.csv
+        
+      
+      
+        
+          2006
+          5B
+        
+        
+          
+          USA_CO_Denver.Intl.AP.725650_TMY3
+          
+            USA_CO_Denver.Intl.AP.725650_TMY3.epw
+          
+        
+      
+      
+        
+          
+            
+            unit exterior only
+            
+              ACHnatural
+              0.375
+            
+            9600.0
+          
+        
+        
+          
+            
+            
+              
+                true
+              
+            
+            
+              SLA
+              0.003
+            
+            
+            
+            
+            
+          
+        
+        
+          
+            
+            
+              
+            
+          
+        
+        
+          
+            
+            attic - vented
+            1341.6
+            asphalt or fiberglass shingles
+            0.7
+            0.92
+            6.0
+            
+              
+              2.3
+            
+          
+        
+        
+          
+            
+            outside
+            conditioned space
+            
+              
+            
+            800.0
+            wood siding
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              22.7
+            
+          
+          
+            
+            other housing unit
+            conditioned space
+            
+              
+            
+            320.0
+            0.7
+            0.92
+            
+              gypsum board
+            
+            
+              
+              4.0
+            
+          
+          
+            
+            outside
+            attic - vented
+            gable
+            
+              
+            
+            200.0
+            wood siding
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+          
+            
+            attic - vented
+            attic - vented
+            
+              
+            
+            200.0
+            0.7
+            0.92
+            
+              
+              4.0
+            
+          
+        
+        
+          
+            
+            other housing unit
+            conditioned space
+            floor
+            
+              
+            
+            1200.0
+            
+              
+              5.3
+            
+          
+          
+            
+            attic - vented
+            conditioned space
+            ceiling
+            
+              
+            
+            1200.0
+            
+              gypsum board
+            
+            
+              
+              39.6
+            
+          
+        
+        
+          
+            
+            43.2
+            0
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            43.2
+            180
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+          
+            
+            57.6
+            270
+            0.35
+            0.44
+            
+              
+              light curtains
+            
+            0.67
+            
+          
+        
+        
+          
+            
+            
+            20.0
+            180
+            4.4
+          
+        
+      
+      
+        
+          
+            
+              
+            
+            
+              
+              
+            
+            
+              
+              
+            
+            
+              
+              room air conditioner
+              electricity
+              12000.0
+              1.0
+              
+                CEER
+                8.4
+              
+            
+          
+          
+            
+            68.0
+            78.0
+          
+          
+            
+          
+        
+        
+          
+            
+            electricity
+            storage water heater
+            conditioned space
+            1.0
+            0.94
+          
+          
+            
+            
+              
+            
+            
+              0.0
+            
+          
+          
+            
+            shower head
+            false
+          
+          
+            
+            faucet
+            false
+          
+        
+      
+      
+        
+          
+          1.21
+          380.0
+          0.12
+          1.09
+          27.0
+          6.0
+          3.2
+        
+        
+          
+          307.0
+          12
+          0.12
+          1.09
+          22.32
+          4.0
+        
+        
+          
+          650.0
+        
+        
+          
+          electricity
+          false
+        
+        
+          
+          false
+        
+      
+      
+        
+          
+          interior
+          0.4
+          
+            
+          
+        
+        
+          
+          interior
+          0.1
+          
+            
+          
+        
+        
+          
+          interior
+          0.25
+          
+            
+          
+        
+        
+          
+          exterior
+          0.4
+          
+            
+          
+        
+        
+          
+          exterior
+          0.1
+          
+            
+          
+        
+        
+          
+          exterior
+          0.25
+          
+            
+          
+        
+      
+      
+        
+          
+          TV other
+        
+        
+          
+          other
+        
+      
+    
+  
+
\ No newline at end of file
diff --git a/workflow/tests/base_results/results_simulations_bills.csv b/workflow/tests/base_results/results_simulations_bills.csv
index abe86b8924..a7f7f1421a 100644
--- a/workflow/tests/base_results/results_simulations_bills.csv
+++ b/workflow/tests/base_results/results_simulations_bills.csv
@@ -67,6 +67,8 @@ base-bldgtype-mf-unit-shared-water-heater.xml,1016.68,144.0,569.22,0.0,713.22,14
 base-bldgtype-mf-unit.xml,1278.22,144.0,980.51,0.0,1124.51,144.0,9.71,153.71,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 base-bldgtype-mf-whole-building-common-spaces.xml,8190.24,1152.0,7038.24,0.0,8190.24,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,8481.29,864.0,7617.29,0.0,8481.29,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml,8350.69,864.0,6050.98,0.0,6914.98,864.0,571.71,1435.71,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml,8366.25,864.0,6050.98,0.0,6914.98,864.0,587.27,1451.27,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 base-bldgtype-mf-whole-building.xml,8481.29,864.0,7617.29,0.0,8481.29,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 base-bldgtype-sfa-unit-2stories.xml,1874.87,144.0,1351.97,0.0,1495.97,144.0,234.9,378.9,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 base-bldgtype-sfa-unit-atticroof-cathedral.xml,2096.64,144.0,1370.91,0.0,1514.91,144.0,437.73,581.73,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
diff --git a/workflow/tests/base_results/results_simulations_energy.csv b/workflow/tests/base_results/results_simulations_energy.csv
index 5dcbf72b68..2991113632 100644
--- a/workflow/tests/base_results/results_simulations_energy.csv
+++ b/workflow/tests/base_results/results_simulations_energy.csv
@@ -67,6 +67,8 @@ base-bldgtype-mf-unit-shared-water-heater.xml,30.871,30.871,15.638,15.638,15.233
 base-bldgtype-mf-unit.xml,27.865,27.865,26.938,26.938,0.928,0.0,0.0,0.0,0.0,0.0,0.0,0.025,0.0,0.0,2.221,0.538,11.175,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.183,0.0,0.0,0.291,0.357,1.477,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.928,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-mf-whole-building-common-spaces.xml,193.361,193.361,193.361,193.361,0.0,0.0,0.0,0.0,0.0,0.0,32.577,0.0,0.0,0.0,11.554,0.0,67.405,0.0,0.0,19.519,0.0,1.819,0.0,0.0,0.0,0.0,12.382,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,209.269,209.269,209.269,209.269,0.0,0.0,0.0,0.0,0.0,0.0,43.037,0.0,0.0,0.0,22.201,0.0,67.308,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.612,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml,220.853,220.853,166.238,166.238,54.615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.201,0.0,67.308,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.612,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,54.615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml,222.34,222.34,166.238,166.238,56.102,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.201,0.0,67.308,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.612,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,56.102,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-mf-whole-building.xml,209.269,209.269,209.269,209.269,0.0,0.0,0.0,0.0,0.0,0.0,43.037,0.0,0.0,0.0,22.201,0.0,67.308,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.612,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-sfa-unit-2stories.xml,59.582,59.582,37.143,37.143,22.439,0.0,0.0,0.0,0.0,0.0,0.0,0.689,0.0,0.0,3.858,0.815,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.439,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-sfa-unit-atticroof-cathedral.xml,79.479,79.479,37.663,37.663,41.816,0.0,0.0,0.0,0.0,0.0,0.0,1.282,0.0,0.0,3.829,0.783,10.779,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.053,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,41.816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
diff --git a/workflow/tests/base_results/results_simulations_hvac.csv b/workflow/tests/base_results/results_simulations_hvac.csv
index 67125ab576..ff6fbed30b 100644
--- a/workflow/tests/base_results/results_simulations_hvac.csv
+++ b/workflow/tests/base_results/results_simulations_hvac.csv
@@ -67,6 +67,8 @@ base-bldgtype-mf-unit-shared-water-heater.xml,6.8,91.76,10000.0,12000.0,0.0,5884
 base-bldgtype-mf-unit.xml,6.8,91.76,10000.0,12000.0,0.0,5884.0,0.0,2732.0,0.0,287.0,1510.0,0.0,0.0,0.0,0.0,1354.0,0.0,0.0,7403.0,0.0,2731.0,0.0,103.0,193.0,0.0,0.0,0.0,0.0,183.0,0.0,3320.0,0.0,872.0,605.0,0.0,-195.0,0.0,800.0
 base-bldgtype-mf-whole-building-common-spaces.xml,6.8,91.76,72000.0,36000.0,0.0,178233.0,0.0,12740.0,0.0,1148.0,27014.0,73730.0,9667.0,3495.0,0.0,50436.0,0.0,0.0,96718.0,0.0,12400.0,0.0,412.0,5576.0,38802.0,4050.0,0.0,0.0,6828.0,0.0,25180.0,0.0,3464.0,-2052.0,0.0,-7252.0,0.0,5200.0
 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,6.8,91.76,60000.0,72000.0,0.0,81802.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0
+base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml,6.8,91.76,60000.0,72000.0,0.0,81802.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0
+base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml,6.8,91.76,60000.0,72000.0,0.0,81802.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0
 base-bldgtype-mf-whole-building.xml,6.8,91.76,60000.0,72000.0,0.0,81802.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0
 base-bldgtype-sfa-unit-2stories.xml,6.8,91.76,50000.0,36000.0,0.0,37662.0,18108.0,5459.0,0.0,575.0,5654.0,0.0,0.0,1286.0,1436.0,5144.0,0.0,0.0,27802.0,14340.0,5459.0,0.0,207.0,513.0,0.0,0.0,0.0,1517.0,699.0,0.0,3320.0,0.0,1747.0,118.0,61.0,-743.0,0.0,800.0
 base-bldgtype-sfa-unit-atticroof-cathedral.xml,6.8,91.76,50000.0,36000.0,0.0,32069.0,0.0,3404.0,0.0,575.0,4473.0,17187.0,0.0,1286.0,0.0,5144.0,0.0,0.0,19124.0,0.0,3759.0,0.0,207.0,362.0,9045.0,0.0,0.0,0.0,699.0,0.0,3320.0,0.0,1731.0,57.0,0.0,-743.0,0.0,800.0
diff --git a/workflow/tests/base_results/results_simulations_loads.csv b/workflow/tests/base_results/results_simulations_loads.csv
index 04469cf3d4..f74fd15546 100644
--- a/workflow/tests/base_results/results_simulations_loads.csv
+++ b/workflow/tests/base_results/results_simulations_loads.csv
@@ -67,6 +67,8 @@ base-bldgtype-mf-unit-shared-water-heater.xml,1.149,0.0,8.333,10.368,0.467,0.0,0
 base-bldgtype-mf-unit.xml,0.876,0.0,8.841,10.368,0.803,0.0,0.0,0.0,-0.002,1.736,0.0,0.0,0.265,2.609,-1.716,0.0,0.0,-0.012,0.0,-0.238,0.815,0.0,0.298,0.0,0.0,-2.475,-0.488,0.0,0.002,-1.938,0.0,0.0,-0.237,-2.679,6.847,0.0,0.0,-0.007,0.0,-0.23,-0.945,-1.531,-0.395,0.0,0.0,8.611,1.537
 base-bldgtype-mf-whole-building-common-spaces.xml,32.547,0.0,24.548,62.257,5.123,0.0,0.0,0.0,3.963,8.61,0.768,4.916,0.735,9.578,-9.538,0.0,0.0,7.877,5.207,-0.44,25.561,0.0,0.0,0.0,0.0,-20.803,-4.117,0.0,4.688,2.117,-0.031,1.688,-0.012,-0.65,10.424,0.0,0.0,-1.759,-5.067,-0.438,-4.989,-2.988,0.0,0.0,0.0,18.486,3.203
 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,42.979,0.0,45.97,62.257,5.026,0.0,0.0,0.0,7.623,18.745,0.0,0.0,2.328,28.836,-25.733,0.0,0.0,6.833,0.0,-2.245,50.885,0.0,0.0,0.0,0.0,-37.509,-7.209,0.0,-0.814,-3.686,0.0,0.0,-0.127,-3.337,34.102,0.0,0.0,-4.565,0.0,-2.223,-12.876,-8.694,0.0,0.0,0.0,41.182,7.431
+base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml,0.0,0.0,45.97,62.257,5.026,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.814,-3.686,0.0,0.0,-0.127,-3.337,34.102,0.0,0.0,-4.565,0.0,-2.223,-12.876,-8.694,0.0,0.0,0.0,41.182,7.431
+base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml,0.0,0.0,45.97,62.257,5.026,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.814,-3.686,0.0,0.0,-0.127,-3.337,34.102,0.0,0.0,-4.565,0.0,-2.223,-12.876,-8.694,0.0,0.0,0.0,41.182,7.431
 base-bldgtype-mf-whole-building.xml,42.979,0.0,45.97,62.257,5.026,0.0,0.0,0.0,7.623,18.745,0.0,0.0,2.328,28.836,-25.733,0.0,0.0,6.833,0.0,-2.245,50.885,0.0,0.0,0.0,0.0,-37.509,-7.209,0.0,-0.814,-3.686,0.0,0.0,-0.127,-3.337,34.102,0.0,0.0,-4.565,0.0,-2.223,-12.876,-8.694,0.0,0.0,0.0,41.182,7.431
 base-bldgtype-sfa-unit-2stories.xml,21.328,0.0,13.673,9.917,0.849,0.0,0.0,0.0,2.397,5.442,0.516,4.083,0.683,8.17,-8.769,0.0,0.0,0.0,4.902,-0.14,7.469,0.0,0.513,0.0,6.996,-8.547,-2.657,0.0,-0.064,-0.351,-0.007,1.467,0.026,-0.297,8.453,0.0,0.0,0.0,-4.125,-0.135,-1.25,-3.063,-0.079,0.0,4.064,7.246,1.85
 base-bldgtype-sfa-unit-atticroof-cathedral.xml,39.727,0.0,12.899,9.917,0.858,0.0,0.0,32.369,0.0,3.235,0.516,3.572,0.661,5.22,-5.792,0.0,0.0,0.0,3.872,-0.557,7.625,0.0,0.534,0.0,0.0,-9.233,-2.841,5.12,0.0,-0.005,0.039,1.379,0.085,0.228,5.11,0.0,0.0,0.0,-4.165,-0.524,-0.754,-1.466,-0.041,0.0,0.0,6.546,1.666
diff --git a/workflow/tests/base_results/results_simulations_misc.csv b/workflow/tests/base_results/results_simulations_misc.csv
index d9eed0b72c..59afd1586b 100644
--- a/workflow/tests/base_results/results_simulations_misc.csv
+++ b/workflow/tests/base_results/results_simulations_misc.csv
@@ -67,6 +67,8 @@ base-bldgtype-mf-unit-shared-water-heater.xml,0.0,0.0,0.0,1323.0,910.6,12046.2,4
 base-bldgtype-mf-unit.xml,0.0,0.0,0.0,1323.0,910.7,12046.2,4107.6,1704.1,2124.2,2124.2,1704.1,2124.2,2124.2,3.934,8.322,0.0
 base-bldgtype-mf-whole-building-common-spaces.xml,0.0,1.0,0.0,7938.3,5463.9,72300.7,24653.5,18343.5,13889.9,18343.5,18343.5,13889.9,18343.5,34.206,23.542,0.0
 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,1.0,3.0,0.0,7938.3,5463.9,72300.4,24653.4,22821.0,17023.0,22821.0,22821.0,17023.0,22821.0,56.702,55.778,0.0
+base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml,0.0,3.0,0.0,7938.3,5463.9,72300.4,24653.4,12346.7,17023.0,17023.0,12346.7,17023.0,17023.0,0.0,55.778,0.0
+base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml,0.0,3.0,0.0,7938.3,5463.9,72300.4,24653.4,12346.7,17023.0,17023.0,12346.7,17023.0,17023.0,0.0,55.778,0.0
 base-bldgtype-mf-whole-building.xml,1.0,3.0,0.0,7938.3,5463.9,72300.4,24653.4,22821.0,17023.0,22821.0,22821.0,17023.0,22821.0,56.702,55.778,0.0
 base-bldgtype-sfa-unit-2stories.xml,0.0,0.0,0.0,1286.4,890.5,11468.5,3942.3,2256.0,4063.6,4063.6,2256.0,4063.6,4063.6,24.136,22.99,0.0
 base-bldgtype-sfa-unit-atticroof-cathedral.xml,0.0,0.0,0.0,1286.4,890.5,11468.5,3942.3,2348.5,4080.1,4080.1,2348.5,4080.1,4080.1,27.96,22.585,0.0
diff --git a/workflow/tests/base_results/results_simulations_panel.csv b/workflow/tests/base_results/results_simulations_panel.csv
index 44103793d4..a4ef52f3f3 100644
--- a/workflow/tests/base_results/results_simulations_panel.csv
+++ b/workflow/tests/base_results/results_simulations_panel.csv
@@ -67,6 +67,8 @@ base-bldgtype-mf-unit-shared-water-heater.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.
 base-bldgtype-mf-unit.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-mf-whole-building-common-spaces.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,17584.2,6614.4,33000.6,0.0,7200.0,72000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,48600.0,100153.8,417.6,782.4,33750.0,140.4,1059.6,12.0,0.0,12.0,0.0,6.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0,96.0,78.0,18.0
+base-bldgtype-mf-whole-building-shared-boilers-sequenced.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+base-bldgtype-mf-whole-building-shared-boilers-simultaneous.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-mf-whole-building.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-sfa-unit-2stories.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
 base-bldgtype-sfa-unit-atticroof-cathedral.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
diff --git a/workflow/tests/util.rb b/workflow/tests/util.rb
index 870c102099..93c1512910 100644
--- a/workflow/tests/util.rb
+++ b/workflow/tests/util.rb
@@ -15,6 +15,7 @@ def run_simulation_tests(xmls)
 
     next unless xml.include?('sample_files') || xml.include?('real_homes') # Exclude e.g. ASHRAE 140 files
     next if xml.include? 'base-bldgtype-mf-whole-building' # Already has multiple dwelling units
+    next if xml.include? 'base-bldgtype-mf-unit-shared' # FUTURE: Allow someday, but need to use @sameas attribute and size the shared HVAC equipment
 
     # Also run with a 10x unit multiplier (2 identical dwelling units each with a 5x
     # unit multiplier) and check how the results compare to the original run
@@ -81,18 +82,18 @@ def _run_xml(xml, worker_num, apply_unit_multiplier = false, annual_results_1x =
   command = "\"#{cli_path}\" \"#{File.join(File.dirname(__FILE__), '../run_simulation.rb')}\" -x \"#{xml}\" --add-component-loads -o \"#{rundir}\" --debug --monthly ALL"
   success = system(command)
 
-  if unit_multiplier > 1
-    # Clean up
-    File.delete(xml)
-    xml.gsub!('-10x.xml', '.xml')
-  end
-
   rundir = File.join(rundir, 'run')
 
   # Check results
   print "Simulation failed: #{xml}.\n" unless success
   assert_equal(true, success)
 
+  if unit_multiplier > 1
+    # Clean up
+    File.delete(xml)
+    xml.gsub!('-10x.xml', '.xml')
+  end
+
   # Check for output files
   annual_csv_path = File.join(rundir, 'results_annual.csv')
   monthly_csv_path = File.join(rundir, 'results_timeseries.csv')