module BTAP::Reports
Public Class Methods
This turns all output on. Warning: Long runtimes will result. @author Phylroy A. Lopez @param model [OpenStudio::Model::Model] A model object @param frequency [Fixnum] @return [OpenStudio::Model::Model] a copy of the OpenStudio model object (self reference).
# File lib/openstudio-standards/btap/btap.rb, line 219 def self.all_output_variables(model,frequency) BTAP::Reports::set_output_variables(model, frequency, BTAP::Reports::get_possible_output_variables(model)) return model end
This method clears all the output variables to make simulations run faster or to start fresh. @author Phylroy A. Lopez @param model [OpenStudio::Model::Model] A model object {openstudio.nrel.gov/latest-c-sdk-documentation/model} @return [OpenStudio::Model::Model] the OpenStudio model object (self reference).
# File lib/openstudio-standards/btap/btap.rb, line 206 def self.clear_output_variables(model) #remove existing outputs model.getOutputVariables.sort.each do |object| object.remove end return model end
This method returns a vector of the results that are available in the current model. @author Phylroy A. Lopez @param model [OpenStudio::Model::Model] A model object @return [Array<String>] a list of all the possible output variables.
# File lib/openstudio-standards/btap/btap.rb, line 229 def self.get_possible_output_variables( model ) #Run simulation copy = BTAP::FileIO::deep_copy(model) copy.building.get.setName("rdd_run") BTAP::SimulationSettings::set_run_period(copy, 1, 1, 1, 1) BTAP::SimManager::run_simulation(copy,"C:\\temp\\rdd_maker") rdd_file_path = "" Find.find("C:\\temp\\rdd_maker") do |path| rdd_file_path = path if path =~ /.*\.rdd$/ end contents = File.read(rdd_file_path) output_variables = Array.new() contents.each do |line| match = line.match /^\s*Output:Variable,\*,(.*),(.*);(.*)/ if match output_variables.push(match[1]) end end return output_variables end
This method sets up some predetermined output variables. May take a while to run with these settings. @author Phylroy A. Lopez @param model [OpenStudio::Model::Model] A model object @param frequency [Fixnum] @param output_variable_array [Array<String>] a list of output variables that you wish to report from the simulation. @return [OpenStudio::Model::Model] the OpenStudio model object (self reference).
# File lib/openstudio-standards/btap/btap.rb, line 256 def self.set_output_variables(model,frequency, output_variable_array) raise("Frequency is not valid. Must by \"Hourly\" or \"Timestep\" but got #{frequency}.") unless ["Hourly","Timestep"].include?(frequency) output_variable_array.each do |variable| output = OpenStudio::Model::OutputVariable.new(variable,model) output.setKeyValue("*") output.setReportingFrequency(frequency) end return model end