Skip to content

Commit

Permalink
Merge pull request #996 from NREL/deprecate_report_hpxml_output
Browse files Browse the repository at this point in the history
Deprecate `ReportHPXMLOutput` measure
  • Loading branch information
joseph-robertson committed Oct 11, 2022
2 parents bf4d004 + f97d014 commit 344f2a4
Show file tree
Hide file tree
Showing 56 changed files with 38,211 additions and 37,603 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ def run(runner, user_arguments)
bldg_outputs[BO::SystemsHeatPumpBackupCapacity] = BaseOutput.new
bldg_outputs[BO::SystemsWaterHeaterVolume] = BaseOutput.new
bldg_outputs[BO::SystemsMechanicalVentilationFlowRate] = BaseOutput.new
bldg_outputs[BO::DesignTemperatureHeating] = BaseOutput.new
bldg_outputs[BO::DesignTemperatureCooling] = BaseOutput.new
bldg_outputs[BO::DesignLoadsHeatingTotal] = BaseOutput.new
bldg_outputs[BO::DesignLoadsHeatingDucts] = BaseOutput.new
bldg_outputs[BO::DesignLoadsHeatingWindows] = BaseOutput.new
Expand Down Expand Up @@ -312,6 +314,10 @@ def get_bldg_output(hpxml, bldg_type)

bldg_output += ventilation_fan.flow_rate.to_f
end
elsif bldg_type == BO::DesignTemperatureHeating
bldg_output += hpxml.hvac_plant.temp_heating
elsif bldg_type == BO::DesignTemperatureCooling
bldg_output += hpxml.hvac_plant.temp_cooling
elsif bldg_type == BO::DesignLoadsHeatingTotal
bldg_output += hpxml.hvac_plant.hdl_total
elsif bldg_type == BO::DesignLoadsHeatingDucts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.0</schema_version>
<name>report_hpxml_output</name>
<uid>9561a0d7-60ad-48c5-8337-2461df044d80</uid>
<version_id>7bb635bd-994a-4f18-a40a-8cd4bdf44a2a</version_id>
<version_modified>20220912T215712Z</version_modified>
<version_id>e91baa75-3050-466e-9449-f61616cff1f7</version_id>
<version_modified>20221010T224131Z</version_modified>
<xml_checksum>9BF1E6AC</xml_checksum>
<class_name>ReportHPXMLOutput</class_name>
<display_name>HPXML Output Report</display_name>
Expand Down Expand Up @@ -62,13 +62,7 @@
<filename>constants.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>084AB878</checksum>
</file>
<file>
<filename>hpxml_output_report_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>C0E4766D</checksum>
<checksum>B0567483</checksum>
</file>
<file>
<version>
Expand All @@ -79,7 +73,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>642666E6</checksum>
<checksum>70B9BAD8</checksum>
</file>
</files>
</measure>
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ class BO
SystemsWaterHeaterVolume = 'Systems: Water Heater Tank Volume'
SystemsMechanicalVentilationFlowRate = 'Systems: Mechanical Ventilation Flow Rate'

DesignTemperatureHeating = 'Design Temperature: Heating'
DesignTemperatureCooling = 'Design Temperature: Cooling'

DesignLoadsHeatingTotal = 'Design Loads Heating: Total'
DesignLoadsHeatingDucts = 'Design Loads Heating: Ducts'
DesignLoadsHeatingWindows = 'Design Loads Heating: Windows'
Expand Down Expand Up @@ -64,6 +67,8 @@ def self.get_units(bldg_type)
return 'cfm'
elsif bldg_type == 'Fixed'
return '1'
elsif bldg_type.include? 'Design Temperature'
return 'F'
elsif bldg_type.include? 'Design Loads'
return 'Btu/h'
end
Expand Down
16 changes: 8 additions & 8 deletions measures/UpgradeCosts/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.0</schema_version>
<name>upgrade_costs</name>
<uid>ef51212c-acc4-48d7-9b29-cf2a5c6c4449</uid>
<version_id>94afc619-2777-4eca-8d6c-1f4c39c91bcd</version_id>
<version_modified>20220824T160259Z</version_modified>
<version_id>8c1d5760-86fe-4eb5-a930-db95fd658af0</version_id>
<version_modified>20221010T224131Z</version_modified>
<xml_checksum>9BF1E6AC</xml_checksum>
<class_name>UpgradeCosts</class_name>
<display_name>Upgrade Costs</display_name>
Expand Down Expand Up @@ -54,12 +54,6 @@
</attribute>
</attributes>
<files>
<file>
<filename>upgrade_costs_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>4EABC096</checksum>
</file>
<file>
<filename>SFD_1story_FB_UA_GRG_RoomAC_ElecBoiler_FuelTanklessWH.osw</filename>
<filetype>osw</filetype>
Expand Down Expand Up @@ -203,5 +197,11 @@
<usage_type>script</usage_type>
<checksum>79B35318</checksum>
</file>
<file>
<filename>upgrade_costs_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>56F4CB4A</checksum>
</file>
</files>
</measure>
2 changes: 1 addition & 1 deletion measures/UpgradeCosts/tests/upgrade_costs_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

