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

Adjust fan W/cfm using baseline/upgrade airflows #1163

Closed
wants to merge 26 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
5ac7eeb
Set airflow cfms on additional properties.
joseph-robertson Nov 8, 2023
a5129fe
Merge commit '9b3328763c67eece910c701741b2d239b1b3220d' into watts-pe…
joseph-robertson Nov 8, 2023
9b33287
Squashed 'resources/hpxml-measures/' changes from 4d634565bcec..03371…
joseph-robertson Nov 8, 2023
9a9f4cc
Assign fan_watts_per_cfm using lookup.
joseph-robertson Nov 8, 2023
84e567b
Assign airflow cfm additional properties in applyupgrade.
joseph-robertson Nov 9, 2023
68f3269
Update defaults resource to make the fan w/cfm adjustment.
joseph-robertson Nov 9, 2023
9f2a517
Add slim national upgrades yml for testing.
joseph-robertson Nov 9, 2023
6c7900f
Merge branch 'develop' into watts-per-cfm-args2
joseph-robertson Nov 9, 2023
7a27e5c
Latest results.
Nov 9, 2023
abf7028
Squashed 'resources/hpxml-measures/' changes from 03371101b8d7..a134d…
joseph-robertson Nov 9, 2023
54c94e0
Merge commit 'abf7028438359691cdd21cf6c7a3f29a057677bf' into watts-pe…
joseph-robertson Nov 9, 2023
aee29e5
Update applyupgrade to pass in airflow max.
joseph-robertson Nov 9, 2023
d6a36f2
Merge commit '40816043cd77c54ff6c949e377cf7ccbaba3e059' into watts-pe…
joseph-robertson Nov 9, 2023
4081604
Squashed 'resources/hpxml-measures/' changes from a134d7fbd88a..a6dce…
joseph-robertson Nov 9, 2023
bca3ba6
Simplify airflow assignment in applyupgrade measure.
joseph-robertson Nov 9, 2023
bfeaced
Squashed 'resources/hpxml-measures/' changes from a6dcec067af1..6d59d…
joseph-robertson Nov 9, 2023
7696201
Merge commit 'bfeacedcaccf311695fb4e5be6b1cf511a2a0079' into watts-pe…
joseph-robertson Nov 9, 2023
21b4f07
Merge commit 'da4e55bcdb3de146c53875f765fe3b96e9415c32' into watts-pe…
joseph-robertson Nov 9, 2023
da4e55b
Squashed 'resources/hpxml-measures/' changes from 6d59d3257ce6..7ffc8…
joseph-robertson Nov 9, 2023
812b31f
Test a new upgrade option for setting max allowed airflow rates.
joseph-robertson Nov 9, 2023
d554c4f
Latest results.
Nov 10, 2023
4dd38f2
Squashed 'resources/hpxml-measures/' changes from 7ffc8206ae92..ee6ab…
joseph-robertson Nov 21, 2023
b001ce9
Merge commit '4dd38f286a32d42f0bf94f3621e670f5bd15f978' into watts-pe…
joseph-robertson Nov 21, 2023
e33cc92
Update project and lookup for fan efficiency arg.
joseph-robertson Nov 21, 2023
2b5fe40
Squashed 'resources/hpxml-measures/' changes from ee6abb726eee..522f1…
joseph-robertson Nov 21, 2023
5b3d989
Merge commit '2b5fe40b069c0f8bf89eacc4e75f7d707d7fe90f' into watts-pe…
joseph-robertson Nov 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions measures/ApplyUpgrade/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,11 @@ def run(model, runner, user_arguments)
measures['BuildResidentialHPXML'][0]['heat_pump_cooling_capacity'] = capacities['heat_pump_cooling_capacity']
measures['BuildResidentialHPXML'][0]['heat_pump_backup_heating_capacity'] = capacities['heat_pump_backup_heating_capacity']

# Retain HVAC airflows
airflows = get_airflows(hpxml_bldg)
measures['BuildResidentialHPXML'][0]['hvac_distribution_heating_airflow_cfm'] = airflows['heating_airflow_cfm']
measures['BuildResidentialHPXML'][0]['hvac_distribution_cooling_airflow_cfm'] = airflows['cooling_airflow_cfm']

# Retain Existing Heating System as Heat Pump Backup
heat_pump_backup_use_existing_system = measures['ResStockArguments'][0]['heat_pump_backup_use_existing_system']
if heat_pump_backup_use_existing_system == 'true'
Expand Down Expand Up @@ -643,6 +648,32 @@ def get_system_capacities(hpxml_bldg, system_upgrades)

return capacities
end

def get_airflows(hpxml_bldg)
airflows = {
'heating_airflow_cfm' => nil,
'cooling_airflow_cfm' => nil
}

hpxml_bldg.heating_systems.each do |heating_system|
next unless heating_system.primary_system

airflows['heating_airflow_cfm'] = heating_system.heating_airflow_cfm
end

hpxml_bldg.cooling_systems.each do |cooling_system|
next unless cooling_system.primary_system

airflows['cooling_airflow_cfm'] = cooling_system.cooling_airflow_cfm
end

