module BTAP::Reports

Public Class Methods

all_output_variables(model,frequency) click to toggle source

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
clear_output_variables(model) click to toggle source

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
get_possible_output_variables( model ) click to toggle source

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
set_output_variables(model,frequency, output_variable_array) click to toggle source

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