require 'openstudio'
require_relative '../../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper'
require_relative '../../../resources/hpxml-measures/ReportHPXMLOutput/measure.rb'
require_relative '../../../measures/ReportHPXMLOutput/measure.rb'
require_relative '../measure.rb'

class UpgradeCostsTest < MiniTest::Test
Expand Down
58 changes: 25 additions & 33 deletions resources/hpxml-measures/BuildResidentialHPXML/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,14 @@
require 'pathname'
require 'csv'
require 'oga'
require_relative 'resources/geometry'
require_relative '../HPXMLtoOpenStudio/resources/airflow'
require_relative '../HPXMLtoOpenStudio/resources/battery'
require_relative '../HPXMLtoOpenStudio/resources/constants'
require_relative '../HPXMLtoOpenStudio/resources/constructions'
require_relative '../HPXMLtoOpenStudio/resources/geometry'
require_relative '../HPXMLtoOpenStudio/resources/hotwater_appliances'
require_relative '../HPXMLtoOpenStudio/resources/hpxml_defaults'
require_relative '../HPXMLtoOpenStudio/resources/hpxml'
require_relative '../HPXMLtoOpenStudio/resources/hvac'
require_relative '../HPXMLtoOpenStudio/resources/hvac_sizing'
require_relative '../HPXMLtoOpenStudio/resources/lighting'
require_relative '../HPXMLtoOpenStudio/resources/location'
require_relative '../HPXMLtoOpenStudio/resources/materials'
require_relative '../HPXMLtoOpenStudio/resources/misc_loads'
require_relative '../HPXMLtoOpenStudio/resources/meta_measure'
require_relative '../HPXMLtoOpenStudio/resources/psychrometrics'
require_relative '../HPXMLtoOpenStudio/resources/pv'
require_relative '../HPXMLtoOpenStudio/resources/schedules'
require_relative '../HPXMLtoOpenStudio/resources/unit_conversions'
require_relative '../HPXMLtoOpenStudio/resources/util'
require_relative '../HPXMLtoOpenStudio/resources/utility_bills'
require_relative '../HPXMLtoOpenStudio/resources/validator'
require_relative '../HPXMLtoOpenStudio/resources/version'
require_relative '../HPXMLtoOpenStudio/resources/waterheater'
require_relative '../HPXMLtoOpenStudio/resources/weather'
require_relative '../HPXMLtoOpenStudio/resources/xmlhelper'
Dir["#{File.dirname(__FILE__)}/resources/*.rb"].each do |resource_file|
require resource_file
end
Dir["#{File.dirname(__FILE__)}/../HPXMLtoOpenStudio/resources/*.rb"].each do |resource_file|
next if resource_file.include? 'minitest_helper.rb'

require resource_file
end

# start the measure
class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
Expand Down Expand Up @@ -137,6 +118,12 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
arg.setDescription('Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default is used.')
args << arg

arg = OpenStudio::Measure::OSArgument.makeDoubleArgument('site_ground_conductivity', false)
arg.setDisplayName('Site: Ground Conductivity')
arg.setDescription('Conductivity of the ground soil. If not provided, the OS-HPXML default is used.')
arg.setUnits('Btu/hr-ft-F')
args << arg