hpxml_bldg.heat_pumps.each do |heat_pump|
airflows['heating_airflow_cfm'] = heat_pump.heating_airflow_cfm
airflows['cooling_airflow_cfm'] = heat_pump.cooling_airflow_cfm
end

return airflows
end
end

# register the measure to be used by the application
Expand Down
6 changes: 3 additions & 3 deletions measures/ApplyUpgrade/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>apply_upgrade</name>
<uid>33f1654c-f734-43d1-b35d-9d2856e41b5a</uid>
<version_id>8de2bf4d-f5d8-40fe-adb1-71dc7e9e72f9</version_id>
<version_modified>2023-11-01T17:36:01Z</version_modified>
<version_id>38e018bb-06e9-4fe9-b154-267392ca8bed</version_id>
<version_modified>2023-11-09T21:51:54Z</version_modified>
<xml_checksum>9339BE01</xml_checksum>
<class_name>ApplyUpgrade</class_name>
<display_name>Apply Upgrade</display_name>
Expand Down Expand Up @@ -6330,7 +6330,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>3055E9F4</checksum>
<checksum>B2FACF07</checksum>
</file>
<file>
<filename>constants.rb</filename>
Expand Down
10 changes: 2 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.1</schema_version>
<name>upgrade_costs</name>
<uid>ef51212c-acc4-48d7-9b29-cf2a5c6c4449</uid>
<version_id>b7e23fcc-8201-463f-bb3b-cb6c5d2b15ef</version_id>
<version_modified>2023-11-08T14:37:22Z</version_modified>
<version_id>b23939ef-a952-4195-9083-590556c61596</version_id>
<version_modified>2023-11-09T21:51:54Z</version_modified>
<xml_checksum>9BF1E6AC</xml_checksum>
<class_name>UpgradeCosts</class_name>
<display_name>Upgrade Costs</display_name>
Expand Down Expand Up @@ -173,12 +173,6 @@
<usage_type>test</usage_type>
<checksum>BD0C91AB</checksum>
</file>
<file>
<filename>SFD_2story_FB_UA_GRG_GSHP_ElecTanklessWH.xml</filename>
<filetype>xml</filetype>
<usage_type>test</usage_type>
<checksum>12672F1D</checksum>
</file>
<file>
<filename>SFD_2story_PB_UA_ElecFurnace_ElecTankWH.osw</filename>
<filetype>osw</filetype>
Expand Down
89 changes: 89 additions & 0 deletions project_national/national_upgrades2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
schema_version: '0.3'
os_version: '3.7.0-rc1'
os_sha: 211bb633b0
buildstock_directory: ../ # Relative to this file or absolute
project_directory: project_national # Relative to buildstock_directory
output_directory: national_upgrades
weather_files_url: https://data.nrel.gov/system/files/156/BuildStock_TMY3_FIPS.zip
# weather_files_path: c:/OpenStudio/BuildStock_TMY3_FIPS.zip

sampler:
type: residential_quota
args:
n_datapoints: 100

workflow_generator:
type: residential_hpxml
args:
build_existing_model:
simulation_control_timestep: 60
simulation_control_run_period_begin_month: 1
simulation_control_run_period_begin_day_of_month: 1
simulation_control_run_period_end_month: 12
simulation_control_run_period_end_day_of_month: 31
simulation_control_run_period_calendar_year: 2007

emissions:
- scenario_name: LRMER_MidCase_15
type: CO2e
elec_folder: data/cambium/2022/LRMER_MidCase_15

utility_bills:
- scenario_name: Bills

simulation_output_report:
timeseries_frequency: hourly
include_timeseries_total_consumptions: true
include_timeseries_fuel_consumptions: true
include_timeseries_end_use_consumptions: true
include_timeseries_emissions: true
include_timeseries_emission_fuels: true
include_timeseries_emission_end_uses: true
include_timeseries_hot_water_uses: true
include_timeseries_total_loads: true
include_timeseries_component_loads: true
include_timeseries_unmet_hours: true
include_timeseries_zone_temperatures: true
include_timeseries_airflows: true
include_timeseries_weather: true
include_timeseries_resilience: true

reporting_measures:
- measure_dir_name: QOIReport

server_directory_cleanup:
retain_in_idf: false
retain_schedules_csv: false

baseline:
n_buildings_represented: 139647020 # American Community Survey 2021 5-year, B25001, does not include territories ( 138765649 without AK and HI )

upgrades:
- upgrade_name: ASHP
options:
- &hvac_heating_efficiency_ashp_seer_22_10_hspf
option: HVAC Heating Efficiency|ASHP, SEER 22, 10 HSPF
apply_logic:
- HVAC Has Ducts|Yes
costs:
- value: 50.0
multiplier: Size, Heating System Primary (kBtu/h)
lifetime: 30
- &hvac_cooling_efficiency_ducted_heat_pump
option: HVAC Cooling Efficiency|Ducted Heat Pump
- &heat_pump_backup_use_existing_system
option: Heat Pump Backup|Use Existing System
- &hvac_distribution_use_existing_as_max_allowed
option: HVAC Distribution|Use Existing As Max Allowed
- &hvac_distribution_adjust_blower_fan_efficiency
option: HVAC Distribution|Adjust Blower Fan Efficiency

