Skip to content

Commit

Permalink
Squashed 'resources/hpxml-measures/' changes from e2f00fa6fdd5..fec82…
Browse files Browse the repository at this point in the history
…30241dd

fec8230241dd Merge pull request #1437 from NREL/peak_elec_annual_output
6ce4cac311e1 Latest results.
e3e3eedac4ab Adds "Peak Electricity: Annual Total (W)" output.
733135a96a4c Oops.
3de7069d6de9 Merge pull request #1436 from NREL/space_heater
80a9dc867448 Latest results.
6f85ab912c10 Replaces `PortableHeater` and `FixedHeater` with `SpaceHeater`.
20e965eebac7 Merge pull request #1212 from NREL/batteries2-resilience
c4fb04316921 Latest results.
d39b516a9794 Minor tweaks to changelog, docs. [ci skip]
176ba83e36c8 Merge branch 'master' into batteries2-resilience
1f113e818e63 Merge pull request #1431 from NREL/bugfix-cond-basement-full-slab-ins
9857a70be762 Latest results.
510a02215792 Bugfix.
b3e69f1c578f Add test file that illustrates error.
f0402154a396 Minor updates to docs. [ci skip]
420eb2675d46 Skip resilience calcs based on include args.
9ab39d9b7925 Further reduce duplicated code.
a9188d845eaf Add output test for monthly resilience.
40f047428a5e Simplify forcing monthly outputs.
324ddf237905 Clean up in changelog, arg descs, docs.
dc64a8284c77 Update ReportSimulationOutput/measure.rb
df29e9c6e8e0 One more documentation update, suggested by Scott.
fc00a8a7f57b Merge branch 'batteries2-resilience' of https://github.com/NREL/OpenStudio-HPXML into batteries2-resilience
1f712063b7b1 Update documentation
f9d741dce4f3 Latest results.
47a24358a8e3 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into batteries2-resilience
1c6099208411 Merge pull request #1426 from NREL/fix_sum_error
f986911f7865 Latest results.
63b55fe33663 Fixes possible "Electricity category end uses do not sum to total" error for a heat pump w/o backup.
36d72559915f Merge pull request #1340 from NREL/mobile_home_belly_ducts
af2b74ba2ea9 Need to remove it from here too.
402957ef52bc Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into mobile_home_belly_ducts
7e9f9b29d9d3 Update line endings
3eb69d2a153b Update line endings
ad466492a7a9 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into mobile_home_belly_ducts
78c8d1dbe467 Add gitattributes to prevent HPXML EOL diffs
48d29e5983f9 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into mobile_home_belly_ducts
c429b1fcac9e Latest results.
448c4c7c0324 Merge branch 'master' into batteries2-resilience
0a519a7ccbe7 Merge pull request #1408 from NREL/build-res-sch-file-readme
a4e4ca1b38c0 Merge branch 'master' into build-res-sch-file-readme
3e8347e49545 Merge pull request #1420 from NREL/schedules_with_mixed_timesteps
52af200f738a Expand the original schedules hash.
f247eebdef0b Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into schedules_with_mixed_timesteps
95cbda0eeda2 Merge pull request #1365 from NREL/monthly-bill-outputs
e3f9ab90940f Latest results.
5a0dd75b92a0 Remove whitespace. [ci skip]
a9fd090c0d2e Try updated method with 3 unique schedule lengths.
4f7a10a6fd41 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
4182197f28cd Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into monthly-bill-outputs
13e10a4db4c6 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into schedules_with_mixed_timesteps
deb2c5e0e2de Merge pull request #1423 from NREL/hp_equal_lockout_temps
38edf06ae52f Latest results.
8465951f0932 Latest results.
ec971eb705d1 Fixes error if heat pump `CompressorLockoutTemperature` == `BackupHeatingLockoutTemperature`.
4199ec71b539 removing unnecessary water heater in mobile home belly testing file
77f664ef98f7 Latest results.
7db0d5f1a8b0 Add sample file with outage and mixed schedules.
57a44a8f480c fixing water heater error messages in tests
66d5d6443f0b Update the changelog. [ci skip]
9b00b5a926d0 adding break for defaulting skirt present
b1cb896a35cc no longer allow belly for water heater location
ed2121a4eb78 updating docs for manufacture home belly in UnitLocation
d568fd0993d4 Apply suggestions from code review
de18878824c4 Latest results.
5f9548df843c Set setpoint args to null in new sample file.
154b45476a11 Update export method to expand schedules with fewer elements.
ca1764845b8a Correctly handle not including annual bills file.
24ee417c9ae6 Update remaining tests.
f55f603b9637 Demonstrate error.
2bd7616626b9 Refactor bill test file.
fd1ef0e01d2b Get only monthly values in run period.
dcb7cce561f0 Update the docs.
8a12ae9a423a Latest results.
5bf22a413da4 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into mobile_home_belly_ducts
99676f08a1c7 Simplify run_simulation.rb by removing some rarely used options. [ci skip]
ab25d31eeb82 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into monthly-bill-outputs
97a94432e70f Merge pull request #1403 from NREL/foundation_translation
3286f37c63fc Latest results.
80cf2bc8aed5 Update measure xml file.
6f547063888d Merge branch 'master' into build-res-sch-file-readme
bb7939512bb9 Update test.
e09e31a0b113 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into foundation_translation
ed91076b2a08 Merge pull request #1417 from NREL/lighting_kwh_multiplier_bugfix
1baf8cc397aa Latest results.
4d529ae5b7b1 Bugfix.
5aa9394e7a37 Latest results.
84e4cb293154 One more minor bugfix.
d8872d323a16 Fixes lighting multipliers not being applied when kWh/yr inputs are used.
3b51b59733bd updating docs for AssemblyRValue of manufactured home belly
91e059687beb removing commented out NoWind for ASHRAE 140 becasue it's being done elsewhere
c94a03640b62 updating changelog
2d32801ffc79 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
5b8c76dda7d1 Merge branch 'master' into monthly-bill-outputs
6bd47d9fe23d Merge branch 'master' into batteries2-resilience
12333b110368 Merge pull request #1414 from NREL/heating_system_2
0ac7de4c9fc0 Re-enable warning. [ci skip]
2f3bc9c1efe6 Latest results.
2936f8c5a7dd Remove fixme comment.
46de010faba9 Use msgpack meterdata for monthly timestamps.
a77f9a04d074 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into batteries2-resilience
ba7d63c1860a Remove debug stuff
103fe6eea5e9 Fix tests.
9f93842b8d4c Update tests for new monthly file format.
98c00b77600e Round monthly results.
7d8502cff372 Write monthly bills to look like timeseries.
0ed9fd4facf0 Latest results.
b0a6d62c4074 Apply rubocop.
bbcea368f5fe Merge branch 'batteries2-resilience' of github.com:NREL/OpenStudio-HPXML into batteries2-resilience
4b122becf850 Add ems battery loss to crit_load.
efda915e5bc1 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
d7cb726c5e6a moving floors over ambient back down to z=0 for ASHRAE 140 tests
05455328110e Merge branch 'batteries2-resilience' of https://github.com/NREL/OpenStudio-HPXML into batteries2-resilience
326307cef8d3 Some updates to resilience calculations, Joe is going to help me take battery losses out of the Electricity:Facility so I can wrap up testing. Thanks Joe!
59035cc33920 Merge pull request #1415 from NREL/v170
84c729f12687 Minor cleanup. [ci skip]
ce091d164238 Merge branch 'v170' of https://github.com/NREL/OpenStudio-HPXML into monthly-bill-outputs
e6eab0a1c1a7 Prep for v1.7.0
ca2c03de14a5 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into monthly-bill-outputs
fedffb1040b2 Latest results.
11542a1ad267 adding validation of manufactured home belly only on manufactured home building types
40e72b24ad80 adding mobile home belly to water heater enums
38be4eddab56 updating hpxml schema to add mobile home belly to UnitLocation
b97255638c6f Latest results.
ac559fd95a27 update xmls
3ed6d39dcb93 update measure.xml
f88c04f4d5cc Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
f798647d40fc Latest results.
fb2fd345e3db Fix bugs related to hvac distribution assignment.
69937ba9750a Add sample file for shared boiler with secondary fireplace.
f1ecdf84f9bf Latest results.
8e7b8e485815 Merging in some of the other checks from REopt: we weren't actually charging the battery off of PV if you're net generating in the prior implementation, and we should be.
3b9f0fd87f44 Latest results.
fd20aec87ce9 Try a return when batt_soc is not positive.
20fd0758e93a Merge branch 'master' into batteries2-resilience
223240d1fc43 Update the readme in the resources folder for the build res sch file measure.
f21ac6dae570 Latest results.
24d7f1105e1e Merge branch 'foundation_translation' of https://github.com/NREL/OpenStudio-HPXML into foundation_translation
6ce183979108 Small bugfix for foundation wall design load calculation. Code cleanup.
30a4916f328d Latest results.
d0ae074d1722 Collapse foundation walls that only differ by below-grade depth and calculate an effective below-grade depth. This can improve runtime for e.g. homes with walkout basements.
e2f4747a8d9a Latest results.
44095896b102 Use identical insulation properties across similar foundation walls in the two HPXML files. Small HVAC sizing improvement.
3899cc54b654 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into foundation_translation
2cff2ae3ee63 Merge pull request #1405 from NREL/foundation_hpxmls
a2d07f76b2d2 Latest results.
6c6279b24503 Cleanup some HPXML files with respect to foundation inputs.
d560ac81eb74 Latest results.
9fb058aa509d Fix CI test.
c02b5b45a75b Update HPXMLs, bugfix, and cleanup.
846dde37a5ea Test monthly total across fuel types.
726b6404805d PV credit to final month, and add monthly total across fuel types.
b766d90d67ea Improve some of the real_homes HPXML files. Further simplify/refactor translation code.
220b81355a34 Merge branch 'master' into monthly-bill-outputs
145dda31352e Merge branch 'foundation_translation' of https://github.com/NREL/OpenStudio-HPXML into foundation_translation
49b9f2f4c5b8 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into foundation_translation
302603ffa86f Latest results.
3d161738ebe0 Merge branch 'master' into batteries2-resilience
fd183472538e Latest results.
a6bc2d71544b Latest results.
dce58403929c No longer require Slab/DepthBelowGrade for certain foundation types. Some cleanup and additional tests.
6a05f7d0fd7b Merge branch 'master' into monthly-bill-outputs
d79630236cca Finished first pass
4b444e462bc3 First pass on simple case (base.xml)
9964e09a5368 Add unit tests.
53033487f021 Merge branch 'batteries2-resilience' of github.com:NREL/OpenStudio-HPXML into batteries2-resilience
39485542b0a4 Update output tests.
c385add00f8c Ensure a msgpack for extracting timestamps.
2616fef13023 Latest results.
fd0c5be78d90 Update the docs.
6b68fdb071cb Update the changelog.
ef05ac18b913 Move annual resilience outputs reporting down toward the end.
3a64f0f66c06 Latest results.
a770bbd2c53a Merge branch 'master' into batteries2-resilience
a8f4f2ee9cda Set year to hpxml sim calendar year.
8d440e2f5996 Fix for when not requesting resilience timeseries.
f04d1ddf2cbe Bit of converting duplicate code into a method.
b575f78be843 Merge branch 'batteries2-resilience' of github.com:NREL/OpenStudio-HPXML into batteries2-resilience
e1372800c0c8 Refactor to support non hourly reporting.
a3ed2f224408 Latest results.
5b3c4a9a5a08 Merge branch 'master' into batteries2-resilience
efc840216a5d Latest results.
b433d069d5f0 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
3fa2b549173c changing epvalidator to look for 'manufactured home underbelly'
4ddb0a8b1a38 updating EPvalidator with manufactured home belly in UnitLocation
3421d6a7d02e updating with latest hpxml v4_0
007b35f85cc4 update_hpxmls
da526490e4f4 update_measures
5df205e64b12 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
feb88fa69866 Merge branch 'batteries2-resilience' of https://github.com/NREL/OpenStudio-HPXML into batteries2-resilience
382e22d678ff Clean up some other approaches
4c9a9f74e733 Latest results.
6a3f5c8d26b2 Merge branch 'batteries2-resilience' of https://github.com/NREL/OpenStudio-HPXML into batteries2-resilience
ae552b4caa46 Updates to the logic for calculating resilience hours. Working on checking against OCHRE, still need to test short timesteps. Also comparing against OCHRE calcs. (keeping some debug print statements until that's done)
1a80225c28d8 Latest results.
90b260fc635b Merge branch 'master' into batteries2-resilience
3f0dfd0af833 Few minor updates to bill test file.
20e8362fe07c Latest results.
253b2a39d3b8 Reimplement the monthly utility bill tests.
088e1a9a43a8 update measures
601468fb4708 fixing surroundings generation
2b8f2f76f166 update_hpxmls
b3420f5b5f44 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
87d0f523676f Revert monthly utility bill tests.
fc6548530a0c adding schematron rule for floor adjacent to manufactured home underbelly
dfd2b59464de update_measures
b12753cc5353 Apply suggestions from code review
822f5b15d4b8 Merge branch 'master' into monthly-bill-outputs
8b87618c5129 Latest results.
ea065ee97f3f update_measures
6f8da5f2bcde update_hpxmls
640def684803 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
0eaadc62d577 Latest results.
8b506efa4210 Merge branch 'master' into monthly-bill-outputs
fd788b44b2c7 Update the docs.
f2a771af741d Separate method for producing monthly utility bills output file.
e21c801366e2 Merge branch 'master' into monthly-bill-outputs
eeba3bb71073 Merge branch 'master' into monthly-bill-outputs
017aa799faaf fixing messed up merge of hvac_sizing.rb
614181c08f8d Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
2e6aef680f46 Simplify code to assign production credit to final month.
3984b17191e0 Fix docs table.
ddced2708b0f Force decimals in bill init.
79f246470a1b Update the docs.
d75820b8aed3 Remove unused header pass.
91b480e69c4f Merge branch 'master' into monthly-bill-outputs
433bce54234c Latest results.
151dc7f23280 Introduce annual resilience arg.
04408e1188f0 Another arg update after merge.
4121597242f5 Latest results.
37ad00529211 Update arg after merge.
e4245aaf39c4 Merge branch 'master' into batteries2-resilience
40feb886ad6f updating docs
e22bccd6d684 updating measures
34f8cb93e2a1 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
def742c18a9b removing need to have a Foundation element for belly and wing
9c3af10a679f Latest results.
e10adcc9512c fixing tests for mobile home simulations
9b25bb9a9e55 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
7b8ad890e254 Adding a mobile home without a skirt
a0a396f95961 Update the changelog. [ci skip]
adf545e17daf Fix monthly pv credit and tests.
9bd53ac6464d Default to generating both annual and monthly bills.
710521d9fe88 Fix docs and set monthly in run_simulation.
39fc065ffc78 now with mobile home skirt in BuildResidentialHPXML
55e6047c5824 updating BuildResidentialHPXML to output manufactured homes
6d37d55d95a8 Update the docs.
c9583ef43a34 Include monthly totals when requesting monthly outputs.
17ac7e915d07 Update the changelog.
0358c0517e37 Make annual and monthly bill outputs optional.
0b38b81e41f2 Latest results.
c8f13fe957cb Merge branch 'master' into monthly-bill-outputs
bc792715b9d0 Ignore monthly bills in stored results.
1c9c797a13e8 Fix docs table formatting.
d6d1d38f55b5 Latest results.
ee1a1fe38942 Fix tests.
9e3ffda63968 Update docs and changelog. [ci skip]
de33f498df34 Fix utility bills test file.
2ccb81114e81 Update the docs.
7e91efe2d88c Offset month index so we can output correctly.
033af691cedc Bump month index by start month.
cf8e9112b053 Output monthly fixed and energy by fuel type.
0e359588682d Latest results.
6a473fa488ee updating HPXML.xsd
2ad17ae0dfdb Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
353868f4149b Latest results.
121be9502607 fixing test errors
45e5d1611aaf updating error message in schema test
8e664d685b9f raising up belly and wing and ambient foundations 2 ft
090ed747468b removing debugging print statement
ebda9ed62b52 fix indent [skip ci]
85dad6674449 Merge remote-tracking branch 'origin/master' into mobile_home_belly_ducts
3299b70a8850 adding ducts in manufactured home belly
0f0713e5be8e modeling under belly as ambient, wind follows skirting
fa20f2a45e37 it runs
414b702b5b76 saving my place in some broken code
8728ef88d1f7 renaming to belly_wing_skirt_present
ba36c22bc1e6 adding BellyAndWing to Foundation class in hpxml.rb
f766c913f38b adding special case duct location code for mobile home belly
22d0920d7a0f Latest results.
a143ee03512a Merge branch 'master' into batteries2-resilience
5770bddbbd2c Latest results.
914f34bdee64 Add reporting test for non hourly resilience.
35ecb0002941 Only report resilience timeseries if hourly.
441c25f1de9c Merge branch 'master' into batteries2-resilience
fb57a34069c2 Latest results.
de4904a4be4a Merge branch 'master' into batteries2-resilience
4acd25c07ad2 Merge branch 'batteries2-resilience' of github.com:NREL/OpenStudio-HPXML into batteries2-resilience
41efbe09e809 Update new output reporting test.
8c7d20c91d5c Latest results.
f1d4a11f376c Merge branch 'master' into batteries2-resilience
24d22bd22f02 Latest results.
ee3dcf25c18f Update run_simulation script for new resilience timeseries argument.
59206a0f7af4 Add ability to request resilience timeseries.
b937c0e75151 Merge branch 'master' into batteries2-resilience
077649102549 Latest results.
a36e6b80acd1 Incorecctly sppelled output meter.
043c731dba81 Pass in roundtrip efficiency and clean things up.
68b669dd710e Merge branch 'master' into batteries2-resilience
9a1d392f0643 Save progress.
cc6aaf3d564f Merge branch 'batteries2' into batteries2-resilience
41d79e8bdfff Merge branch 'batteries2' into batteries2-resilience
44e0939315eb Calculating actual resilience hour values now.
f8849a7efc5a Merge branch 'batteries2' into batteries2-resilience
c6ee97f50988 Remove debug.
46e95eb723ab Stub actual resilience calc method.
866e5aedfaaf Merge branch 'batteries2' into batteries2-resilience
01eeee05ada7 Define new output.

git-subtree-dir: resources/hpxml-measures
git-subtree-split: fec8230241dde87a121ace9ab33770da880a4a1e
  • Loading branch information
joseph-robertson committed Jul 17, 2023
1 parent a2a437f commit a875840
Show file tree
Hide file tree
Showing 480 changed files with 260,427 additions and 203,926 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Declare files that will always have CRLF line endings on checkout.

workflow/**/*.xml text eol=crlf
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.ruby-version
/coverage
/docs/_build
/results
Expand Down
52 changes: 33 additions & 19 deletions BuildResidentialHPXML/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
unit_type_choices << HPXML::ResidentialTypeSFD
unit_type_choices << HPXML::ResidentialTypeSFA
unit_type_choices << HPXML::ResidentialTypeApartment
unit_type_choices << HPXML::ResidentialTypeManufactured

arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_unit_type', unit_type_choices, true)
arg.setDisplayName('Geometry: Unit Type')
Expand Down Expand Up @@ -317,6 +318,8 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
foundation_type_choices << HPXML::FoundationTypeBasementConditioned
foundation_type_choices << HPXML::FoundationTypeAmbient
foundation_type_choices << HPXML::FoundationTypeAboveApartment # I.e., adiabatic
foundation_type_choices << "#{HPXML::FoundationTypeBellyAndWing}WithSkirt"
foundation_type_choices << "#{HPXML::FoundationTypeBellyAndWing}NoSkirt"

arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('geometry_foundation_type', foundation_type_choices, true)
arg.setDisplayName('Geometry: Foundation Type')
Expand Down Expand Up @@ -1007,9 +1010,8 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
heating_system_type_choices << HPXML::HVACTypeBoiler
heating_system_type_choices << HPXML::HVACTypeElectricResistance
heating_system_type_choices << HPXML::HVACTypeStove
heating_system_type_choices << HPXML::HVACTypePortableHeater
heating_system_type_choices << HPXML::HVACTypeSpaceHeater
heating_system_type_choices << HPXML::HVACTypeFireplace
heating_system_type_choices << HPXML::HVACTypeFixedHeater
heating_system_type_choices << "Shared #{HPXML::HVACTypeBoiler} w/ Baseboard"
heating_system_type_choices << "Shared #{HPXML::HVACTypeBoiler} w/ Ductless Fan Coil"

Expand Down Expand Up @@ -1357,9 +1359,8 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
heating_system_2_type_choices << HPXML::HVACTypeBoiler
heating_system_2_type_choices << HPXML::HVACTypeElectricResistance
heating_system_2_type_choices << HPXML::HVACTypeStove
heating_system_2_type_choices << HPXML::HVACTypePortableHeater
heating_system_2_type_choices << HPXML::HVACTypeSpaceHeater
heating_system_2_type_choices << HPXML::HVACTypeFireplace
heating_system_2_type_choices << HPXML::HVACTypeFixedHeater

arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('heating_system_2_type', heating_system_2_type_choices, true)
arg.setDisplayName('Heating System 2: Type')
Expand Down Expand Up @@ -1450,6 +1451,7 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
duct_location_choices << HPXML::LocationOtherHeatedSpace
duct_location_choices << HPXML::LocationOtherMultifamilyBufferSpace
duct_location_choices << HPXML::LocationOtherNonFreezingSpace
duct_location_choices << HPXML::LocationManufacturedHomeBelly

arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('ducts_leakage_units', duct_leakage_units_choices, true)
arg.setDisplayName('Ducts: Leakage Units')
Expand Down Expand Up @@ -3499,7 +3501,7 @@ def self.create_geometry_envelope(runner, model, args)
args[:geometry_foundation_height] = 0.0
args[:geometry_foundation_height_above_grade] = 0.0
args[:geometry_rim_joist_height] = 0.0
elsif args[:geometry_foundation_type] == HPXML::FoundationTypeAmbient
elsif (args[:geometry_foundation_type] == HPXML::FoundationTypeAmbient) || args[:geometry_foundation_type].start_with?(HPXML::FoundationTypeBellyAndWing)
args[:geometry_rim_joist_height] = 0.0
end

Expand All @@ -3514,6 +3516,8 @@ def self.create_geometry_envelope(runner, model, args)
success = Geometry.create_single_family_attached(model: model, **args)
elsif args[:geometry_unit_type] == HPXML::ResidentialTypeApartment
success = Geometry.create_apartment(model: model, **args)
elsif args[:geometry_unit_type] == HPXML::ResidentialTypeManufactured
success = Geometry.create_single_family_detached(runner: runner, model: model, **args)
end
return false if not success

Expand Down Expand Up @@ -3895,7 +3899,7 @@ def self.set_site(hpxml, args)
hpxml.site.vertical_surroundings = HPXML::VerticalSurroundingsNoAboveOrBelow
end
end
elsif [HPXML::ResidentialTypeSFD].include? args[:geometry_unit_type]
elsif [HPXML::ResidentialTypeSFD, HPXML::ResidentialTypeManufactured].include? args[:geometry_unit_type]
hpxml.site.surroundings = HPXML::SurroundingsStandAlone
hpxml.site.vertical_surroundings = HPXML::VerticalSurroundingsNoAboveOrBelow
end
Expand Down Expand Up @@ -4368,10 +4372,6 @@ def self.set_slabs(hpxml, model, args, sorted_surfaces)
exposed_perimeter -= Geometry.get_unexposed_garage_perimeter(**args)
end

if [HPXML::LocationLivingSpace, HPXML::LocationGarage].include? interior_adjacent_to
depth_below_grade = 0
end

if args[:slab_under_width] == 999
under_slab_insulation_spans_entire_slab = true
else
Expand Down Expand Up @@ -4400,7 +4400,6 @@ def self.set_slabs(hpxml, model, args, sorted_surfaces)
perimeter_insulation_r_value: args[:slab_perimeter_insulation_r],
under_slab_insulation_r_value: args[:slab_under_insulation_r],
under_slab_insulation_spans_entire_slab: under_slab_insulation_spans_entire_slab,
depth_below_grade: depth_below_grade,
carpet_fraction: carpet_fraction,
carpet_r_value: carpet_r_value)
@surface_ids[surface.name.to_s] = hpxml.slabs[-1].id
Expand Down Expand Up @@ -4450,7 +4449,7 @@ def self.set_windows(hpxml, model, args, sorted_subsurfaces)
end

