Class: BTAP::Measures::OSMeasures::TemplateModelMeasure

Inherits:
BTAPModelUserScript
  • Object
show all
Defined in:
lib/openstudio-standards/btap/measures.rb

Overview

Measure Template simplified.

Instance Attribute Summary

Attributes inherited from BTAPModelUserScript

#argument_array_of_arrays, #file

Instance Method Summary collapse

Methods inherited from BTAPModelUserScript

#argument_getter, #argument_setter, #generate_ruby_macro

Instance Method Details

#arguments(model) ⇒ Object



266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'lib/openstudio-standards/btap/measures.rb', line 266

def arguments(model)

  #list of arguments as they will appear in the interface. They are available in the run command as @variable_name.
  @argument_array_of_arrays = [
    [    "variable_name",          "type",          "required",  "model_dependant","display_name",                 "default_value",  "min_value",  "max_value",  "string_choice_array",  	"os_object_type"	],
    [    "boolean_argument_name",  "BOOL",          true,        false,            "boolean interface name",       false,            nil,          nil,          nil,                    	nil					],
    [    "string_argument_name",   "STRING",        true,        false,            "string interface name",        "default",        nil,          nil,          nil,                    	nil					],
    [    "integer_argument_name",  "INTEGER",       true,        false,            "integer interface name(units)", 0,               0,           100,         	 nil,                   	nil					],
    [    "float_argument_name",    "FLOAT",         true,        false,            "float interface name(units)",   0.0,             0.0,         100.0,         nil,                   	nil					],
    [    "choice_argument_name",   "STRINGCHOICE",  true,        false,            "choice interface name",        "choice1",        nil,          nil,          ["choice1","choice2"],  	nil					],
    [    "ws_choice_argument_name","WSCHOICE",      true,        true,             "wschoice interface name",      nil,              nil,          nil,          nil,                    	"OS_ThermalZone"	]
  ]
  args = super(model,@argument_array_of_arrays)
  return args
end

#nameObject



262
263
264
# File 'lib/openstudio-standards/btap/measures.rb', line 262

def name
  "BTAPTempModelMeasure"
end

#run(model, runner, user_arguments) ⇒ Object



282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
# File 'lib/openstudio-standards/btap/measures.rb', line 282

def run(model, runner, user_arguments)
  #IF and E+ measure replace model with workspace as the argument
  #Boilerplate start
  parent_method_is_true = super(model, runner, user_arguments)


  #Start measure changes based on model.
  puts @boolean_argument_name
  puts @string_argument_name
  puts @integer_argument_name
  puts @float_argument_name
  puts @choice_argument_name
  puts @ws_choice_argument_name




  #Do your stuff here!
  #Here are some logging methods for reference.
  #      runner.registerInitialCondition("Model initial condition (for example number of floors.")
  #      runner.registerInfo("Use this for information to user.")
  #      runner.registerWarning("Use this for warnings to user.")
  #      runner.registerError("Use this for fatal error message to user. Will not continue. Return a false.") ; return false
  #      runner.registerAsNotApplicable("Measure not applicable because XYZ. Return a true and will continue with other chained measures."); return true
  #      runner.registerFinalCondition("Model ended with # of floors for example")
  #      runner.registerFinalCondition("Indicate what was changed.")


  #If everything went well..
  return  true ? parent_method_is_true  : false
end

#set_user_arguments_and_apply(model, argument_values, runner) ⇒ Object

For manually running script via an IDE or a command line. Using the template above as an example.….

argument_values = [

     ["boolean_argument_name",    true          ],
     ["string_argument_name",     "some string" ],
     ["integer_argument_name",    1             ],
     ["float_argument_name",      0.001         ],
     ["choice_argument_name",     "choice1"     ],
     ["ws_choice_argument_name",  "zone1"       ],
     ["path_argument_name",       OpenStudio::Path.new(File.dirname(__FILE__))]
  ]


327
328
329
# File 'lib/openstudio-standards/btap/measures.rb', line 327

def set_user_arguments_and_apply(model,argument_values,runner)
  self.run(model, runner, super(model,argument_values,runner) )
end