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

Update Infiltration.tsv based on the Residential Diagnostics Database. #427

Merged
merged 7 commits into from
Mar 25, 2020

Conversation

afontani
Copy link
Contributor

@afontani afontani commented Mar 19, 2020

Pull Request Description

Companion PR: resstock-estimation #20

The purpose of this pull request is to diversify and update the infiltration housing characteristic. Currently, infiltration is based on the regression from Chan et al. (also based on LBL ResDB). As the regression produces a single infiltration value for a given set of input parameters, the probability distributions specified in the Infiltration.tsv are binary (only 0 and 1). In reality, the distributions are more continuous.

In this pull request, the Infiltration.tsv has been updated with data from the Residential Diagnostics Database (ResDB). The cumulative distribution functions (CDFs) for air change at 50 Pa (ACH50) have been downloaded from their website. Each CDF from the website was fit with a lognormal distribution. The fitted lognormal distribution is then used to assign probabilities into the infiltration bins in ResStock.

Assumptions

It is worth pointing out a few of the assumptions in the distributions.

  • The CDFs are for Single-Family Detached homes only. However, ResStock currently does not distinguish infiltration rates between building types.
  • Data from certain IECC climate zones were copied to other climate zones. IECC climate zone 2A was copied to 1A. IECC climate zone 6A was copied to 7A. IECC climate zone 6B was copied to 7B.
  • The ResStock vintage bins are more refined than the bins in ResDB. As a result certain decade bins had to be copied to other bins. CFDs from the 1950s were copied to the 1940s and the <1940. CFDs from the 2000s were copied to the 2010s.
  • Homes are assumed to not be Weatherization Assistance Program (WAP) qualified and not ENERGY STAR certified.
  • When obtaining the CDFs, the floor area value was set to be the total_ffa and unit_ffa for the Geometry Floor Area characteristic in options_lookup.tsv.

Checklist

Not all may apply:

  • Unit tests have been added or updated
  • All rake tasks have been run, and pass
  • Documentation has been modified appropriately
  • Any new options are added to project_testing
  • project_testing runs without any failures
  • No unexpected regression test changes
  • All tests are passing (green) on circleci
  • The changelog has been updated appropriately
  • This branch is up-to-date with master

For more information on how to perform these checklist items, see the documentation's Advanced Tutorial.

@afontani
Copy link
Contributor Author

afontani commented Mar 19, 2020

Goodness of fit for the lognormal distributions.

After scraping the data from ResDB, the figure attached have some quality metrics on the goodness of fit for the lognormal distributions. The error is the L2 distance between the fitted and the data from ResDB. The maximum error is 6.4%.
image

@afontani
Copy link
Contributor Author

afontani commented Mar 19, 2020

Dependency Selection

ResDB has a lot of different values that could be a dependency in the Infiltration.tsv file.

  • Vintage
  • Geometry Foundation Type
  • Geometry Floor Area
  • Geometry Stories
  • IECC Climate Zone

Using each of these as a dependency would result in a file of approximately 100k rows. To reduce the number of rows (and thus the number of dependencies), an analysis was performed to quantify their contribution towards modifying the probability distributions. For each dependency, the L2 distance was used to quantify the amount the dependency changes the distribution. The following algorithm was used.

  1. Calculate the average distribution for the USA using the bins in the Infiltration.tsv.
  2. For each dependency candidate
    a. Add a dependency
    b. Quantify how much the distribution changed when adding the dependency.
    c. Remove the dependency
  3. Select the dependency that changes the average distribution the largest.
  4. Repeat steps 2-3 until there are no other dependencies.

This process gives a ranked list of the dependencies and their importance to probabilities in the housing characteristic. Below is a table of the distances (larger is better) for the current housing characteristic in master and the new housing characteristic based on ResDB.
image

The values from the current version in master are larger because of the binary nature of the numbers.

New Dependencies

The dependencies chosen for the new tsv are:

  • Vintage
  • Geometry Floor Area
  • ASHRAE IECC Climate Zone 2004.

The parameters that were not selected, their PDFs are averaged. This selection reduces the number of rows to ~12,000.

@afontani
Copy link
Contributor Author

afontani commented Mar 19, 2020

Impact on Infiltration rates

For the US, the median infiltration rate will increase.
Master: 8.84 ACH50
ResDB: 13.07 ACH50

Below is a CDF plot of what is in ResStock now (Master) and the update (ResDB)
image

@codecov-io
Copy link

Codecov Report

Merging #427 into master will increase coverage by 16.09%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           master     #427       +/-   ##
===========================================
+ Coverage   77.32%   93.41%   +16.09%     
===========================================
  Files          86      168       +82     
  Lines       28360    49389    +21029     