# Get max z coordinate of this window
sub_surface_z = Geometry.getSurfaceZValues([sub_surface]).max + UnitConversions.convert(sub_surface.space.get.zOrigin, 'm', 'ft')
sub_surface_z = Geometry.get_surface_z_values([sub_surface]).max + UnitConversions.convert(sub_surface.space.get.zOrigin, 'm', 'ft')

overhangs_depth = args[:geometry_eaves_depth]
overhangs_distance_to_top_of_window = eaves_z - sub_surface_z # difference between max z coordinates of eaves and this window
Expand Down Expand Up @@ -4603,19 +4602,33 @@ def self.set_foundations(hpxml, args)
next unless (foundation_locations.include? surface.interior_adjacent_to) ||
(foundation_locations.include? surface.exterior_adjacent_to) ||
(surf_type == 'slabs' && surface.interior_adjacent_to == HPXML::LocationLivingSpace) ||
(surf_type == 'floors' && surface.exterior_adjacent_to == HPXML::LocationOutside)
(surf_type == 'floors' && [HPXML::LocationOutside, HPXML::LocationManufacturedHomeUnderBelly].include?(surface.exterior_adjacent_to))

surf_hash['ids'] << surface.id
end
end

if args[:geometry_foundation_type].start_with?(HPXML::FoundationTypeBellyAndWing)
foundation_type = HPXML::FoundationTypeBellyAndWing
if args[:geometry_foundation_type].end_with?('WithSkirt')
belly_wing_skirt_present = true
elsif args[:geometry_foundation_type].end_with?('NoSkirt')
belly_wing_skirt_present = false
else
fail 'Unepected belly and wing foundation type.'
end
else
foundation_type = args[:geometry_foundation_type]
end

