Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

You seem to be confusing two different things (but that's totally understandable):

  • The BCL Measures. Locally they are typically at ~/BCL. When you download a measure from the online BCL, it goes in there
  • The "My Measures Directory". This is a convenience thing provided by the OpenStudio Application (and PAT). It's typically at ~/OpenStudio/Measures. That's where you put the measures you create yourself.

Too much information (?):

Behind the scenes, the SDK has three things of interest: * The RemoteBCL: used to lookup online measures * The LocalBCL, to interact with the downloaded BCL Measures * The MeasureManager, which is used to get information about a measure (the type of the measure, it's name, description, etc), compute arguments for your model, etc.

std::vector<BCLMeasure> BCLMeasure::getMeasuresInDir(path) is used on your "My Measures Dir" (it loops on all subdirectories and try to load BCLMeasure (meaning there's a measure.xml and a measure.rb/.py at least).

BCL Measures and your own measures are passed to the MeasureManager which will compute the info.

BCL Measures in your local ~/BCL measures are in a folder structure like this ~/BCL/<uid>/<version_id> (check the measure.xml and you'll see it matches). There's also a ~/BCL/components.sqlthat stores some relevant information about which BCL measures and components you have. BCL Measures can be updated: by matching the uid of the measures with the content of the (online) RemoteBCL, if the version_id does not match between your local copy and the online one, you know it's outdated.

You seem to be confusing two different things (but that's totally understandable):

  • The BCL Measures. Locally they are typically at ~/BCL. When you download a measure from the online BCL, it goes in there
  • The "My Measures Directory". This is a convenience thing provided by the OpenStudio Application (and PAT). It's typically at ~/OpenStudio/Measures. That's where you put the measures you create yourself.

Too much information (?):

Behind the scenes, the SDK has three things of interest: * interest:

  • The RemoteBCL: used to lookup online measures * measures
  • The LocalBCL, to interact with the downloaded BCL Measures * Measures
  • The MeasureManager, which is used to get information about a measure (the type of the measure, it's name, description, etc), compute arguments for your model, etc.

std::vector<BCLMeasure> BCLMeasure::getMeasuresInDir(path) is used on your "My Measures Dir" (it loops on all subdirectories and try to load BCLMeasure (meaning there's a measure.xml and a measure.rb/.py at least).

BCL Measures and your own measures are passed to the MeasureManager which will compute the info.

BCL Measures in your local ~/BCL measures are in a folder structure like this ~/BCL/<uid>/<version_id> (check the measure.xml and you'll see it matches). There's also a ~/BCL/components.sqlthat stores some relevant information about which BCL measures and components you have. BCL Measures can be updated: by matching the uid of the measures with the content of the (online) RemoteBCL, if the version_id does not match between your local copy and the online one, you know it's outdated.

You seem to be confusing two different things (but that's totally understandable):

  • The BCL Measures. Locally they are typically at ~/BCL. When you download a measure from the online BCL, it goes in there
  • The "My Measures Directory". This is a convenience thing provided by the OpenStudio Application (and PAT). It's typically at ~/OpenStudio/Measures. That's where you put the measures you create yourself.

In the OpenStudio Application when you drag any measure (BCL or your own) to your model, the measure is copied to the measures subdirectory in your companion directory (= if your model is named "my_model.osm", there is a "my_model/" folder next to it). So they will run from there.

Generally speaking, the definitive source is to look at the WorkflowJSON file you used to run your workflow (workflow.osw file in your companion directory for OSApp). If you don't see any added paths there, the standard paths are used. (that'd be ./measures, ../../measuresand ., where . is the directory of the workflow.osw))


Too much information (?):

Behind the scenes, the SDK has three things of interest:

  • The RemoteBCL: used to lookup online measures
  • The LocalBCL, to interact with the downloaded BCL Measures
  • The MeasureManager, which is used to get information about a measure (the type of the measure, it's name, description, etc), compute arguments for your model, etc.

std::vector<BCLMeasure> BCLMeasure::getMeasuresInDir(path) is used on your "My Measures Dir" (it loops on all subdirectories and try to load BCLMeasure (meaning there's a measure.xml and a measure.rb/.py at least).

BCL Measures and your own measures are passed to the MeasureManager which will compute the info.

BCL Measures in your local ~/BCL measures are in a folder structure like this ~/BCL/<uid>/<version_id> (check the measure.xml and you'll see it matches). There's also a ~/BCL/components.sqlthat stores some relevant information about which BCL measures and components you have. BCL Measures can be updated: by matching the uid of the measures with the content of the (online) RemoteBCL, if the version_id does not match between your local copy and the online one, you know it's outdated.