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

Single-Unit Geometry #439

Merged
merged 382 commits into from
Feb 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
382 commits
Select commit Hold shift + click to select a range
afd61ae
yml update on Eagle [ci skip]
Mar 6, 2020
74e3d9e
add aws inputs in unit yml [ci skip]
aspeake Mar 6, 2020
8dcd26a
Merge branch 'singleunit' of github.com:NREL/OpenStudio-BuildStock in…
aspeake Mar 6, 2020
ea94eba
new SFA geometry measure for single unit testing; pull in latest exam…
aspeake Mar 6, 2020
628808f
single unit modeling capabilities for SFA homes [ci skip]
aspeake Mar 9, 2020
e51839c
change how neighbor shading works with adiabatic surfaces
aspeake Mar 11, 2020
3360f8e
specify mf/sfa building types when checking for single unit modeling …
aspeake Mar 11, 2020
9d185d2
remove debug statement, add buildstockcsv files
aspeake Mar 11, 2020
3750903
new buildstock.csvs for sfa testing
aspeake Mar 11, 2020
1e48bbb
fix bug in getting additional property
aspeake Mar 11, 2020
b3f97d7
checkout correct master mf geometry measure
aspeake Mar 12, 2020
1b9e240
update error checking for invalid horz_location
aspeake Mar 13, 2020
fcc4feb
update unit tests for single units
aspeake Mar 13, 2020
0ad53d8
new unit tests for MF single unit with foundation
aspeake Mar 13, 2020
56eaecd
unit tests for MF single unit error checking
aspeake Mar 13, 2020
82cec9b
update_measures
aspeake Mar 13, 2020
527bd3d
orient gable roofs same direction for all SFA configurations
aspeake Mar 17, 2020
636d15b
adding unit tests for single-unit modeling of SFA
aspeake Mar 17, 2020
f2c315d
update_measures
aspeake Mar 17, 2020
ce85d2a
regenerate_osms
aspeake Mar 17, 2020
af13592
Merge branch 'master' into singleunit
aspeake Mar 17, 2020
f715b63
update_measures
aspeake Mar 18, 2020
f9528cd
not counting shared walls of mf/sfa in partition wall thermal mass
aspeake Mar 18, 2020
7cadf93
add back storing unit information for sfa
aspeake Mar 19, 2020
81429bb
regenerate_osms
aspeake Mar 24, 2020
7e48981
remove singluenit testing project folder
aspeake Mar 24, 2020
44c455b
make cooridor floors adiabatic to avoid kiva errror
aspeake Mar 24, 2020
16dff23
update unit tests impacted by sfa and mf geometry changes
aspeake Mar 24, 2020
1d4192d
placeholder tsvs for single unit geometry inputs
aspeake Mar 24, 2020
376e1bf
fix errors in example osws
aspeake Mar 24, 2020
31cd067
small measure-info fix
aspeake Mar 24, 2020
d854c3f
regenerate_osms
aspeake Mar 25, 2020
77aa0a5
yml files for testing
aspeake Mar 26, 2020
ba97ad8
update missing parameters in test buildstocks
aspeake Mar 27, 2020
5735983
add missing options lookup rows
aspeake Mar 27, 2020
0c30477
regenerate buildstock csvs for eagle testing
aspeake Mar 27, 2020
0290870
yml updates on eagle [ci skip]
Apr 2, 2020
48f6f90
fix issue with exposed corridor perimeter
aspeake Apr 9, 2020
5779ea7
set minimal collapsed to false
Apr 15, 2020
db42ae1
prevent asymmetrical MF geometry [ci skip]
aspeake Apr 22, 2020
179de45
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 22, 2020
b5c74ad
updated tsvs for single unit inputs
aspeake Apr 23, 2020
bfab06a
small fix for neighbor shading
aspeake Apr 23, 2020
5b11fc5
Merge branch 'master' into singleunit
aspeake Apr 23, 2020
9db7bf1
update_measures
aspeake Apr 23, 2020
c568734
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 24, 2020
a3d5ee5
small yml update on eagle [ci skip]
Apr 24, 2020
a801f25
fix buildstocks that had invalid values [ci skip]
aspeake Apr 24, 2020
6178e71
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 24, 2020
0508074
add missing argument in buildstock csvs [ci skip]
aspeake Apr 24, 2020
bb66d07
yml update on eagle [ci skip]
Apr 24, 2020
30b9e88
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 24, 2020
f3f4308
update buildstock csvs for testing [ci skip]
aspeake Apr 27, 2020
28266b9
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 27, 2020
d6cbbd5
update buildstock csv for testing [ci skip]
aspeake Apr 28, 2020
72e83fb
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 28, 2020
96720e2
update buildstock csvs for testing [ci skip]
aspeake Apr 28, 2020
6f4ee11
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 28, 2020
98fcecf
update buildstock csvs for testing [ci skip]
aspeake Apr 28, 2020
444f5a7
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 28, 2020
ed4d990
error in buildstock csv [ci skip]
aspeake Apr 28, 2020
f3ed6e1
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
Apr 28, 2020
bf99c14
yml update on eagle [ci skip]
Apr 29, 2020
665a813
add back neighbors for all units [ci skip]
aspeake Apr 30, 2020
a5375ed
Update measures.
joseph-robertson May 1, 2020
ee13e1d
Merge branch 'master' into singleunit
joseph-robertson May 1, 2020
8e17d7c
buildstock.csvs for foundation testing
aspeake May 1, 2020
dab542c
Merge branch 'singleunit' of github.com:NREL/OpenStudio-BuildStock in…
aspeake May 1, 2020
f6d2d37
update missing options in sfa buildstocks [ci skip]
aspeake May 1, 2020
d161805
Few minor updates to new tsv files.
joseph-robertson May 1, 2020
9242b07
Merge branch 'singleunit' of github.com:NREL/OpenStudio-BuildStock in…
joseph-robertson May 1, 2020
60afa1e
update test buildstocks with new rear unit options [ci skip]
aspeake May 1, 2020
2572842
minor changes to write buildstocks notebook [ci skip]
aspeake May 1, 2020
027ad5a
make single unit arguments choice args [ci skip]
aspeake May 1, 2020
5493273
update geometry unit tests
aspeake May 4, 2020
ecf8a9c
regenerate_osms [ci skip]
aspeake May 5, 2020
59fafbc
new buildstock for component level testing [ci skip]
aspeake May 5, 2020
37b1bdc
clean up test files [ci skip]
aspeake May 5, 2020
ae5cb3c
yml updates on eagle [ci skip]
May 5, 2020
4e42017
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 5, 2020
c557d2f
fix input errors in buildstock and options lookup [ci skip]
aspeake May 6, 2020
1daceaa
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 6, 2020
6aa9516
fix neighbor shading height issue [ci skip]
aspeake May 6, 2020
43a4bb2
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 6, 2020
4500e18
update hvac sizing to use average foundation wall area [ci skip]
aspeake May 12, 2020
9370e53
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 12, 2020
3f326af
remove hard coded corridor width for hvac sizing
aspeake May 12, 2020
314b875
update foundations to 1 floor surface for exposed perimeter calcs [ci…
aspeake May 17, 2020
0c9c0d2
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 17, 2020
7c18e27
update foundation error and workaround for exposed perimeter bug [ci …
aspeake May 18, 2020
a1a9e20
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 18, 2020
565eeda
debugging; update buildstocks for testing [ci skip]
aspeake May 19, 2020
beaa0b6
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 19, 2020
891cf55
update foundation surface area calcs for sizing [ci skip]
aspeake May 21, 2020
05adfc9
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 21, 2020
612c15b
fix typo [ci skip]
aspeake May 21, 2020
0b68b81
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 21, 2020
3a38698
Merge remote-tracking branch 'origin/master' into singleunit
aspeake May 21, 2020
9281195
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 22, 2020
8b81cd3
new buildstock csvs for testing [ci skip]
aspeake May 22, 2020
e0b8875
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 22, 2020
f308ae0
missing option in test buildstock [ci skip]
aspeake May 26, 2020
59246e8
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 26, 2020
ba8ab5a
missing option in test buildstock [ci skip]
aspeake May 26, 2020
85262f0
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 26, 2020
33a9d3e
data type error in test buildstock [ci skip]
aspeake May 26, 2020
8ed102c
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 26, 2020
cbb19e5
data type error in test buildstock [ci skip]
aspeake May 26, 2020
a746067
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 26, 2020
19776e9
missing option in test buildstock [ci skip]
aspeake May 26, 2020
201ef50
Merge branch 'singleunit' of https://github.com/NREL/OpenStudio-Build…
May 26, 2020
c460deb
new SFA buildstocks for testing [ci skip]
aspeake May 28, 2020
07d875a
debugging and cleanup [ci skip]
aspeake May 28, 2020
26f3e86
yml updates on Eagle [ci skip]
May 28, 2020
64fa030
Merge branch 'singleunit' of github.com:NREL/OpenStudio-BuildStock in…
aspeake May 28, 2020
32aa9e9
make MF shared walls adiabatic for testing [ci skip]
aspeake May 29, 2020
34a172c
create individual foundation spaces for ground units in whole buildin…
aspeake May 29, 2020
5e97a01
fix bug for multiple unfinished basement spaces [ci skip]
aspeake Jun 1, 2020
c6e80e6
force adjacent corridor walls adiabatic [ci skip]
aspeake Jun 1, 2020
bc284c0
adiabatic surfaces for shared foundation walls [ci skip]
aspeake Jun 1, 2020
70869e9
fix for outdoor air fraction calc in whole building modeling [ci skip]
aspeake Jun 1, 2020
400de16
update exposed perimeter calcs for interior corridor floors [ci skip]
aspeake Jun 3, 2020
2102deb
make slabs adiabatic for testing [ci skip]
aspeake Jun 3, 2020
01368fe
cleanup [ci skip]
aspeake Jun 3, 2020
aa825ff
bug fix [ci skip]
Jun 3, 2020
7c8bc38
adiabatic boundaries for shared surfaces in SFA modeling [ci skip]
aspeake Jun 4, 2020
4c7874d
Merge branch 'singleunit' of github.com:NREL/OpenStudio-BuildStock in…
aspeake Jun 4, 2020
35115ef
small refactor [ci skip]
aspeake Jun 4, 2020
d0aeac8
update construction assignment for adiabatic surfaces [ci skip]
aspeake Jun 7, 2020
688d89e
update sfa buildstocks [ci skip]
aspeake Jun 7, 2020
e352b49
fix wrong option in buildstock.csv [ci skip]
aspeake Jun 7, 2020
ff552d0
remove shading for testing [ci skip]
aspeake Jun 10, 2020
83bd389
calculate below grade based on z vertex values [ci skip]
aspeake Jun 10, 2020
10272ae
no central systems in buildstock csvs [ci skip]
aspeake Jun 11, 2020
cc39fc1
fix incorrect option in buildstock csv [ci skip]
aspeake Jun 11, 2020
489a631
add back neighbors for adiabatic facades [ci skip]
aspeake Jun 12, 2020
d0887a7
adiabatic slabs for testing, adb corridors [ci skip]
aspeake Jun 15, 2020
17e93b4
fix bug with infiltration load calcs in sizing [ci skip]
aspeake Jun 17, 2020
6c2274a
regenerate buildstock for testing [ci skip]
aspeake Jun 17, 2020
680b5a4
fix bug for hvac sizing for buildings with slabs [ci skip]
aspeake Jun 24, 2020
c20c182
fix different bug for slab sizing calcs [ci skip]
aspeake Jun 24, 2020
24e4676
revert average foundation wall approach for sizing [ci skip]
aspeake Jun 24, 2020
19ebeef
update nearest neighbor calc to account for floating middle level uni…
aspeake Jun 26, 2020
da14527
make foundation corridor spaces adiabatic for MF [ci skip]
aspeake Jun 26, 2020
130ff00
fix sfa buildstock csv [ci skip]
aspeake Jul 1, 2020
4ec3d60
update geometry, infiltration, and sizing for individual attic spaces…
aspeake Jul 7, 2020
ce428f1
revert back adjustments to whole building MF geometry used for testin…
aspeake Jul 7, 2020
a1ed066
fix bug calculating building height for SFA in infiltration calcs [ci…
aspeake Jul 8, 2020
2baa705
remove central systems and limit units to 90 in SFA testing buildstoc…
aspeake Jul 9, 2020
736094e
fix incorrect SFA adiabatic shared surfaces for finished basements [c…
aspeake Jul 10, 2020
e279b02
update_measures
aspeake Jul 15, 2020
59ecf23
regnerate_osms
aspeake Jul 15, 2020
1f00ddd
update MF geometry unit tests
aspeake Jul 15, 2020
d4e9177
idvidual attic spaces for sfa hip roofs
aspeake Jul 16, 2020
77b10cb
regenerate_osms
aspeake Jul 29, 2020
c3228e9
update unit tests for single unit modeling approach
aspeake Jul 30, 2020
4362523
cleanup code
aspeake Jul 30, 2020
dd21b3e
regnerate osms
aspeake Jul 30, 2020
7b138a0
update unit tests for single unit modeling
aspeake Jul 30, 2020
847ce30
apply rubocop
aspeake Jul 30, 2020
964d130
Merge remote-tracking branch 'origin/master' into singleunit
aspeake Jul 30, 2020
e7db8ca
regenerate osms
aspeake Jul 31, 2020
a035f4b
update unit tests after merge
aspeake Jul 31, 2020
3c45cea
update unit tests after merge master
aspeake Aug 4, 2020
ad6a9a0
apply rubocop
aspeake Aug 4, 2020
5f78e3a
Merge remote-tracking branch 'origin/master' into singleunit
aspeake Aug 5, 2020
a4a61b4
cleanup test osws
aspeake Aug 5, 2020
cb2957f
regenerate osms, update measures
aspeake Aug 5, 2020
cfd89d6
Update nearest neighbor calculation to use distance between planes
aspeake Aug 6, 2020
5722680
apply rubocop
aspeake Aug 6, 2020
10bfc47
Merge remote-tracking branch 'origin/master' into singleunit
aspeake Aug 18, 2020
ee70cbf
saving changes to a conflicted file
aspeake Aug 19, 2020
19ed546
regenerate osms
aspeake Aug 19, 2020
2dc6da8
update unit test for single unit geometry
aspeake Aug 19, 2020
e82ec6b
fix bug assigning internal mass
aspeake Aug 19, 2020
6f52c5b
temporary fix to crawlspace wall type for SFD testing
aspeake Aug 20, 2020
97f3ff3
temporary fix to basement wall type of adiabatic walls for SFD testing
aspeake Aug 20, 2020
ff7b502
cleanup comments
aspeake Aug 20, 2020
bac6983
some clean up
aspeake Aug 21, 2020
0526ee4
new buildstocks for SFA and MF testing
aspeake Aug 21, 2020
edebd02
update to master geometry measures used in testing
aspeake Aug 21, 2020
6701a25
update missing arguments in test buildstocks
aspeake Aug 21, 2020
e8cb72d
another fix to test buildstocks
aspeake Aug 21, 2020
665ff99
yet another buildstock csv fix [ci skip]
aspeake Aug 21, 2020
b82019a
add back check for adiabatic foundation walls
aspeake Aug 24, 2020
e33a1f1
remove shared systems from whole building buildstock csvs [ci skip]
aspeake Aug 24, 2020
739fefc
fixed seed in schedule generation for testing
aspeake Aug 25, 2020
b385e6d
remove shared adiabatic walls for whole building modeling [ci skip]
aspeake Aug 26, 2020
53adffa
calculate partition existing wall area by unit [ci skip]
aspeake Aug 26, 2020
58a0e53
minor fix, updates for testing
aspeake Sep 18, 2020
c8160b7
minor fixes
aspeake Sep 23, 2020
92c06ea
Merge remote-tracking branch 'origin/master' into singleunit
aspeake Sep 23, 2020
61e4803
Remove facade area check for small window areas, re-distribute window…
aspeake Sep 30, 2020
cd61dac
remove old code; revert MF adiabatic walls, eaves, exterior corridor
aspeake Oct 21, 2020
eef8d01
Merge remote-tracking branch 'origin/master' into singleunit
aspeake Oct 21, 2020
bfa24e9
regenerate osms, apply rubocop
aspeake Oct 21, 2020
09779eb
fix failing unit tests for wall measures
aspeake Oct 21, 2020
d3caede
update window geometry for window areas less than minimum
aspeake Oct 22, 2020
3c7bb34
apply rubocop
aspeake Oct 22, 2020
7643e97
remove debug code
aspeake Nov 6, 2020
9bdf5e8
update yml files on eagle [ci skip]
Nov 6, 2020
9c4f9d5
Merge branch 'singleunit' of github.com:NREL/OpenStudio-BuildStock in…
aspeake Nov 6, 2020
89f3760
correct failing unit test
aspeake Nov 6, 2020
40e57e4
apply rubocop
aspeake Nov 6, 2020
243fa9c
Merge remote-tracking branch 'origin/master' into singleunit
aspeake Nov 12, 2020
1604571
Merge remote-tracking branch 'origin/master' into singleunit
aspeake Nov 12, 2020
9ec76f6
remove debug statement
aspeake Nov 12, 2020
f874311
fix wall and roof surface area calculation for mf building
aspeake Dec 11, 2020
670d61c
update unit tests for MF corridor fix
aspeake Dec 11, 2020
8516884
apply rubocop
aspeake Dec 11, 2020
694e58e
Merge remote-tracking branch 'origin/develop' into singleunit
aspeake Dec 11, 2020
0d9f911
remove minimal_collapsed arguments in measures and test files
aspeake Dec 11, 2020
71bd621
fix adiabatic wall for shared corridor walls, update unit tests for w…
aspeake Dec 11, 2020
54e0133
update unit tests after exterior corridor wall area fix
aspeake Dec 11, 2020
e609e53
apply rubocop
aspeake Dec 11, 2020
011c8c3
update mf geometry tests for adjacent adiabatic corridor surface fix
aspeake Dec 11, 2020
91c6fcc
remove minimal_collapsed argument from options_lookup
aspeake Dec 11, 2020
2ad771f
Merge remote-tracking branch 'origin/develop' into singleunit
aspeake Dec 11, 2020
495f68f
update changelog
aspeake Dec 16, 2020
0140c00
Merge remote-tracking branch 'origin/develop' into singleunit
aspeake Dec 18, 2020
28da2f7
remove units represented variables
aspeake Dec 21, 2020
e2bac2b
apply rubocop
aspeake Dec 21, 2020
9c06067
remove checks for single unit approach in airflow calculations
aspeake Dec 22, 2020
d0116ec
add back code removed for testing
aspeake Dec 22, 2020
8c157a3
removing unnecessary code
aspeake Dec 22, 2020
78ae960
remove checks for single unit approach in construction measures
aspeake Dec 22, 2020
5e888ae
apply rubocop
aspeake Dec 22, 2020
a3fda62
Merge remote-tracking branch 'origin/develop' into singleunit
aspeake Jan 4, 2021
d6231bf
Merge branch 'develop' into singleunit
joseph-robertson Jan 7, 2021
1bd87da
clean up code, remove references to units represented
aspeake Jan 8, 2021
b0ce636
Merge branch 'singleunit' of https://github.com/NREL/resstock into si…
aspeake Jan 8, 2021
359d28e
remove whole building MF/SFA measures used in testing
aspeake Jan 11, 2021
c778bb5
regenerate test osms
aspeake Jan 11, 2021
0bd1732
Merge remote-tracking branch 'origin/develop' into singleunit
aspeake Jan 12, 2021
a20cc9f
add back supplemental heating meter in reporting
aspeake Jan 12, 2021
b650c1c
add new corridor option in rear units tsv
aspeake Jan 13, 2021
26a13b2
fix float error in tsvs
aspeake Jan 13, 2021
e55fb51
Merge remote-tracking branch 'origin/develop' into singleunit
aspeake Jan 21, 2021
e49d5c2
update duct surface area tests for single unit; regenerate test osms
aspeake Jan 21, 2021
d303a1a
fix data type error
aspeake Jan 26, 2021
bf25abd
new tests for reporting surface areas of single units
aspeake Jan 27, 2021
3d749d2
fix foundation corridor roof boundary condition
aspeake Jan 27, 2021
32ce35b
minor bug fix for MF geometry
aspeake Jan 27, 2021
c9e8558
Merge remote-tracking branch 'origin/develop' into singleunit
aspeake Jan 27, 2021
b62a552
new buildstocks for central system testing
aspeake Feb 4, 2021
16dbc54
remove central HVAC variables in reporting
aspeake Feb 5, 2021
b00448f
remove central system variables from timeseries csv reporting
aspeake Feb 8, 2021
62ac525
clean up code
aspeake Feb 8, 2021
283f39d
update changelog
aspeake Feb 8, 2021
e1d985f
remove some comments
aspeake Feb 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
## ResStock v2.5.0 (pending)

Features

- Model multifamily and single-family attached buildings as individual dwelling units ([#439](https://github.com/NREL/resstock/pull/439))

## ResStock v2.4.0

###### January 27, 2021 - [Diff](https://github.com/NREL/OpenStudio-BuildStock/compare/v2.3.0...v2.4.0)

Features
Expand Down
2 changes: 0 additions & 2 deletions measures/BuildExistingModel/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,6 @@ def run(model, runner, user_arguments)
runner.registerInfo("The weather station WMO has not been set appropriately in the EPW weather file header.")
end
end
register_value(runner, "units_represented", "#{model.getBuilding.additionalProperties.getFeatureAsInteger("Total Units Represented").get}")
register_value(runner, "units_modeled", "#{model.getBuilding.additionalProperties.getFeatureAsInteger("Total Units Modeled").get}")

# Determine weight
if number_of_buildings_represented.is_initialized
Expand Down
6 changes: 3 additions & 3 deletions measures/BuildExistingModel/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<schema_version>3.0</schema_version>
<name>build_existing_model</name>
<uid>dedf59bb-3b88-4f16-8755-2c1ff5519cbf</uid>
<version_id>589f537a-de41-4f1c-8997-86951e87356a</version_id>
<version_modified>20201209T001937Z</version_modified>
<version_id>c26430a3-f4e7-4053-8320-df9478ceac30</version_id>
<version_modified>20201221T160302Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildExistingModel</class_name>
<display_name>Build Existing Model</display_name>
Expand Down Expand Up @@ -81,7 +81,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>F22ACF6E</checksum>
<checksum>ECB064F0</checksum>
</file>
</files>
</measure>
6 changes: 3 additions & 3 deletions measures/PowerOutage/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<schema_version>3.0</schema_version>
<name>process_power_outage</name>
<uid>6b822ead-80f5-4d8d-9642-25a4e0d74304</uid>
<version_id>54acb969-8bcd-49fe-9bda-acc7d587c33f</version_id>
<version_modified>20200715T232323Z</version_modified>
<version_id>cb3c99f5-47ee-4ab5-af30-05ba9e794e7b</version_id>
<version_modified>20200804T161333Z</version_modified>
<xml_checksum>D8922A73</xml_checksum>
<class_name>ProcessPowerOutage</class_name>
<display_name>Set Residential Power Outage</display_name>
Expand Down Expand Up @@ -83,7 +83,7 @@
<filename>power_outage_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>6A3FED12</checksum>
<checksum>0C28662D</checksum>
</file>
</files>
</measure>
5 changes: 3 additions & 2 deletions measures/PowerOutage/tests/power_outage_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,15 @@ def test_outage_more_than_one_day
end

def test_outage_less_than_one_day_dst_mf
num_units = 1
args_hash = {}
args_hash["otg_date"] = "June 2"
args_hash["otg_hr"] = 8
args_hash["otg_len"] = 8
expected_num_del_objects = {}
expected_num_new_objects = { "ScheduleRule" => 10, "ScheduleDay" => 10, "ScheduleFixedInterval" => 1 }
expected_num_new_objects = { "ScheduleRule" => 6, "ScheduleDay" => 6, "ScheduleFixedInterval" => 1 }
expected_values = {}
_test_measure("MF_Successful_EnergyPlus_Run_TMY_Appl_PV.osm", args_hash, expected_num_del_objects, expected_num_new_objects, expected_values, 27)
_test_measure("MF_Successful_EnergyPlus_Run_TMY_Appl_PV.osm", args_hash, expected_num_del_objects, expected_num_new_objects, expected_values, 22)
end

def test_outage_short_run_period
Expand Down
76 changes: 7 additions & 69 deletions measures/SimulationOutputReport/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,8 @@ def run(runner, user_arguments)

report_sim_output(runner, "total_site_electricity_kwh", electricity.total_end_uses[0] + electricity.photovoltaics[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_heating_kwh", electricity.heating[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_central_system_heating_kwh", electricity.central_heating[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_heating_supplemental_kwh", electricity.heating_supplemental[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_cooling_kwh", electricity.cooling[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_central_system_cooling_kwh", electricity.central_cooling[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_interior_lighting_kwh", electricity.interior_lighting[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_exterior_lighting_kwh", electricity.exterior_lighting[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_exterior_holiday_lighting_kwh", electricity.exterior_holiday_lighting[0], "GJ", elec_site_units)
Expand All @@ -184,18 +182,14 @@ def run(runner, user_arguments)
return false
end

total_units_represented = 0
units.each do |unit|
unit_name = unit.name.to_s.upcase
total_units_represented += output_meters.get_units_represented(unit)

modeledElectricityFansHeating = output_meters.add_unit(sqlFile, modeledElectricityFansHeating, 1, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYFANSHEATING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityFansCooling = output_meters.add_unit(sqlFile, modeledElectricityFansCooling, 1, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYFANSCOOLING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityPumpsHeating = output_meters.add_unit(sqlFile, modeledElectricityPumpsHeating, 1, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYPUMPSHEATING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityPumpsCooling = output_meters.add_unit(sqlFile, modeledElectricityPumpsCooling, 1, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYPUMPSCOOLING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityFansHeating = output_meters.add_unit(sqlFile, modeledElectricityFansHeating, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYFANSHEATING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityFansCooling = output_meters.add_unit(sqlFile, modeledElectricityFansCooling, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYFANSCOOLING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityPumpsHeating = output_meters.add_unit(sqlFile, modeledElectricityPumpsHeating, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYPUMPSHEATING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityPumpsCooling = output_meters.add_unit(sqlFile, modeledElectricityPumpsCooling, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('#{unit_name}:ELECTRICITYPUMPSCOOLING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
end
modeledElectricityPumpsHeating = output_meters.add_unit(sqlFile, modeledElectricityPumpsHeating, 1, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('CENTRAL:ELECTRICITYPUMPSHEATING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")
modeledElectricityPumpsCooling = output_meters.add_unit(sqlFile, modeledElectricityPumpsCooling, 1, "SELECT VariableValue/1000000000 FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName IN ('CENTRAL:ELECTRICITYPUMPSCOOLING') AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')")

electricityFans = 0.0
unless sqlFile.electricityFans.empty?
Expand All @@ -221,17 +215,14 @@ def run(runner, user_arguments)
return false
end
report_sim_output(runner, "electricity_pumps_heating_kwh", electricity.pumps_heating[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_central_system_pumps_heating_kwh", electricity.central_pumps_heating[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_pumps_cooling_kwh", electricity.pumps_cooling[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_central_system_pumps_cooling_kwh", electricity.central_pumps_cooling[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_water_systems_kwh", electricity.water_systems[0], "GJ", elec_site_units)
report_sim_output(runner, "electricity_pv_kwh", electricity.photovoltaics[0], "GJ", elec_site_units)

# NATURAL GAS

report_sim_output(runner, "total_site_natural_gas_therm", natural_gas.total_end_uses[0], "GJ", gas_site_units)
report_sim_output(runner, "natural_gas_heating_therm", natural_gas.heating[0], "GJ", gas_site_units)
report_sim_output(runner, "natural_gas_central_system_heating_therm", natural_gas.central_heating[0], "GJ", gas_site_units)
unless include_enduse_subcategories
report_sim_output(runner, "natural_gas_interior_equipment_therm", natural_gas.interior_equipment[0], "GJ", gas_site_units)
end
Expand All @@ -241,14 +232,12 @@ def run(runner, user_arguments)

report_sim_output(runner, "total_site_fuel_oil_mbtu", fuel_oil.total_end_uses[0], "GJ", other_fuel_site_units)
report_sim_output(runner, "fuel_oil_heating_mbtu", fuel_oil.heating[0], "GJ", other_fuel_site_units)
report_sim_output(runner, "fuel_oil_central_system_heating_mbtu", fuel_oil.central_heating[0], "GJ", other_fuel_site_units)
report_sim_output(runner, "fuel_oil_water_systems_mbtu", fuel_oil.water_systems[0], "GJ", other_fuel_site_units)

# PROPANE

report_sim_output(runner, "total_site_propane_mbtu", propane.total_end_uses[0], "GJ", other_fuel_site_units)
report_sim_output(runner, "propane_heating_mbtu", propane.heating[0], "GJ", other_fuel_site_units)
report_sim_output(runner, "propane_central_system_heating_mbtu", propane.central_heating[0], "GJ", other_fuel_site_units)
unless include_enduse_subcategories
report_sim_output(runner, "propane_interior_equipment_mbtu", propane.interior_equipment[0], "GJ", other_fuel_site_units)
end
Expand All @@ -267,13 +256,6 @@ def run(runner, user_arguments)
propane.total_end_uses[0] +
wood.total_end_uses[0]

if units.length == total_units_represented
err = totalSiteEnergy - sqlFile.totalSiteEnergy.get
if err.abs > 0.5
runner.registerError("Disaggregated total site energy (#{totalSiteEnergy} GJ) relative to building total site energy (#{sqlFile.totalSiteEnergy.get} GJ): #{err} GJ.")
return false
end
end
report_sim_output(runner, "total_site_energy_mbtu", totalSiteEnergy + electricity.photovoltaics[0], "GJ", total_site_units)

# LOADS NOT MET
Expand Down Expand Up @@ -500,11 +482,6 @@ def get_cost_multiplier(cost_mult_type, model, runner)
units.each do |unit|
next if unit.spaces.empty?

units_represented = 1
if unit.additionalProperties.getFeatureAsInteger("Units Represented").is_initialized
units_represented = unit.additionalProperties.getFeatureAsInteger("Units Represented").get
end

cost_mult = 0.0
if cost_mult_type == "Fixed (1)"
cost_mult += 1.0
Expand Down Expand Up @@ -849,22 +826,10 @@ def get_cost_multiplier(cost_mult_type, model, runner)
end
end # spaces

cost_mult *= units_represented
total_cost_mult += cost_mult
end # units
cost_mult = total_cost_mult

total_units_represented = 0
units.each do |unit|
units_represented = 1
if unit.additionalProperties.getFeatureAsInteger("Units Represented").is_initialized
units_represented = unit.additionalProperties.getFeatureAsInteger("Units Represented").get
end
total_units_represented += units_represented
end

collapsed_factor = Float(total_units_represented) / units.length

if cost_mult_type == "Wall Area, Above-Grade, Conditioned (ft^2)"
# Walls between conditioned space and 1) outdoors or 2) unconditioned space
model.getSurfaces.each do |surface|
Expand Down Expand Up @@ -901,36 +866,9 @@ def get_cost_multiplier(cost_mult_type, model, runner)
next if surface.surfaceType.downcase != "wall"
next if surface.outsideBoundaryCondition.downcase != "ground" and surface.outsideBoundaryCondition.downcase != "foundation"

foundation_walls << surface
# Collapsed foundation wall area (walls below units + corridor)
cost_mult += UnitConversions.convert(surface.grossArea, "m^2", "ft^2")
end

model.getSurfaces.each do |surface|
space = surface.space.get
next if surface.surfaceType.downcase != "floor"
next if surface.outsideBoundaryCondition.downcase == "ground" or surface.outsideBoundaryCondition.downcase == "foundation"
next if space.zOrigin != 0

floor_surface = surface

units_represented = 1
if space.buildingUnit.is_initialized
unit = space.buildingUnit.get
if unit.additionalProperties.getFeatureAsInteger("Units Represented").is_initialized
units_represented = unit.additionalProperties.getFeatureAsInteger("Units Represented").get
end
end

next if units_represented <= 1 # Walls under collapsed units are already added

connected_found_walls = Geometry.get_walls_connected_to_floor(foundation_walls, floor_surface, same_space = false)
connected_found_walls.each do |surface|
# Add the collapsed walls below units
cost_mult += UnitConversions.convert(surface.grossArea, "m^2", "ft^2") * (units_represented - 1)
end
end

elsif cost_mult_type == "Floor Area, Conditioned (ft^2)"
# Floors of conditioned zone
model.getSurfaces.each do |surface|
Expand Down Expand Up @@ -958,7 +896,7 @@ def get_cost_multiplier(cost_mult_type, model, runner)
next if adjacent_space.nil?
next if not is_space_conditioned(adjacent_space)

cost_mult += UnitConversions.convert(surface.grossArea, "m^2", "ft^2") * collapsed_factor
cost_mult += UnitConversions.convert(surface.grossArea, "m^2", "ft^2")
end

elsif cost_mult_type == "Floor Area, Lighting (ft^2)"
Expand All @@ -981,7 +919,7 @@ def get_cost_multiplier(cost_mult_type, model, runner)
next if surface.surfaceType.downcase != "roofceiling"
next if surface.outsideBoundaryCondition.downcase != "outdoors"

cost_mult += UnitConversions.convert(surface.grossArea, "m^2", "ft^2") * collapsed_factor
cost_mult += UnitConversions.convert(surface.grossArea, "m^2", "ft^2")
end

elsif cost_mult_type == "Window Area (ft^2)"
Expand All @@ -1008,7 +946,7 @@ def get_cost_multiplier(cost_mult_type, model, runner)
surface.subSurfaces.each do |sub_surface|
next if not sub_surface.subSurfaceType.downcase.include? "door"

cost_mult += UnitConversions.convert(sub_surface.grossArea, "m^2", "ft^2") * collapsed_factor
cost_mult += UnitConversions.convert(sub_surface.grossArea, "m^2", "ft^2")
end
end

Expand Down
8 changes: 4 additions & 4 deletions measures/SimulationOutputReport/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<schema_version>3.0</schema_version>
<name>simulation_output_report</name>
<uid>fc337100-8634-404e-8966-01243d292a79</uid>
<version_id>68ae8c8a-440d-42af-95f8-61b2886a3ad8</version_id>
<version_modified>20210126T201925Z</version_modified>
<version_id>f9f570e1-7937-4d4f-9eb7-0c608b0f4e56</version_id>
<version_modified>20210205T210653Z</version_modified>
<xml_checksum>2C8A3EEF</xml_checksum>
<class_name>SimulationOutputReport</class_name>
<display_name>Simulation Output Report</display_name>
Expand Down Expand Up @@ -57,13 +57,13 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>F530F923</checksum>
<checksum>3A118833</checksum>
</file>
<file>
<filename>simulation_output_report_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>07F7BA35</checksum>
<checksum>2714AA75</checksum>
</file>
</files>
</measure>
Loading