hpxml.foundations.add(id: "Foundation#{hpxml.foundations.size + 1}",
foundation_type: args[:geometry_foundation_type],
foundation_type: foundation_type,
attached_to_slab_idrefs: surf_ids['slabs']['ids'],
attached_to_floor_idrefs: surf_ids['floors']['ids'],
attached_to_foundation_wall_idrefs: surf_ids['foundation_walls']['ids'],
attached_to_wall_idrefs: surf_ids['walls']['ids'],
attached_to_rim_joist_idrefs: surf_ids['rim_joists']['ids'])
attached_to_rim_joist_idrefs: surf_ids['rim_joists']['ids'],
belly_wing_skirt_present: belly_wing_skirt_present)
end

def self.set_heating_systems(hpxml, args)
Expand All @@ -4639,9 +4652,8 @@ def self.set_heating_systems(hpxml, args)
heating_efficiency_afue = args[:heating_system_heating_efficiency]
elsif [HPXML::HVACTypeElectricResistance,
HPXML::HVACTypeStove,
HPXML::HVACTypePortableHeater,
HPXML::HVACTypeFireplace,
HPXML::HVACTypeFixedHeater].include?(heating_system_type)
HPXML::HVACTypeSpaceHeater,
HPXML::HVACTypeFireplace].include?(heating_system_type)
heating_efficiency_percent = args[:heating_system_heating_efficiency]
end