arg = OpenStudio::Measure::OSArgument.makeStringArgument('site_zip_code', false)
arg.setDisplayName('Site: Zip Code')
arg.setDescription('Zip code of the home address.')
Expand Down Expand Up @@ -3736,7 +3723,11 @@ def self.set_header(hpxml, args)

def self.set_site(hpxml, args)
if args[:site_shielding_of_home].is_initialized
shielding_of_home = args[:site_shielding_of_home].get
hpxml.site.shielding_of_home = args[:site_shielding_of_home].get
end

if args[:site_ground_conductivity].is_initialized
hpxml.site.ground_conductivity = args[:site_ground_conductivity].get
end

if args[:site_type].is_initialized
Expand Down Expand Up @@ -3775,7 +3766,6 @@ def self.set_site(hpxml, args)
end

hpxml.site.azimuth_of_front_of_home = args[:geometry_unit_orientation]
hpxml.site.shielding_of_home = shielding_of_home
end

def self.set_neighbor_buildings(hpxml, args)
Expand Down Expand Up @@ -3843,8 +3833,8 @@ def self.set_climate_and_risk_zones(hpxml, args)
hpxml.climate_and_risk_zones.weather_station_id = 'WeatherStation'

if args[:site_iecc_zone].is_initialized
hpxml.climate_and_risk_zones.iecc_zone = args[:site_iecc_zone].get
hpxml.climate_and_risk_zones.iecc_year = 2006
hpxml.climate_and_risk_zones.climate_zone_ieccs.add(zone: args[:site_iecc_zone].get,
year: 2006)
end

weather_station_name = File.basename(args[:weather_station_epw_filepath]).gsub('.epw', '')
Expand Down Expand Up @@ -5241,7 +5231,8 @@ def self.set_water_heating_systems(hpxml, args)
if [HPXML::WaterHeaterTypeCombiTankless, HPXML::WaterHeaterTypeCombiStorage].include? water_heater_type
if args[:water_heater_standby_loss].is_initialized
if args[:water_heater_standby_loss].get > 0
standby_loss = args[:water_heater_standby_loss].get
standby_loss_units = HPXML::UnitsDegFPerHour
standby_loss_value = args[:water_heater_standby_loss].get
end
end
end
Expand Down Expand Up @@ -5304,7 +5295,8 @@ def self.set_water_heating_systems(hpxml, args)
recovery_efficiency: recovery_efficiency,
uses_desuperheater: uses_desuperheater,
related_hvac_idref: related_hvac_idref,
standby_loss: standby_loss,
standby_loss_units: standby_loss_units,
standby_loss_value: standby_loss_value,
jacket_r_value: jacket_r_value,
temperature: temperature,
heating_capacity: heating_capacity,
Expand Down
15 changes: 12 additions & 3 deletions resources/hpxml-measures/BuildResidentialHPXML/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.0</schema_version>
<name>build_residential_hpxml</name>
<uid>a13a8983-2b01-4930-8af2-42030b6e4233</uid>
<version_id>adadab12-4481-4c1f-bb0f-980c6dbdf441</version_id>
<version_modified>20220818T192810Z</version_modified>
<version_id>42bb3575-dfe5-4a6c-a97b-875bb522461b</version_id>
<version_modified>20220930T164344Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildResidentialHPXML</class_name>
<display_name>HPXML Builder</display_name>
Expand Down Expand Up @@ -165,6 +165,15 @@
</choice>
</choices>
</argument>
<argument>
<name>site_ground_conductivity</name>
<display_name>Site: Ground Conductivity</display_name>
<description>Conductivity of the ground soil. If not provided, the OS-HPXML default is used.</description>
<type>Double</type>
<units>Btu/hr-ft-F</units>
<required>false</required>
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>site_zip_code</name>
<display_name>Site: Zip Code</display_name>
Expand Down Expand Up @@ -6404,7 +6413,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>788EEDBC</checksum>
<checksum>CE5383BA</checksum>
</file>
</files>
</measure>
17 changes: 8 additions & 9 deletions resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@
require 'openstudio'
require 'pathname'
require 'oga'
require_relative 'resources/schedules'
require_relative '../HPXMLtoOpenStudio/resources/constants'
require_relative '../HPXMLtoOpenStudio/resources/geometry'
require_relative '../HPXMLtoOpenStudio/resources/hpxml'
require_relative '../HPXMLtoOpenStudio/resources/lighting'
require_relative '../HPXMLtoOpenStudio/resources/location'
require_relative '../HPXMLtoOpenStudio/resources/meta_measure'
require_relative '../HPXMLtoOpenStudio/resources/schedules'
require_relative '../HPXMLtoOpenStudio/resources/xmlhelper'
Dir["#{File.dirname(__FILE__)}/resources/*.rb"].each do |resource_file|
require resource_file
end
Dir["#{File.dirname(__FILE__)}/../HPXMLtoOpenStudio/resources/*.rb"].each do |resource_file|
next if resource_file.include? 'minitest_helper.rb'

