Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assign above-grade height for apartment units #1304

Open
wants to merge 14 commits into
base: develop
Choose a base branch
from
34 changes: 29 additions & 5 deletions docs/read_the_docs/source/changelog/changelog_dev.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,24 @@ Development Changelog
:pullreq: 1265
:tickets: 1236

**Date**: 2024-08-06
**Date**: 2024-09-24

Title:
Fix Hot Water Fixtures multipliers

Description:
Mean-shift hot water usage multipliers distribution by increasing weighted average from 0.8 to 1.0 in Hot Water Fixtures.tsv.

resstock-estimation: `pull request 420 <https://github.com/NREL/resstock-estimation/pull/420>`_

Assignees: Lixi Liu

.. change::

:tags: workflow, infiltration, bugfix
:pullreq: 1257

**Date**: 2024-08-20
**Date**: 2024-09-04

Title:
Air leakage type "unit total"
Expand All @@ -40,15 +44,18 @@ Development Changelog
.. change::
:tags: characteristics, floor area, bugfix
:pullreq: 1301
:tickets: 1273

**Date**: 2024-09-18
**Date**: 2024-09-23

Title:
Fix RECS floor area bins

Description:
RECS have been using incorrect floor area bins when assigning some characteristics due to a bug on how floor area bin is calculated. This PR fixes the issue.

resstock-estimation: `pull request 424 <https://github.com/NREL/resstock-estimation/pull/424>`_

Assignees: Rajendra Adhikari, Anthony Fontanini

.. change::
Expand All @@ -72,7 +79,7 @@ Development Changelog
:tags: workflow, plug loads, feature
:pullreq: 1298

**Date**: 2024-09-24
**Date**: 2024-09-26

Title:
Latest OS-HPXML
Expand All @@ -90,7 +97,7 @@ Development Changelog
:tags: workflow, hvac, feature
:pullreq: 1254

**Date**: 2024-09-218
**Date**: 2024-09-27

Title:
Heating and Cooling Unavailable Days
Expand All @@ -99,4 +106,21 @@ Development Changelog
The purpose of this PR is to account for dwelling units whose HVAC system (heating/cooling) is unavailable for some number of days during the year (per RECS 2020).
Specifically, this PR modifies HVAC heating/cooling seasons using number of unavailable days and BAHSP definition for heating/cooling months.

resstock-estimation: `pull request 416 <https://github.com/NREL/resstock-estimation/pull/416>`_

Assignees: Joe Robertson

.. change::
:tags: workflow, hvac, feature
:pullreq: 1304
:tickets: 1303

**Date**: 2024-10-02

Title:
Assign above-grade height for apartment units

Description:
The purpose of this PR is to set a value in ResStockArguments for apartment units based on the type/size of MF building and where the unit is located (lower, middle, or upper story).

Assignees: Joe Robertson
12 changes: 0 additions & 12 deletions docs/read_the_docs/source/workflow_inputs/characteristics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36439,12 +36439,6 @@ Arguments
- Double
-
- Average distance from the floor to the ceiling.
* - ``geometry_unit_height_above_grade``
- false
- ft
- Double
- auto
- Describes the above-grade height of apartment units on upper floors or homes above ambient or belly-and-wing foundations. It is defined as the height of the lowest conditioned floor above grade and is used to calculate the wind speed for the infiltration model. If not provided, the OS-HPXML default (see `HPXML Building Construction <https://openstudio-hpxml.readthedocs.io/en/v1.8.1/workflow_inputs.html#hpxml-building-construction>`_) is used.

Options
*******
Expand All @@ -36461,38 +36455,32 @@ From ``project_national`` the list of options, option stock sturation, and optio
- ``geometry_unit_type``
- ``geometry_unit_aspect_ratio``
- ``geometry_average_ceiling_height``
- ``geometry_unit_height_above_grade``

* - Mobile Home
- 6.2%
- manufactured home
- 1.8
- 8
- auto
* - Multi-Family with 2 - 4 Units
- 8%
- apartment unit
- 0.5556
- 8
- auto
* - Multi-Family with 5+ Units
- 18%
- apartment unit
- 0.5556
- 8
- auto
* - Single-Family Attached
- 5.9%
- single-family attached
- 0.5556
- 8
- auto
* - Single-Family Detached
- 61%
- single-family detached
- 1.8
- 8
- auto

