2

Script for autosizing OS models?

Hello everyone,

I exported an OSM file from CBECC-Com which already had the proposed system capacities. Instead of manually autosizing the system, I wanted to know if there is a script I can use. I tried the 'Autosize' measure from BCL, but the capacities weren't autosized. Am I missing anything? Can I get some help on this? I am using OS 2.5 version. Thanks

Ranjani's avatar
499
Ranjani
asked 2018-10-03 18:14:27 -0500
__AmirRoth__'s avatar
4.4k
__AmirRoth__
updated 2018-10-04 08:31:54 -0500
edit flag offensive 0 remove flag close merge delete

Comments

What is the name of the measure on the BCL that you are using?

David Goldwasser's avatar David Goldwasser (2018-10-03 22:04:58 -0500) edit

@davidgoldwasser Sorry I am not able to find the measure in the BCL library. Is there a script available that I can use?

Ranjani's avatar Ranjani (2018-10-03 22:30:08 -0500) edit

David- Do you know if there are any scripts available for autoszing the OS model extracted from CBecc-Com?

Ranjani's avatar Ranjani (2018-10-04 14:12:42 -0500) edit
add a comment see more comments

3 Answers

2

When you run CBECC, and assuming you are retaining output files (see settings under Tools -> Program and Analysis Options, and set Simulation and Analysis output options to 2 or higher), there is an intermediate SDD file that we call the 'Sim SDD' xml. One of these is created for each run, and named accordingly, for example, * - ap.xml is the Annual Proposed model, or in other words, your input model as processed by the ruleset for the final T24 compliance run.

If you open this file in a text editor, change the property (Proj) 'HVACAutoSizing' from 0 to 1, and then load the SDD file into OpenStudio (File -> Import - > SDD), OS will ignore all the system capacities defined in your CBECC model.

I'm hoping we can make this more accessible in the CBECC interface in the next release, though it would be a feature that isn't valid for compliance, but could be useful for debugging capacity/unmet hour issues.

DavidReddy's avatar
481
DavidReddy
answered 2018-10-08 13:49:07 -0500
edit flag offensive 0 remove flag delete link

Comments

@DavidReddy this actually helped and saves time from manually autosizing the systems Thanks

Ranjani's avatar Ranjani (2018-10-10 19:43:49 -0500) edit
add a comment see more comments
1

@Ranjani I am not aware of a measure setup to do this, but should be pretty easy, as there is a supporting method for this in the openstudio-standards gem. This Link identifies which objects the method below alters.

require 'openstudio-standards'
model.autosize

If you use the OS app or PAT to make a new measure, just replace what is between the initial and final condition with the two lines above.

David Goldwasser's avatar
20.4k
David Goldwasser
answered 2018-10-07 23:20:07 -0500
edit flag offensive 0 remove flag delete link

Comments

Nice! Another way to code that would be...

class_names = ['all', 'the', 'class', 'names', 'to', 'autosize', ...]
class_names.each do |class_name|
  self.send('get' + class_name + 's').sort.each { |obj| obj.autosize }
end
MatthewSteen's avatar MatthewSteen (2018-10-08 16:51:30 -0500) edit
add a comment see more comments
0

As of OpenStudio 2.5.0, model.autosize is part of the OpenStudio API. So in a measure, just write:

model.autosize

No need to require openstudio-standards for this.

aparker's avatar
8.2k
aparker
answered 2018-10-11 00:07:41 -0500
edit flag offensive 0 remove flag delete link

Comments

@aparker thanks for the reply. Should I have to open the OSM in text editor and try it or write a measure? Can you explain, as I am quite new to using this software

Ranjani's avatar Ranjani (2018-10-11 13:57:41 -0500) edit
add a comment see more comments