require resource_file
end

# start the measure
class BuildResidentialScheduleFile < OpenStudio::Measure::ModelMeasure
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.0</schema_version>
<name>build_residential_schedule_file</name>
<uid>f770b2db-1a9f-4e99-99a7-7f3161a594b1</uid>
<version_id>76e2188f-cdb8-4abb-b89a-450c51ef51d9</version_id>
<version_modified>20220818T232732Z</version_modified>
<version_id>1242b12b-5a97-40e7-a335-e1c6abb5095d</version_id>
<version_modified>20220930T164345Z</version_modified>
<xml_checksum>03F02484</xml_checksum>
<class_name>BuildResidentialScheduleFile</class_name>
<display_name>Schedule File Builder</display_name>
Expand Down Expand Up @@ -911,7 +911,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>AAE8B0D8</checksum>
<checksum>8FF07C66</checksum>
</file>
</files>
</measure>
7 changes: 7 additions & 0 deletions resources/hpxml-measures/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@
__New Features__
- **Breaking Change**: Replaces `FrameFloors/FrameFloor` with `Floors/Floor`.
- **Breaking change**: Replaces `SoftwareInfo/extension/SimulationControl/DaylightSaving/Enabled` with `Building/Site/TimeZone/DSTObserved`.
- **Breaking Change**: Replaces `StandbyLoss` with `StandbyLoss[Units="F/hr"]/Value` for an indirect water heater.
- **Breaking Change**: Deprecates ReportHPXMLOutput measure; HVAC autosized capacities & design loads moved to `results_annual.csv`.
- Allows SEER2/HSPF2 efficiency types for central air conditioners and heat pumps.
- Allows heating/cooling seasons that don't span the entire year.
- Allows calculating one or more utility bill scenarios (e.g., net metering vs feed-in tariff compensation types for a simulation with PV).
- Allows setting the EnergyPlus temperature capacitance multiplier.
- Allows setting the ground soil conductivity used for foundation heat transfer and ground source heat pumps.
- Allows setting the natural ventilation availability (days/week that operable windows can be opened); default changed from 7 to 3 (M/W/F).
- Allows specifying duct surface area multipliers.
- Design temperatures, used to calculate design loads for HVAC equipment autosizing, are now output in `in.xml` and `results_annual.csv`.
- EnergyPlus modeling changes:
- Switches Kiva foundation model timestep from 'Hourly' to 'Timestep'; small increase in runtime for sub-hourly simulations.
- Annual/timeseries outputs:
Expand All @@ -21,6 +25,8 @@ __New Features__
- Adds optional arguments for utility bill scenarios.
- ReportUtilityBills measure:
- Removes utility rate and PV related arguments in lieu of new utility bill scenarios described inside the HPXML file.
- Allows shared dishwasher/clothes washer to be attached to a hot water distribution system instead of a single water heater.
- Improves Kiva foundation model heat transfer by providing better initial temperature assumptions based on foundation type and insulation levels.

__Bugfixes__
- Fixes possible incorrect autosizing of heat pump *separate* backup systems with respect to duct loads.
Expand All @@ -34,6 +40,7 @@ __Bugfixes__
- Fixes excessive heat transfer when foundation wall interior insulation does not start from the top of the wall.
- Fixes how relative paths are treated when using an OpenStudio Workflow.
- Fixes possible simulation error if a slab has an ExposedPerimeter near zero.
- Fixes possible "Could not identify surface type for surface" error.
- BuildResidentialHPXML measure:
- Fixes aspect ratio convention for single-family attached and multifamily dwelling units.

Expand Down

0 comments on commit 344f2a4

Please sign in to comment.