eagle:
n_jobs: 3
minutes_per_sim: 30
account: <account you are authorized to use>
postprocessing:
time: 20
n_workers: 1
sampling:
time: 5
10 changes: 5 additions & 5 deletions resources/hpxml-measures/.github/workflows/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
run-unit-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0-rc1
image: docker://nrel/openstudio:3.7.0-rc3
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -63,7 +63,7 @@ jobs:
run-workflow1-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0-rc1
image: docker://nrel/openstudio:3.7.0-rc3
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -86,7 +86,7 @@ jobs:
run-workflow2-tests:
runs-on: ubuntu-latest
container:
image: docker://nrel/openstudio:3.7.0-rc1
image: docker://nrel/openstudio:3.7.0-rc3
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -115,8 +115,8 @@ jobs:
- name: Install software and run test
shell: pwsh
run: |
$env:OS_VERSION="3.7.0-rc1"
$env:OS_SHA="211bb633b0"
$env:OS_VERSION="3.7.0-rc3"
$env:OS_SHA="37087fd612"
Invoke-WebRequest -OutFile Windows.tar.gz -URI "https://github.com/NREL/OpenStudio/releases/download/v${env:OS_VERSION}/OpenStudio-${env:OS_VERSION}+${env:OS_SHA}-Windows.tar.gz"
tar -xzf Windows.tar.gz
& .\OpenStudio-${env:OS_VERSION}+${env:OS_SHA}-Windows\bin\openstudio.exe workflow\run_simulation.rb -x workflow\sample_files\base.xml --hourly ALL --add-component-loads --add-stochastic-schedules
Expand Down
65 changes: 63 additions & 2 deletions resources/hpxml-measures/BuildResidentialHPXML/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1794,7 +1794,7 @@ The rated efficiency value of the cooling system. Ignored for evaporative cooler

**Cooling System: Cooling Compressor Type**

The compressor type of the cooling system. Only applies to central air conditioner. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>) is used.
The compressor type of the cooling system. Only applies to central air conditioner and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#central-air-conditioner'>Central Air Conditioner</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-air-conditioner'>Mini-Split Air Conditioner</a>) is used.

- **Name:** ``cooling_system_cooling_compressor_type``
- **Type:** ``Choice``
Expand Down Expand Up @@ -2009,7 +2009,7 @@ The rated cooling efficiency value of the heat pump.

**Heat Pump: Cooling Compressor Type**

The compressor type of the heat pump. Only applies to air-to-air. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>) is used.
The compressor type of the heat pump. Only applies to air-to-air and mini-split. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-to-air-heat-pump'>Air-to-Air Heat Pump</a>, <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#mini-split-heat-pump'>Mini-Split Heat Pump</a>) is used.

- **Name:** ``heat_pump_cooling_compressor_type``
- **Type:** ``Choice``
Expand Down Expand Up @@ -2315,6 +2315,67 @@ The heat load served fraction of the second heating system. Ignored if this heat

<br/>

**HVAC Distribution: Blower Fan Efficiency**

The blower fan efficiency at maximum fan speed. Applies only to Furnace heating system, central air conditioner and mini-split cooling systems, and air-to-air, mini-split, and ground-to-air heat pumps. If not provided, the OS-HPXML default is used.

- **Name:** ``hvac_distribution_fan_watts_per_cfm``
- **Type:** ``Double``

- **Units:** ``W/CFM``

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

<br/>

**HVAC Distribution: Adjust Blower Fan Efficiency**

Whether to adjust the blower fan efficiency based on the provided W/cfm and airflow rates, and autosized airflow rates.

- **Name:** ``hvac_distribution_adjust_blower_fan_efficiency``
- **Type:** ``Boolean``

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

<br/>

**HVAC Distribution: Heating Airflow Rate**

The heating airflow rate. Applies only to Furnace heating system, and air-to-air, mini-split, and ground-to-air heat pumps. If not provided, the OS-HPXML default is used.

- **Name:** ``hvac_distribution_heating_airflow_cfm``
- **Type:** ``Double``

- **Units:** ``CFM``

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

<br/>

**HVAC Distribution: Cooling Airflow Rate**

The cooling airflow rate. Applies only to central air conditioner and mini-split cooling systems, and air-to-air, mini-split, and ground-to-air heat pumps. If not provided, the OS-HPXML default is used.

- **Name:** ``hvac_distribution_cooling_airflow_cfm``
- **Type:** ``Double``

- **Units:** ``CFM``

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

<br/>

**HVAC Distribution: Use Maximum Airflow Rates**

Whether to use specified heating/cooling airflow rates as the maximum allowed.

- **Name:** ``hvac_distribution_use_maximum_airflow_rates``
- **Type:** ``Boolean``

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

<br/>

**HVAC Control: Heating Weekday Setpoint Schedule**

Specify the constant or 24-hour comma-separated weekday heating setpoint schedule. Required unless a detailed CSV schedule is provided.
Expand Down
Loading