.. _geometry_floor_area:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ build_existing_model.weather_file_latitude,Latitude from the EPW weather file.
build_existing_model.weather_file_longitude,Longitude from the EPW weather file.
build_existing_model.heating_unavailable_period,Heating unavailable period.
build_existing_model.cooling_unavailable_period,Cooling unavailable period.
build_existing_model.unit_height_above_grade,Height of the lowest conditioned floor above grade for the unit.
apply_upgrade.applicable,The measure was applied to the workflow.
apply_upgrade.upgrade_name,User-specificed name that describes the upgrade.
apply_upgrade.reference_scenario,The upgrade_name which should act as a reference to this upgrade to calculate savings.
Expand Down
6 changes: 5 additions & 1 deletion measures/BuildExistingModel/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -772,7 +772,7 @@ def run(model, runner, user_arguments)
end
end

# Report some additional location and model characteristics
# Report additional characteristics
if File.exist?(hpxml_path)
hpxml = HPXML.new(hpxml_path: hpxml_path)
else
Expand All @@ -782,6 +782,10 @@ def run(model, runner, user_arguments)

hpxml_bldg = hpxml.buildings[0]

# height above grade
unit_height_above_grade = hpxml_bldg.building_construction.unit_height_above_grade
register_value(runner, 'unit_height_above_grade', unit_height_above_grade)

# infiltration
air_infiltration_measurement = hpxml_bldg.air_infiltration_measurements[0]
a_ext = 1.0
Expand Down
6 changes: 3 additions & 3 deletions measures/BuildExistingModel/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>build_existing_model</name>
<uid>dedf59bb-3b88-4f16-8755-2c1ff5519cbf</uid>
<version_id>be99be23-ddd9-49c4-804a-cb9853764e3e</version_id>
<version_modified>2024-09-04T21:01:10Z</version_modified>
<version_id>bcef100c-8ba1-498f-ad04-00420becde5b</version_id>
<version_modified>2024-10-01T19:39:04Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildExistingModel</class_name>
<display_name>Build Existing Model</display_name>
Expand Down Expand Up @@ -349,7 +349,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>18614B0C</checksum>
<checksum>D34EA13A</checksum>
</file>
</files>
</measure>
11 changes: 0 additions & 11 deletions measures/ResStockArguments/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,17 +297,6 @@ Average distance from the floor to the ceiling.

<br/>

**Geometry: Unit Height Above Grade**

Describes the above-grade height of apartment units on upper floors or homes above ambient or belly-and-wing foundations. It is defined as the height of the lowest conditioned floor above grade and is used to calculate the wind speed for the infiltration model. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.8.1/workflow_inputs.html#hpxml-building-construction'>HPXML Building Construction</a>) is used.

- **Name:** ``geometry_unit_height_above_grade``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Geometry: Garage Width**

The width of the garage. Enter zero for no garage. Only applies to single-family detached units.
Expand Down
16 changes: 16 additions & 0 deletions measures/ResStockArguments/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,22 @@ def run(model, runner, user_arguments)
end
end

# Height Above Grade
if args[:geometry_unit_type] == HPXML::ResidentialTypeApartment
n_floors = Float(args[:geometry_num_floors_above_grade])
avg_ceiling_height = args[:geometry_average_ceiling_height]

if args[:geometry_unit_level] == 'Top'
args[:geometry_unit_height_above_grade] = (n_floors - 1) * avg_ceiling_height
elsif args[:geometry_unit_level] == 'Middle'
args[:geometry_unit_height_above_grade] = (n_floors - 1) / 2.0 * avg_ceiling_height
elsif args[:geometry_unit_level] == 'Bottom'
args[:geometry_unit_height_above_grade] = Constants::Auto
end
else
args[:geometry_unit_height_above_grade] = Constants::Auto
end

# Wall Assembly R-Value
args[:wall_assembly_r] += args[:exterior_finish_r]

