honeybee_energy.simulation.output module

Object to hold EnergyPlus simulation outputs.

class honeybee_energy.simulation.output.SimulationOutput(outputs=None, reporting_frequency='Hourly', include_sqlite=True, include_html=True, summary_reports=('AllSummary',), unmet_setpoint_tolerance=1.11)[source]

Bases: object

Object to hold EnergyPlus simulation outputs.

Parameters:
  • outputs – A list of EnergyPlus output names as strings, which are requested from the simulation. If None, no outputs will be requested. Note that this object does not check whether the outputs exist within the EnergyPlus IDD or are request-able from a given Model. (eg. [‘Zone Ideal Loads Supply Air Total Cooling Energy’]). Default: None.

  • reporting_frequency

    Text for the frequency at which the outputs are reported. Default: ‘Hourly’. Choose from the following:

    • Annual

    • Monthly

    • Daily

    • Hourly

    • Timestep

  • include_sqlite – Boolean to note whether a SQLite report should be generated from the simulation, which contains all of the outputs and summary_reports. Default: True.

  • include_html – Boolean to note whether an HTML report should be generated from the simulation, which contains all of the summary_reports. Default: True.

  • summary_reports – An array of EnergyPlus summary report names as strings. An empty list or None will result in no summary reports. Default: (‘AllSummary’,). See the Input Output Reference SummaryReports section for a full list of all reports that can be requested. (https://bigladdersoftware.com/epx/docs/9-1/input-output-reference/output-table-summaryreports.html#outputtablesummaryreports).

  • unmet_setpoint_tolerance – A number in degrees Celsius for the difference that the zone conditions must be from the thermostat setpoint in order for the setpoint to be considered unmet. This will affect how unmet hours are reported in the output. ASHRAE 90.1 uses a tolerance of 1.11C, which is equivalent to 1.8F. (Default: 1.11C).

Properties:
  • outputs

  • reporting_frequency

  • include_sqlite

  • include_html

  • summary_reports

  • unmet_setpoint_tolerance

ToString()[source]

Overwrite .NET ToString.

add_comfort_map_variables(include_stratification=True)[source]

Add all outputs needed to generate detailed thermal comfort maps.

This includes zone air temperatures, surface temperatures, and stratification variables.

Parameters:

include_stratification – Boolean to note whether stratification variables should be included.

add_comfort_metrics()[source]

Add outputs for zone thermal comfort analysis.

This includes air temperature, mean radiant temperature, relative humidity.

add_electricity_generation()[source]

Add outputs related to on-site electricity generation.

add_energy_balance_variables(load_type='Total')[source]

Add all outputs needed to generate complete energy balance graphics.

This includes zone energy use, zone gains and losses, and surface energy flow.

Parameters:

load_type

A text value to set the type of load outputs requested. Default: ‘Total’. Choose from the following:

  • Total - the total load added to the zone (both sensible and latent)

  • Sensible - the sensible load added to the zone

  • Latent - the latent load added to the zone

add_gains_and_losses(load_type='Total')[source]

Add outputs for zone gains and losses.

This includes such as people gains, solar gains, infiltration losses/gains, and ventilation losses/gains.

Parameters:

load_type

A text value to set the type of load outputs requested. Default: ‘Total’. Choose from the following:

  • Total - the total load added to the zone (both sensible and latent)

  • Sensible - the sensible load added to the zone

  • Latent - the latent load added to the zone

add_glazing_solar()[source]

Add outputs for the transmitted solar gain through individual window surfaces.

This includes transmitted beam, diffuse, and total solar gain.

add_hvac_energy_use()[source]

Add outputs for HVAC energy use when detailed systems are assigned.

This includes a range of outputs for different pieces of equipment, which is meant to catch all energy-consuming parts of a system. (eg. chillers, boilers, coils, humidifiers, fans, pumps).

add_output(output_name)[source]

Add another output to the list of requested outputs.

Parameters:

output_name – The name of an EnergyPlus output that is requested from the simulation. Note that this method does not check whether the output exists within the EnergyPlus IDD or are request-able from a given Model. (eg. ‘Zone Ideal Loads Supply Air Total Cooling Energy’).

add_stratification_variables()[source]

Add outputs for estimating stratification across a zone.

This includes all air flow into the zone as well as all heat gain to the air.

add_summary_report(report_name)[source]

Add another summary report to the list of requested reports.

See the Input Output Reference SummaryReports section for a full list of all reports that can be requested. (https://bigladdersoftware.com/epx/docs/9-1/input-output-reference/output-table-summaryreports.html#outputtablesummaryreports)

Parameters:

report_name – The name of an EnergyPlus simulation report to be requested from the model. Note that this method does not check whether the output exists within the EnergyPlus IDD. (eg. ‘AnnualBuildingUtilityPerformanceSummary’).

add_surface_energy_flow()[source]

Add outputs for energy flow across all surfaces.

add_surface_temperature()[source]

Add outputs for indoor and outdoor surface temperature.

add_unmet_hours()[source]

Add outputs for time that the heating/cooling setpoints are not met.

add_zone_energy_use(load_type='All')[source]

Add outputs for zone energy use when ideal air loads are assigned.

This includes, ideal air heating + cooling, lighting, electric + gas equipment, and fan electric energy.

Parameters:

load_type

A text value to set the type of load outputs requested. Default: ‘All’. Choose from the following:

  • All - all energy use including heat lost from the zone

  • Total - total load added/removed from the zone (sensible + latent)

  • Sensible - sensible load added/removed to the zone

  • Latent - latent load added/removed to the zone

duplicate()[source]

Get a copy of this object.

classmethod from_dict(data)[source]

Create a SimulationOutput object from a dictionary.

Parameters:

data – A SimulationOutput dictionary in following the format below.

{
"type": "SimulationOutput",
"outputs": ['Zone Ideal Loads Supply Air Total Cooling Energy'],
"reporting_frequency": 'Annual',
"include_sqlite": True,
"include_html": True,
"summary_reports": ['AllSummary', 'AnnualBuildingUtilityPerformanceSummary'],
"unmet_setpoint_tolerance": 0.2
}
classmethod from_idf(table_style=None, output_variables=None, summary_reports=None, reporting_tolerance=None, include_sqlite=True)[source]

Create a RunPeriod object from an EnergyPlus IDF text string.

Parameters:
  • table_style – An IDF OutputControl:Table:Style string.

  • output_variables – A list of IDF Output:Variable strings for the requested outputs. If None, no outputs will be been requested.

  • summary_reports – An IDF Output:Table:SummaryReports string listing the summary reports that are requested. If None, no summary reports will be requested.

  • reporting_tolerance – An IDF OutputControl:ReportingTolerances string.

  • include_sqlite – Boolean to note whether a SQLite report should be generated from the simulation, which contains all of the outputs and summary_reports. Default: True.

to_dict()[source]

DaylightSavingTime dictionary representation.

to_idf()[source]

Get EnergyPlus string representations of the SimulationOutput.

Returns:

A tuple with six elements

  • table_style: An IDF OutputControl:Table:Style string for the simulation.

  • output_variables: A list of IDF Output:Variable strings for the requested outputs. Will be None if no outputs have been requested.

  • summary_reports: An IDF Output:Table:SummaryReports string listing the summary reports that are requested. Will be None if no summary reports have not been requested.

  • sqlite: An IDF Output:SQLite string to request the SQLite file from the simulation. Will be None if include_sqlite is False.

  • variable_dictionary: An IDF Output:VariableDictionary string, which will ensure that a .rdd file is generated from the simulation.

  • unmet_tolerance: An IDF OutputControl:ReportingTolerances string to pass the unmet setpoint tolerance to the IDF file.

REPORTING_FREQUENCIES = ('Annual', 'Monthly', 'Daily', 'Hourly', 'Timestep')
property include_html

Get or set a boolean for whether an HTML report should be generated.

property include_sqlite

Get or set a boolean for whether a SQLite report should be generated.

property outputs

Get or set a tuple of EnergyPlus output names as strings.

These outputs will be requested from the simulation and, if None, no outputs will be requested.

property reporting_frequency

Get or set text for the frequency at which the outputs are reported.

Choose from the following:

  • Annual

  • Monthly

  • Daily

  • Hourly

  • Timestep

property summary_reports

Get or set a tuple of EnergyPlus summary report names as strings.

These reports will be requested from the simulation and, if None, no summary reports will be written.

property unmet_setpoint_tolerance

Get or set a number in Celsius for the tolerance of unmet conditions.