Expand Down Expand Up @@ -4941,7 +4953,7 @@ def self.set_secondary_heating_systems(hpxml, args)

if [HPXML::HVACTypeFurnace, HPXML::HVACTypeWallFurnace, HPXML::HVACTypeFloorFurnace].include?(heating_system_type) || heating_system_type.include?(HPXML::HVACTypeBoiler)
heating_efficiency_afue = args[:heating_system_2_heating_efficiency]
elsif [HPXML::HVACTypeElectricResistance, HPXML::HVACTypeStove, HPXML::HVACTypePortableHeater, HPXML::HVACTypeFireplace].include?(heating_system_type)
elsif [HPXML::HVACTypeElectricResistance, HPXML::HVACTypeStove, HPXML::HVACTypeSpaceHeater, HPXML::HVACTypeFireplace].include?(heating_system_type)
heating_efficiency_percent = args[:heating_system_2_heating_efficiency]
end

Expand Down Expand Up @@ -5001,6 +5013,8 @@ def self.set_hvac_distribution(hpxml, args)
# FanCoil?
fan_coil_distribution_systems = []
hpxml.heating_systems.each do |heating_system|
next unless heating_system.primary_system

if args[:heating_system_type].include?('Fan Coil')
fan_coil_distribution_systems << heating_system
end
Expand Down
68 changes: 40 additions & 28 deletions BuildResidentialHPXML/measure.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0"?>
<measure>
<schema_version>3.0</schema_version>
<schema_version>3.1</schema_version>
<name>build_residential_hpxml</name>
<uid>a13a8983-2b01-4930-8af2-42030b6e4233</uid>
<version_id>61a17495-a6d8-4328-a2c6-341c8ef4300c</version_id>
<version_modified>20230519T183248Z</version_modified>
<version_id>88fef79c-0316-4d9a-bd2a-20c5e8cfa794</version_id>
<version_modified>2023-07-14T15:38:31Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildResidentialHPXML</class_name>
<display_name>HPXML Builder</display_name>
Expand Down Expand Up @@ -553,6 +553,10 @@
<value>apartment unit</value>
<display_name>apartment unit</display_name>
</choice>
<choice>
<value>manufactured home</value>
<display_name>manufactured home</display_name>
</choice>
</choices>
</argument>
<argument>
Expand Down Expand Up @@ -808,6 +812,14 @@
<value>AboveApartment</value>
<display_name>AboveApartment</display_name>
</choice>
<choice>
<value>BellyAndWingWithSkirt</value>
<display_name>BellyAndWingWithSkirt</display_name>
</choice>
<choice>
<value>BellyAndWingNoSkirt</value>
<display_name>BellyAndWingNoSkirt</display_name>
</choice>
</choices>
</argument>
<argument>
Expand Down Expand Up @@ -2082,17 +2094,13 @@
<display_name>Stove</display_name>
</choice>
<choice>
<value>PortableHeater</value>
<display_name>PortableHeater</display_name>
<value>SpaceHeater</value>
<display_name>SpaceHeater</display_name>
</choice>
<choice>
<value>Fireplace</value>
<display_name>Fireplace</display_name>
</choice>
<choice>
<value>FixedHeater</value>
<display_name>FixedHeater</display_name>
</choice>
<choice>
<value>Shared Boiler w/ Baseboard</value>
<display_name>Shared Boiler w/ Baseboard</display_name>
Expand Down Expand Up @@ -2802,17 +2810,13 @@
<display_name>Stove</display_name>
</choice>
<choice>
<value>PortableHeater</value>
<display_name>PortableHeater</display_name>
<value>SpaceHeater</value>
<display_name>SpaceHeater</display_name>
</choice>
<choice>
<value>Fireplace</value>
<display_name>Fireplace</display_name>
</choice>
<choice>
<value>FixedHeater</value>
<display_name>FixedHeater</display_name>
</choice>
</choices>
</argument>
<argument>
Expand Down Expand Up @@ -3052,6 +3056,10 @@
<value>other non-freezing space</value>
<display_name>other non-freezing space</display_name>
</choice>
<choice>
<value>manufactured home belly</value>
<display_name>manufactured home belly</display_name>
</choice>
</choices>
</argument>
<argument>
Expand Down Expand Up @@ -3175,6 +3183,10 @@
<value>other non-freezing space</value>
<display_name>other non-freezing space</display_name>
</choice>
<choice>
<value>manufactured home belly</value>
<display_name>manufactured home belly</display_name>
</choice>
</choices>
</argument>
<argument>
Expand Down Expand Up @@ -6670,18 +6682,6 @@
</attribute>
</attributes>
<files>
<file>
<filename>geometry.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>E8F9FEA0</checksum>
</file>
<file>
<filename>build_residential_hpxml_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>010244DB</checksum>
</file>
<file>
<version>
<software_program>OpenStudio</software_program>
Expand All @@ -6691,7 +6691,19 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>AE26AEE7</checksum>
<checksum>86A85792</checksum>
</file>
<file>
<filename>geometry.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>6D43B4D8</checksum>
</file>
<file>
<filename>build_residential_hpxml_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>D9387578</checksum>
</file>
</files>
</measure>
Loading

0 comments on commit a875840

Please sign in to comment.