Expand Down
19 changes: 5 additions & 14 deletions measures/ResStockArguments/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>res_stock_arguments</name>
<uid>c984bb9e-4ac4-4930-a399-9d23f8f6936a</uid>
<version_id>534c899e-ac51-4052-92ce-876e8ee58146</version_id>
<version_modified>2024-09-25T03:27:57Z</version_modified>
<version_id>0b6ff798-c4be-4d0c-b466-d48430d42d8f</version_id>
<version_modified>2024-10-01T16:15:30Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>ResStockArguments</class_name>
<display_name>ResStock Arguments</display_name>
Expand Down Expand Up @@ -673,15 +673,6 @@
<model_dependent>false</model_dependent>
<default_value>8</default_value>
</argument>
<argument>
<name>geometry_unit_height_above_grade</name>
<display_name>Geometry: Unit Height Above Grade</display_name>
<description>Describes the above-grade height of apartment units on upper floors or homes above ambient or belly-and-wing foundations. It is defined as the height of the lowest conditioned floor above grade and is used to calculate the wind speed for the infiltration model. If not provided, the OS-HPXML default (see &lt;a href='https://openstudio-hpxml.readthedocs.io/en/v1.8.1/workflow_inputs.html#hpxml-building-construction'&gt;HPXML Building Construction&lt;/a&gt;) is used.</description>
<type>String</type>
<units>ft</units>
<required>false</required>
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>geometry_garage_width</name>
<display_name>Geometry: Garage Width</display_name>
Expand Down Expand Up @@ -7684,7 +7675,7 @@
<filename>README.md</filename>
<filetype>md</filetype>
<usage_type>readme</usage_type>
<checksum>7C3E7B89</checksum>
<checksum>9D021CAF</checksum>
</file>
<file>
<filename>README.md.erb</filename>
Expand All @@ -7701,13 +7692,13 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>1B03697A</checksum>
<checksum>03D1F759</checksum>
</file>
<file>
<filename>constants.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>F035A1F3</checksum>
<checksum>67C6AB5F</checksum>
</file>
<file>
<filename>resstock_arguments_test.rb</filename>
Expand Down
1 change: 1 addition & 0 deletions measures/ResStockArguments/resources/constants.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ module Constants
'simulation_control_onoff_thermostat_deadband',
'simulation_control_heat_pump_backup_heating_capacity_increment',
'unit_multiplier',
'geometry_unit_height_above_grade',
'geometry_unit_left_wall_is_adiabatic',
'geometry_unit_right_wall_is_adiabatic',
'geometry_unit_front_wall_is_adiabatic',
Expand Down
1 change: 1 addition & 0 deletions resources/data/dictionary/inputs.csv
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ build_existing_model.weather_file_latitude,Latitude from the EPW weather file.
build_existing_model.weather_file_longitude,Longitude from the EPW weather file.
build_existing_model.heating_unavailable_period,Heating unavailable period.
build_existing_model.cooling_unavailable_period,Cooling unavailable period.
build_existing_model.unit_height_above_grade,Height of the lowest conditioned floor above grade for the unit.
apply_upgrade.applicable,The measure was applied to the workflow.
apply_upgrade.upgrade_name,User-specificed name that describes the upgrade.
apply_upgrade.reference_scenario,The upgrade_name which should act as a reference to this upgrade to calculate savings.
Expand Down
10 changes: 5 additions & 5 deletions resources/options_lookup.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -9370,11 +9370,11 @@ Geometry Building Type Height Mobile Home
Geometry Building Type Height Multifamily with 2-4 Units
Geometry Building Type Height Single-Family Attached
Geometry Building Type Height Single-Family Detached
Geometry Building Type RECS Mobile Home ResStockArguments geometry_unit_type=manufactured home geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=1.8 geometry_unit_height_above_grade=auto
Geometry Building Type RECS Multi-Family with 2 - 4 Units ResStockArguments geometry_unit_type=apartment unit geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=0.5556 geometry_unit_height_above_grade=auto
Geometry Building Type RECS Multi-Family with 5+ Units ResStockArguments geometry_unit_type=apartment unit geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=0.5556 geometry_unit_height_above_grade=auto
Geometry Building Type RECS Single-Family Attached ResStockArguments geometry_unit_type=single-family attached geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=0.5556 geometry_unit_height_above_grade=auto
Geometry Building Type RECS Single-Family Detached ResStockArguments geometry_unit_type=single-family detached geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=1.8 geometry_unit_height_above_grade=auto
Geometry Building Type RECS Mobile Home ResStockArguments geometry_unit_type=manufactured home geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=1.8
Geometry Building Type RECS Multi-Family with 2 - 4 Units ResStockArguments geometry_unit_type=apartment unit geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=0.5556
Geometry Building Type RECS Multi-Family with 5+ Units ResStockArguments geometry_unit_type=apartment unit geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=0.5556
Geometry Building Type RECS Single-Family Attached ResStockArguments geometry_unit_type=single-family attached geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=0.5556
Geometry Building Type RECS Single-Family Detached ResStockArguments geometry_unit_type=single-family detached geometry_average_ceiling_height=8 geometry_unit_aspect_ratio=1.8
Geometry Floor Area 0-499 ResStockArguments geometry_unit_cfa_bin=0-499 geometry_unit_cfa=auto geometry_garage_protrusion=0.72
Geometry Floor Area 1000-1499 ResStockArguments geometry_unit_cfa_bin=1000-1499 geometry_unit_cfa=auto geometry_garage_protrusion=0.5
Geometry Floor Area 1500-1999 ResStockArguments geometry_unit_cfa_bin=1500-1999 geometry_unit_cfa=auto geometry_garage_protrusion=0.5
Expand Down
Loading