-
Notifications
You must be signed in to change notification settings - Fork 58
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
Initializes nrcan_446 branch: skylights & wells #1854
base: nrcan
Are you sure you want to change the base?
Changes from 1 commit
2a4ed9b
9dd78b6
4fad85d
64536f3
32cb6f1
cfc5d71
4f72316
e60c1e1
68e3f30
6691d2c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -776,6 +776,7 @@ def apply_max_srr_nrcan(model:, srr_lim:, srr_opt: '') | |
sub_surface_create_scaled_subsurfaces_from_surface(surface: roof, area_fraction: srr_lim, construction: skylight_construct_set) | ||
end | ||
else # OPTION B | ||
TBD.clean! | ||
spaces = model.getSpaces | ||
types = model.getSpaceTypes | ||
roofs = TBD.facets(spaces, "Outdoors", "RoofCeiling") | ||
|
@@ -810,7 +811,7 @@ def apply_max_srr_nrcan(model:, srr_lim:, srr_opt: '') | |
# the requested skylight area, often by 10% to 15%. This makes it unfair | ||
# for NECBs, and more challenging when dealing with skylight wells. This | ||
# issue only applies with attics - not plenums. Trim down SRR if required. | ||
target = (srr_lim * graX / gra0) * graX | ||
target = (srr_lim * graX / gra0) * gra0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Silly mistake. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. todo: |
||
|
||
# Filtering out tiny roof surfaces, twisty corridors, etc. | ||
types = types.reject { |tp| tp.nameString.downcase.include?("undefined") } | ||
|
@@ -827,6 +828,7 @@ def apply_max_srr_nrcan(model:, srr_lim:, srr_opt: '') | |
spaces = spaces.select { |sp| types.include?(sp.spaceType.get) } | ||
|
||
TBD.addSkyLights(spaces, {area: target}) | ||
self.osut[:logs] = TBD.logs | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hold on to OSut logged messages, in case. |
||
|
||
skys = TBD.facets(model.getSpaces, "Outdoors", "Skylight") | ||
skm2 = skys.sum(&:grossArea) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,12 +37,12 @@ def test_necb_skylights() | |
'MediumOffice', | ||
# 'NorthernEducation', | ||
'QuickServiceRestaurant', | ||
# 'SmallOffice' | ||
'SmallOffice' | ||
] | ||
|
||
# NOTE: Skipping NorthernEducation for now: | ||
# - Standards.Model.rb:5432: warning: instance variable @space_type_map not initialized | ||
# - model works in isolation (e.g. SDK 3.6.1, 3.7.0, 3.8.0) | ||
# Minitest::UnexpectedError: RuntimeError: validation of model failed. | ||
# ... /openstudio-standards/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb:714:in `apply_loads' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Keep (invalid?) NorthernEducation model aside. |
||
|
||
# Range of test options. NECB2011 for now. Skipping later NECBs - they're | ||
# systematically easier to deploy, given their lower reference building SRR | ||
|
@@ -60,7 +60,6 @@ def test_necb_skylights() | |
@buildings.sort.each do |building| | ||
@templates.sort.each do |template| | ||
cas = "CASE #{option} | #{building} (#{template})" | ||
puts; puts; puts cas; puts "--- --- --- --- --- -- ---" | ||
srr = case template | ||
when 'NECB2020' then 0.02 | ||
when 'NECB2017' then 0.02 | ||
|
@@ -142,8 +141,6 @@ def test_necb_skylights() | |
# e.g. larger building footprint, wider overhangs. | ||
ratio = gra0.round > graX.round ? skm2 / graX : skm2 / gra0 | ||
|
||
puts; puts "#{gra0.round} vs #{graX.round} #{skm2.round}"; puts | ||
|
||
assert(ratio.round(2) == srr, "BTAP/OSut: Incorrect SRR (#{cas})?") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Although the requested SRR-based There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. todo : |
||
|
||
# Higher level feedback. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OSut piggy-backs on top of TBD. It shares the same internal logger. Clean reset.