===========================================
+ Hits        21928    46139    +24211     
+ Misses       6432     3250     -3182     
Impacted Files Coverage Δ
...Coil/tests/process_central_system_fan_coil_test.rb 91.84% <0.00%> (ø)
...ate_residential_geometry_from_floorspacejs_test.rb 100.00% <0.00%> (ø)
project_testing/tests/test.rb 84.61% <0.00%> (ø)
...ts/process_constructions_windows_skylights_test.rb 100.00% <0.00%> (ø)
...eport/tests/construction_properties_report_test.rb 100.00% <0.00%> (ø)
measures/TimeseriesCSVExport/measure.rb 93.43% <0.00%> (ø)
...ricsReport/tests/resilience_metrics_report_test.rb 98.26% <0.00%> (ø)
measures/QOIReport/measure.rb 34.13% <0.00%> (ø)
...s/process_central_system_boiler_baseboards_test.rb 100.00% <0.00%> (ø)
...sts/process_two_speed_air_source_heat_pump_test.rb 100.00% <0.00%> (ø)
... and 156 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f9199dc...77bf0d4. Read the comment docs.

The 4000+ bin ignores the 12,291 ft2 and the 13,414 ft2 entries for Single-Family Attached and Multi-Family. The values seemed too tight and there was not a smooth trans
ition between the 3000-3999 bin and the 4000+ bin. As a result the Single-Family Detached square footage value (8194 ft2) is used for the 4000+ bin.
@afontani afontani merged commit 24ac114 into master Mar 25, 2020
@afontani afontani deleted the infiltration branch March 25, 2020 04:32
joseph-robertson added a commit that referenced this pull request Jun 26, 2020
947481a7c Merge branch 'master' into build-res-hpxml-v3
a0464a7f1 Merge pull request #424 from NREL/ideal-system
1758bc7ed Clean up some argument descriptions.
092322600 Switch to a single heating system efficiency arg.
b1d2db658 Update docs. [ci skip]
db048d552 Merge branch 'ideal-system' of https://github.com/NREL/OpenStudio-HPXML into ideal-system
8cc7249f5 resolve report test issue
294bb45b8 Updates for coal fuel type.
bfec5cdc9 Found a few more places to use the new hpxml methods.
284a6e25a Merge branch 'master' into build-res-hpxml-v3
650d71d63 update_measures
b0dee0c59 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ideal-system
ce8f5d66e total check no longer applicable
8e8a864b5 Merge pull request #428 from NREL/skylight-ufactor-fix
cb8299a29 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into skylight-ufactor-fix
22425cb7c Merge pull request #431 from NREL/more-fuel-types
3e20fcae8 Rename FuelTypeWood to FuelTypeWoodCord and some small code refactoring in the reporting measure.
949fd9caa ideal system unmet load test not applicable
d76ba3d5d report only residual ideal system unmet load
1631ac67e Add energyplus.rb resource w/ a few constants and methods to simplify code.
a5fb4c4c2 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ideal-system
ac119d2af Prevent coal from being an option for some heating systems in EPvalidator, rather than catching it in hvac.rb.
cfcb1644e Oops.
ef423877c Merge pull request #429 from NREL/load-warnings
82937fdfb Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into load-warnings
326ddd0a2 Allow additional HPXML fuel types for HVAC systems, water heating systems, and appliances. (Coal and similar fuel types are only allowed for boilers, not other heating system types, due to a limitation in the E+ Coil:Heating:Fuel object.)
bc842481a Revert some unexpected changes, and bugfix..
9b9833a92 bugfix
96564091f Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ideal-system
d132da8c9 Update docs and minor updates to defaults.
c3d4362f1 Add warnings for plug/fuel loads that are not modeled.
f5b85eb49 Merge pull request #427 from NREL/other-heated-space-is-thermal-boundary
2244b940c Converts skylight NFRC U-factor (at 20-degree slope) to SimpleGlazingSystem model input (vertical position).
6ac3f6446 Treat HPXML::LocationOtherHeatedSpace as a conditioned space for HPXML::is_thermal_boundary methods.
96e2a4040 Merge pull request #426 from NREL/eri-end-uses
5fce3a8e3 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ideal-system
e5db62006 Exclude unused end uses for ERI outputs.
5391b8814 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into ideal-system
77ef1e190 bugfix
863ee94a9 two ideal systems

git-subtree-dir: resources/hpxml-measures
git-subtree-split: 947481a7c3447c2712015848354ca943b6288b10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants