OpenStudio:model
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Related Functions | List of all members
openstudio::model::OutputMeter Class Reference

#include <OutputMeter.hpp>

+ Inheritance diagram for openstudio::model::OutputMeter:

Public Member Functions

boost::optional
< openstudio::TimeSeries
getData (const std::string &envPeriod) const
 Returns TimeSeries data for this Meter. Requires EnergyPlus simulation data. More...
 
boost::optional
< openstudio::TimeSeries
getData (const std::string &envPeriod, const boost::optional< std::string > &specificInstallLocation) const
 Returns TimeSeries data for this Meter, using given specificInstallLocation instead of this->specificInstallLocation. More...
 
Constructors and Destructors
 OutputMeter (const Model &model)
 
virtual ~OutputMeter () override=default
 
 OutputMeter (const OutputMeter &other)=default
 
 OutputMeter (OutputMeter &&other)=default
 
OutputMeteroperator= (const OutputMeter &)=default
 
OutputMeteroperator= (OutputMeter &&)=default
 
virtual std::vector
< openstudio::IdfObject
remove ()
 
Getters
std::string name () const
 
std::string reportingFrequency () const
 
bool isReportingFrequencyDefaulted () const
 
bool meterFileOnly () const
 
bool isMeterFileOnlyDefaulted () const
 
bool cumulative () const
 
bool isCumulativeDefaulted () const
 
boost::optional< std::string > specificEndUse () const
 Returns the specific end use category to meter from the name field. More...
 
boost::optional< EndUseTypeendUseType () const
 Returns the end use type to meter from the name field. More...
 
boost::optional< FuelTypefuelType () const
 Returns the fuel type to meter from the name field. More...
 
boost::optional
< InstallLocationType
installLocationType () const
 Returns the location the meter is installed at from the name field. More...
 
boost::optional< std::string > specificInstallLocation () const
 Returns the specific location the meter is installed at from the name field. More...
 
Setters
bool setReportingFrequency (const std::string &reportingFrequency)
 
void resetReportingFrequency ()
 
bool setMeterFileOnly (bool meterFileOnly)
 
void resetMeterFileOnly ()
 
bool setCumulative (bool cumulative)
 
void resetCumulative ()
 
bool setSpecificEndUse (const std::string &specifcEndUse)
 Sets the specific end use category to meter in the name field. More...
 
bool resetSpecificEndUse ()
 
bool setEndUseType (EndUseType type)
 Sets the end use type to meter in the name field. More...
 
bool resetEndUseType ()
 
bool setFuelType (FuelType type)
 Sets the fuel type to meter in the name field. More...
 
bool resetFuelType ()
 
bool setInstallLocationType (InstallLocationType type)
 Sets the location the meter is installed at from the name field. More...
 
bool resetInstallLocationType ()
 
bool setSpecificInstallLocation (const std::string &locationName)
 Sets the specific location the meter is installed at from the name field. More...
 
bool resetSpecificInstallLocation ()
 
- Public Member Functions inherited from openstudio::model::ModelObject
virtual ~ModelObject () override=default
 
 ModelObject (const ModelObject &other)=default
 
 ModelObject (ModelObject &&other)=default
 
ModelObjectoperator= (const ModelObject &)=default
 
ModelObjectoperator= (ModelObject &&)=default
 
ModelObject clone () const
 Creates a deep copy of this object, placing it in this object's model(). More...
 
ModelObject clone (Model model) const
 Creates a deep copy of this object, placing it in model. More...
 
Component createComponent () const
 Method for creating sharable Model snippets. More...
 
Model model () const
 Returns the Model that contains this object. More...
 
boost::optional< ParentObjectparent () const
 Return this object's parent in the hierarchy, if it has one. More...
 
std::vector< ResourceObjectresources () const
 Get the resources directly used by this ModelObject. More...
 
template<typename T >
std::vector< T > getModelObjectSources () const
 Get all objects of type T that point to this object. More...
 
template<typename T >
std::vector< T > getModelObjectSources (IddObjectType iddObjectType) const
 Get all objects of type T that point to this object. More...
 
template<typename T >
boost::optional< T > getModelObjectTarget (unsigned index) const
 Get the object of type T pointed to by this object from field index. More...
 
template<typename T >
std::vector< T > getModelObjectTargets () const
 Get all objects of type T to which this object points. More...
 
const std::vector< std::string > & outputVariableNames () const
 Get all output variables names that could be associated with this object. More...
 
std::vector< OutputVariableoutputVariables () const
 Get all output variables associated with this object, must run simulation to generate data. More...
 
boost::optional
< openstudio::TimeSeries
getData (const OutputVariable &variable, const std::string &envPeriod) const
 Get data associated with this output variable and this object. More...
 
std::vector< LifeCycleCostlifeCycleCosts () const
 Returns the list of all LifeCycleCosts that refer to this object. More...
 
std::vector< IdfObjectremoveLifeCycleCosts ()
 Removes all LifeCycleCosts that refer to this object. More...
 
IddObjectType iddObjectType () const
 This is a virtual function that will tell you the type of iddObject you are dealing with. More...
 
AdditionalProperties additionalProperties () const
 Returns this object's additional properties, constructing a new object if necessary. More...
 
bool hasAdditionalProperties () const
 Returns true if this object has additional properties. More...
 
std::vector< IdfObjectremoveAdditionalProperties ()
 Removes all additional properties that refer to this object. More...
 
boost::optional< std::string > cadObjectId () const
 
bool setCADObjectId (const std::string &cadObjectId)
 
boost::optional< std::string > gbXMLId () const
 
bool setGBXMLId (const std::string &gbXMLId)
 
boost::optional< std::string > displayName () const
 
bool setDisplayName (const std::string &displayName)
 
bool setParent (ParentObject &newParent)
 set the parent, child may have to call non-const methods on the parent More...
 
bool operator< (const ModelObject &right) const
 
bool operator== (const ModelObject &other) const
 equality test More...
 
bool operator!= (const ModelObject &other) const
 inequality test More...
 
std::vector< ScheduleTypeKeygetScheduleTypeKeys (const Schedule &schedule) const
 Return the ScheduleTypeKeys indicating how schedule is used in this object. More...
 
boost::optional< double > getAutosizedValue (const std::string &valueName, const std::string &units) const
 Gets the autosized component value from the sql file. More...
 
virtual std::vector
< EMSActuatorNames
emsActuatorNames () const
 Return the names of the available ems actuators. More...
 
virtual std::vector< std::string > emsInternalVariableNames () const
 Return the names of the available ems internal variables. More...
 
boost::optional< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 
- Public Member Functions inherited from openstudio::WorkspaceObject
bool canBeSource () const
 
bool canBeSource (unsigned index, const std::vector< std::string > &refLists=std::vector< std::string >()) const
 
std::vector< std::string > canBeTarget () const
 
std::vector< unsigned > getSourceIndices (const Handle &targetHandle) const
 
std::vector< WorkspaceObjectgetSources (IddObjectType type) const
 
boost::optional< WorkspaceObjectgetTarget (unsigned index) const
 
IdfObject idfObject ()
 
IdfObject idfObject () const
 
bool initialized () const
 
bool isSource () const
 
bool isTarget () const
 
unsigned numSources () const
 
bool objectListFieldsEqual (const WorkspaceObject &other) const
 
bool objectListFieldsNonConflicting (const WorkspaceObject &other) const
 
bool operator< (const WorkspaceObject &right) const
 
std::ostream & operator<< (std::ostream &os, const WorkspaceObject &workspaceObject)
 
WorkspaceObjectoperator= (WorkspaceObject &&)=default
 
WorkspaceObjectoperator= (const WorkspaceObject &)=default
 
std::vector
< openstudio::IdfObject
remove ()
 
bool setPointer (unsigned index, const Handle &targetHandle)
 
std::vector< WorkspaceObjectsources () const
 
std::vector< WorkspaceObjecttargets () const
 
Workspace workspace () const
 
 WorkspaceObject (const WorkspaceObject &other)=default
 
 WorkspaceObject (WorkspaceObject &&other)=default
 
virtual ~WorkspaceObject () override=default
 
- Public Member Functions inherited from openstudio::IdfObject
std::string briefDescription () const
 
cast () const
 
std::vector< T > castVector (const std::vector< U > &objects)
 
std::vector< std::vector
< std::string > > 
clearExtensibleGroups ()
 
IdfObject clone (bool keepHandle=false) const
 
std::string comment () const
 
boost::optional< std::string > createName (bool overwrite=true)
 
std::vector< unsigned > dataFields () const
 
bool dataFieldsEqual (const IdfObject &other) const
 
std::vector< std::string > eraseExtensibleGroup (unsigned groupIndex)
 
std::vector< IdfExtensibleGroupextensibleGroups () const
 
boost::optional< std::string > fieldComment (unsigned index, bool returnDefault=false) const
 
boost::optional< double > getDouble (unsigned index, bool returnDefault=false) const
 
IdfExtensibleGroup getExtensibleGroup (unsigned groupIndex) const
 
boost::optional< std::string > getField (unsigned index, bool returnDefault=false) const
 
std::vector< Handle > getHandles (const std::vector< T > &objects)
 
boost::optional< intgetInt (unsigned index, bool returnDefault=false) const
 
OSOptionalQuantity getQuantity (unsigned index, bool returnDefault=false, bool returnIP=false) const
 
boost::optional< std::string > getString (unsigned index, bool returnDefault=false, bool returnUninitializedEmpty=false) const
 
boost::optional< unsigned > getUnsigned (unsigned index, bool returnDefault=false) const
 
Handle handle () const
 
IddObject iddObject () const
 
 IdfObject (IddObjectType type, bool fastName=false)
 
 IdfObject (const IdfObject &other)
 
 IdfObject (const IddObject &, bool fastName=false)
 
 IdfObject (IdfObject &&other) noexcept
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex, const std::vector< std::string > &values)
 
bool isDataField (unsigned index) const
 
bool isEmpty (unsigned index) const
 
bool isObjectListField (unsigned index) const
 
bool isValid (StrictnessLevel level, bool checkNames=false) const
 
boost::optional< unsigned > maxExtensibleGroups () const
 
boost::optional< unsigned > maxFields () const
 
unsigned minExtensibleGroups () const
 
unsigned minFields () const
 
boost::optional< std::string > name (bool returnDefault=false) const
 
std::string nameString (bool returnDefault=false) const
 
unsigned numExtensibleGroups () const
 
unsigned numFields () const
 
unsigned numNonextensibleFields () const
 
std::vector< unsigned > objectListFields () const
 
bool objectListFieldsEqual (const IdfObject &other) const
 
bool objectListFieldsNonConflicting (const IdfObject &other) const
 
bool operator!= (const IdfObject &other) const
 
std::ostream & operator<< (std::ostream &os, const IdfObject &IdfObject)
 
IdfObjectoperator= (IdfObject &&other) noexcept
 
IdfObjectoperator= (const IdfObject &other)
 
bool operator== (const IdfObject &other) const
 
boost::optional< T > optionalCast () const
 
std::vector< std::string > popExtensibleGroup ()
 
std::ostream & print (std::ostream &os) const
 
std::ostream & printField (std::ostream &os, unsigned index, bool isLastField=false) const
 
std::ostream & printName (std::ostream &os, bool hasFields=true) const
 
IdfExtensibleGroup pushExtensibleGroup (const std::vector< std::string > &values)
 
IdfExtensibleGroup pushExtensibleGroup ()
 
std::vector< unsigned > requiredFields () const
 
void setComment (const std::string &msg)
 
bool setDouble (unsigned index, double value)
 
bool setFieldComment (unsigned index, const std::string &cmnt)
 
bool setInt (unsigned index, int value)
 
boost::optional< std::string > setName (const std::string &newName)
 
bool setQuantity (unsigned index, const Quantity &q)
 
bool setString (unsigned index, const std::string &value)
 
bool setUnsigned (unsigned index, unsigned value)
 
std::vector< T > subsetCastVector (const std::vector< U > &original)
 
ValidityReport validityReport (StrictnessLevel level, bool checkNames=false) const
 
virtual ~IdfObject ()=default
 

Static Public Member Functions

Static Methods
static IddObjectType iddObjectType ()
 
static boost::regex meterRegex ()
 Returns the regular expression used to parse the name field. More...
 
static std::string getName (const boost::optional< std::string > &specificEndUseType, const boost::optional< EndUseType > &endUseType, const boost::optional< FuelType > &fuelType, const boost::optional< InstallLocationType > &installLocationType, const boost::optional< std::string > &specificInstallLocation)
 Returns the Meter name for a set of inputs. More...
 
- Static Public Member Functions inherited from openstudio::IdfObject
static boost::optional< IdfObjectload (const std::string &text)
 
static boost::optional< IdfObjectload (const std::string &text, const IddObject &iddObject)
 
static int printedFieldSpace ()
 

Related Functions

(Note that these are not member functions.)

bool MeterFuelTypeEquals (const OutputMeter &meter, const FuelType &ft)
 Predicate for finding OutputMeters with fuelType() ft. More...
 
using OptionalOutputMeter = boost::optional< OutputMeter >
 
using OutputMeterVector = std::vector< OutputMeter >
 

Additional Inherited Members

- Public Types inherited from openstudio::WorkspaceObject
typedef boost::optional
< WorkspaceObject
OptionalWorkspaceObject
 
typedef std::vector
< WorkspaceObject
WorkspaceObjectVector
 
- Public Types inherited from openstudio::IdfObject
typedef std::pair< IdfObject,
IdfObject
IdfObjectPair
 
typedef std::vector< IdfObjectIdfObjectVector
 
typedef boost::optional
< IdfObject
OptionalIdfObject
 
- Protected Types inherited from openstudio::model::ModelObject
using ImplType = detail::ModelObject_Impl
 
- Protected Types inherited from openstudio::WorkspaceObject
typedef
detail::WorkspaceObject_Impl 
ImplType
 
- Protected Types inherited from openstudio::IdfObject
typedef detail::IdfObject_Impl ImplType
 
- Protected Member Functions inherited from openstudio::model::ModelObject
 ModelObject (IddObjectType type, const Model &model, bool fastName=false)
 
 ModelObject (std::shared_ptr< detail::ModelObject_Impl > impl)
 
- Protected Member Functions inherited from openstudio::WorkspaceObject
 WorkspaceObject (std::shared_ptr< detail::WorkspaceObject_Impl > impl)
 
- Protected Member Functions inherited from openstudio::IdfObject
 IdfObject (std::shared_ptr< detail::IdfObject_Impl > impl)
 

Detailed Description

OutputMeter is a ModelObject that wraps the OpenStudio IDD object 'OS_Output_Meter'.

A OutputMeter is a virtual instrument measuring energy use of some fuel type at a particular location. OutputMeter objects may be associated with various classes in the building model hierarchy (e.g. Facility, Building, Zone, Plant, etc). A OutputMeter can be used to request output data as well as access it from the EnergyPlus SQLite output. If the user wants to access measured data from a particular OutputMeter, they must ensure that input objects are present to trigger EnergyPlus to output the desired data. This is similar to needing to instrument a real building during field measurements.

Constructor & Destructor Documentation

openstudio::model::OutputMeter::OutputMeter ( const Model model)
explicit
virtual openstudio::model::OutputMeter::~OutputMeter ( )
overridevirtualdefault
openstudio::model::OutputMeter::OutputMeter ( const OutputMeter other)
default
openstudio::model::OutputMeter::OutputMeter ( OutputMeter &&  other)
default

Member Function Documentation

bool openstudio::model::OutputMeter::cumulative ( ) const
boost::optional<EndUseType> openstudio::model::OutputMeter::endUseType ( ) const

Returns the end use type to meter from the name field.

For example, to meter all Lights the end use type would be "InteriorLights" and the Meter name would be "InteriorLights:Electricity:Facility".

boost::optional<FuelType> openstudio::model::OutputMeter::fuelType ( ) const

Returns the fuel type to meter from the name field.

For example, to meter all electricity use the fuel type would be "Electricity" and the Meter name would be "Electricity:Facility".

boost::optional<openstudio::TimeSeries> openstudio::model::OutputMeter::getData ( const std::string &  envPeriod) const

Returns TimeSeries data for this Meter. Requires EnergyPlus simulation data.

boost::optional<openstudio::TimeSeries> openstudio::model::OutputMeter::getData ( const std::string &  envPeriod,
const boost::optional< std::string > &  specificInstallLocation 
) const

Returns TimeSeries data for this Meter, using given specificInstallLocation instead of this->specificInstallLocation.

Useful if this->specificInstallLocation is '*'. Requires EnergyPlus simulation data.

static std::string openstudio::model::OutputMeter::getName ( const boost::optional< std::string > &  specificEndUseType,
const boost::optional< EndUseType > &  endUseType,
const boost::optional< FuelType > &  fuelType,
const boost::optional< InstallLocationType > &  installLocationType,
const boost::optional< std::string > &  specificInstallLocation 
)
static

Returns the Meter name for a set of inputs.

static IddObjectType openstudio::model::OutputMeter::iddObjectType ( )
static
boost::optional<InstallLocationType> openstudio::model::OutputMeter::installLocationType ( ) const

Returns the location the meter is installed at from the name field.

For example, to meter all electricity at the Facility level the install location would be "Facility" and the Meter name would be "Electricity:Facility".

bool openstudio::model::OutputMeter::isCumulativeDefaulted ( ) const
bool openstudio::model::OutputMeter::isMeterFileOnlyDefaulted ( ) const
bool openstudio::model::OutputMeter::isReportingFrequencyDefaulted ( ) const
bool openstudio::model::OutputMeter::meterFileOnly ( ) const
static boost::regex openstudio::model::OutputMeter::meterRegex ( )
static

Returns the regular expression used to parse the name field.

matches[1], specific end use type matches[2], end use type matches[3], fuel type matches[4], install location type matches[5], install location name

std::string openstudio::model::OutputMeter::name ( ) const
OutputMeter& openstudio::model::OutputMeter::operator= ( const OutputMeter )
default
OutputMeter& openstudio::model::OutputMeter::operator= ( OutputMeter &&  )
default
virtual std::vector<openstudio::IdfObject> openstudio::model::OutputMeter::remove ( )
virtual
std::string openstudio::model::OutputMeter::reportingFrequency ( ) const
void openstudio::model::OutputMeter::resetCumulative ( )
bool openstudio::model::OutputMeter::resetEndUseType ( )
bool openstudio::model::OutputMeter::resetFuelType ( )
bool openstudio::model::OutputMeter::resetInstallLocationType ( )
void openstudio::model::OutputMeter::resetMeterFileOnly ( )
void openstudio::model::OutputMeter::resetReportingFrequency ( )
bool openstudio::model::OutputMeter::resetSpecificEndUse ( )
bool openstudio::model::OutputMeter::resetSpecificInstallLocation ( )
bool openstudio::model::OutputMeter::setCumulative ( bool  cumulative)
bool openstudio::model::OutputMeter::setEndUseType ( EndUseType  type)

Sets the end use type to meter in the name field.

For example, to meter all Lights the end use type would be "InteriorLights" and the Meter name would be "InteriorLights:Electricity:Facility".

bool openstudio::model::OutputMeter::setFuelType ( FuelType  type)

Sets the fuel type to meter in the name field.

For example, to meter all electricity use the fuel type would be "Electricity" and the Meter name would be "Electricity:Facility".

bool openstudio::model::OutputMeter::setInstallLocationType ( InstallLocationType  type)

Sets the location the meter is installed at from the name field.

For example, to meter all electricity at the Facility level the install location would be "Facility" and the Meter name would be "Electricity:Facility".

bool openstudio::model::OutputMeter::setMeterFileOnly ( bool  meterFileOnly)
bool openstudio::model::OutputMeter::setReportingFrequency ( const std::string &  reportingFrequency)
bool openstudio::model::OutputMeter::setSpecificEndUse ( const std::string &  specifcEndUse)

Sets the specific end use category to meter in the name field.

For example, to meter all Lights with endUseSubcategory set to "General" the specific end use would be "General" and the Meter name would be "General:InteriorLights:Electricity:Facility". Passing an empty string will unset the value.

bool openstudio::model::OutputMeter::setSpecificInstallLocation ( const std::string &  locationName)

Sets the specific location the meter is installed at from the name field.

For example, to meter all electricity in a Zone named "Zone1" the specific install location would be "Zone1" and the Meter name would be "Electricity:Zone:Zone1". Passing an empty string will unset the value, '*' indicates reporting for all locations.

boost::optional<std::string> openstudio::model::OutputMeter::specificEndUse ( ) const

Returns the specific end use category to meter from the name field.

For example, to meter all Lights with endUseSubcategory set to "General" the specific end use would be "General" and the Meter name would be "General:InteriorLights:Electricity".

boost::optional<std::string> openstudio::model::OutputMeter::specificInstallLocation ( ) const

Returns the specific location the meter is installed at from the name field.

For example, to meter all electricity in a Zone named "Zone1" the specific install location would be "Zone1" and the Meter name would be "Electricity:Zone:Zone1". The value '*' indicates reporting for all locations.

Friends And Related Function Documentation

bool MeterFuelTypeEquals ( const OutputMeter meter,
const FuelType ft 
)
related

Predicate for finding OutputMeters with fuelType() ft.

using OptionalOutputMeter = boost::optional<OutputMeter>
related
using OutputMeterVector = std::vector<OutputMeter>
related