-
Notifications
You must be signed in to change notification settings - Fork 2
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
urban_geometry is creating inconsistent construction assignments to adiabatic floor and ceiling surfaces #89
Comments
A long term fix is for openstudio-standards, the extension-gem and this to use the adiabatic field for default construction set. Unfortunately there is only a single field, not one for floor, roof, and walls. In other model articulation workflows (outside of urban_geometry measure) we also use adiabatic to represent party walls, but in those cases a hard coded construction could be applied. Note: even for roof ceiling the default isn't ideal, if for example you have carpet on the floor, and want to represent that in the adiabatic default. |
let's make sure to add a test to prevent this in the future. |
Test is good idea. Ideally we have a series of multi-repo workflow tests that run simulations and look at results; but if we want to write a measure test that just uses this repo we can create a seed model of the URBANopt workflow right after the blend measure. @tanushree04 a way to do that would be to set skip to true on all measure after blend and you can run it normally or with The problem here, if we are just using this measure and repo, is we would have to run it without a mechanical system, or with ideal air loads thrown in (or something simple written in the measure test). I think in the end something more basic here and then multi-repo managed elsewhere might be best for this. Maybe in or alongside the example project repo> |
I have added a test that loads in a model with a construction set assigned, it creates adiabatic surfaces for the model and hard assigns constructions, and checks whether the correct constructions were assigned from the construction set.
|
This was resulting in variation in simulation results most end uses (interior equipment and exterior lights) by up to 5% when re-running the same OSW multiple times. I tested runs with the OpenStudio CLI and using OpenStudio 2.9.1
The cause was here, where hard constructions are assigned and boundary conditions changed to adiabatic. I would have expected it to be wrong but in a consistent way, so I'll recommend two fixes.
First, the main issue, this line
urbanopt-geojson-gem/lib/urbanopt/geojson/model.rb
Line 75 in 954a044
Should be moved to just above this line
urbanopt-geojson-gem/lib/urbanopt/geojson/model.rb
Line 81 in 954a044
The reason for setting the boundary condition later is so that the line shown below here that gets the construction of the adjacent surface can run before the boundary condition of the adjacent surface is changed to
Outdoors
by the API when the primary surface is no longer connected by theSurface
boundary condition.urbanopt-geojson-gem/lib/urbanopt/geojson/model.rb
Line 77 in 954a044
Also just to provide a little more stability, when looping through surfaces, add
.sort
results are repeatable. `model.getSurfaces.sort.each do |surface|urbanopt-geojson-gem/lib/urbanopt/geojson/model.rb
Line 68 in 954a044
The text was updated successfully, but these errors were encountered: