honeybee_energy.generator.pv module

Photovoltaic properties that can be applied to Shades.

class honeybee_energy.generator.pv.PVProperties(identifier, rated_efficiency=0.15, active_area_fraction=0.9, module_type=None, mounting_type='FixedOpenRack', system_loss_fraction=0.14, tracking_ground_coverage_ratio=0.4)[source]

Bases: object

Simple Photovoltaic properties that run using PVWatts to estimate electricity.

Parameters
  • identifier – Text string for PV properties identifier. Must be < 100 characters and not contain any EnergyPlus special characters. This will be used to identify the object across a model and in the exported IDF.

  • rated_efficiency – A number between 0 and 1 for the rated nameplate efficiency of the photovoltaic solar cells under standard test conditions (STC). Standard test conditions are 1,000 Watts per square meter solar irradiance, 25 degrees C cell temperature, and ASTM G173-03 standard spectrum. Nameplate efficiencies reported by manufacturers are typically under STC. Standard poly- or mono-crystalline silicon modules tend to have rated efficiencies in the range of 14-17%. Premium high efficiency mono-crystalline silicon modules with anti-reflective coatings can have efficiencies in the range of 18-20%. Thin film photovoltaic modules typically have efficiencies of 11% or less. (Default: 0.15 for standard silicon solar cells).

  • active_area_fraction – The fraction of the parent Shade geometry that is covered in active solar cells. This fraction includes the difference between the PV panel (aka. PV module) area and the active cells within the panel as well as any losses for how the (typically rectangular) panels can be arranged on the Shade geometry. When the parent Shade geometry represents just the solar panels, this fraction is typically around 0.9 given that the metal framing elements of the panel reduce the overall active area. (Default: 0.9, assuming parent Shade geometry represents only the PV panel geometry).

  • module_type

    Text to indicate the type of solar module. This is used to determine the temperature coefficients used in the simulation of the photovoltaic modules. Choose from the three options below. If None, the module_type will be inferred from the rated_efficiency of these PVProperties using the rated efficiencies listed below. (Default: None).

    • Standard - 12% <= rated_efficiency < 18%

    • Premium - rated_efficiency >= 18%

    • ThinFilm - rated_efficiency < 12%

  • mounting_type

    Text to indicate the type of mounting and/or tracking used for the photovoltaic array. Note that the OneAxis options have an axis of rotation that is determined by the azimuth of the parent Shade geometry. Also note that, in the case of one or two axis tracking, shadows on the (static) parent Shade geometry still reduce the electrical output, enabling the simulation to account for large context geometry casting shadows on the array. However, the effects of smaller detailed shading may be improperly accounted for and self shading of the dynamic panel geometry is only accounted for via the tracking_ground_coverage_ratio property on this object. Choose from the following. (Default: FixedOpenRack).

    • FixedOpenRack - ground or roof mounting where the air flows freely

    • FixedRoofMounted - mounting flush with the roof with limited air flow

    • OneAxis - a fixed tilt and azimuth, which define an axis of rotation

    • OneAxisBacktracking - same as OneAxis but with controls to reduce self-shade

    • TwoAxis - a dynamic tilt and azimuth that track the sun

  • system_loss_fraction – A number between 0 and 1 for the fraction of the electricity output lost due to factors other than EPW climate conditions, panel efficiency/type, active area, mounting, and inverter conversion from DC to AC. Factors that should be accounted for in this input include soiling, snow, wiring losses, electrical connection losses, manufacturer defects/tolerances/mismatch in cell characteristics, losses from power grid availability, and losses due to age or light-induced degradation. Losses from these factors tend to be between 10-20% but can vary widely depending on the installation, maintenance and the grid to which the panels are connected. The loss_fraction_from_components staticmethod on this class can be used to estimate this value from the various factors that it is intended to account for. (Default: 0.14).

  • tracking_ground_coverage_ratio – A number between 0 and 1 that only applies to arrays with one-axis tracking mounting_type. The ground coverage ratio (GCR) is the ratio of module surface area to the area of the ground beneath the array, which is used to account for self shading of single-axis panels as they move to track the sun. A GCR of 0.5 means that, when the modules are horizontal, half of the surface below the array is occupied by the array. An array with wider spacing between rows of modules has a lower GCR than one with narrower spacing. A GCR of 1 would be for an array with no space between modules, and a GCR of 0 for infinite spacing between rows. Typical values range from 0.3 to 0.6. (Default: 0.4).

ToString()[source]

Overwrite .NET ToString.

duplicate()[source]

Get a copy of this object.

classmethod from_dict(data)[source]

Create a PVProperties object from a dictionary.

Parameters

data – A PVProperties dictionary in following the format below.

{
"type": "PVProperties",
"identifier": "Ablytek 270 W Monocrystalline",  # identifier for the PV
"display_name": "Ablytek Module",  # name for the PV
"rated_efficiency": 0.18,  # Nameplate rated efficiency
"active_area_fraction": 0.92,  # Active area fraction
"module_type": "Standard",  # Type of solar module
"mounting_type": "FixedOpenRack",  # Type of mounting and tracking
"system_loss_fraction": 0.16  # Fraction lost to outside factors
}
classmethod from_idf(idf_string, shade, active_area_fraction=0.9)[source]

Create a PVProperties object from a Generator:PVWatts IDF text string.

Note that the Generator:PVWatts idf_string must use the ‘surface’ array geometry type in order to be successfully imported.

Parameters
  • idf_string – A text string fully describing an EnergyPlus Generator:PVWatts definition.

  • shade – The Honeybee Shade object to which the PV properties are assigned. Note that the geometry of this Shade must be in meters for the object to be loaded correctly.

  • active_area_fraction – The original active area fraction used to construct the PVProperties object. This is needed to correctly derive the PV efficiency from the system capacity.

Returns

A PVProperties object from the IDF string.

lock()
static loss_fraction_from_components(age=0.045, light_induced_degradation=0.015, soiling=0.02, snow=0.0, manufacturer_nameplate_tolerance=0.01, cell_characteristic_mismatch=0.02, wiring=0.02, electrical_connection=0.005, grid_availability=0.015)[source]

Compute an estimate for system_loss_fraction from individual factors.

This method is intended to help account for all of the factors outside of those modeled by EnergyPlus (and PVWatts), which can influence the annual energy harvested by photovoltaic arrays. It also gives a rough understanding of where the default value of 0.14 could originate from given the default values used for the various factors on this method.

Note that this loss term does not include the effects of the climate’s temperature/radiation, site shading, panel efficiency/type, active area, mounting, or inverter conversion from DC to AC since all of these effects are modeled explicitly by EnergyPlus.

Parameters
  • age – A number between 0 and 1 for the fraction of output lost due to the aging/weathering of the photovoltaic panels over time. This term is intended to account for gradual degradation through exposure to the elements including corrosion, thermal expansion/contraction, erosion. Typical conservative estimates assume a degradation of 0.01 (or 1%) per year such that, on the 20th year, the panels will be performing at 19% less than their original output. (Default: 0.045 for the average aging expected in the first 10 years of operation).

  • light_induced_degradation – A number between 0 and 1 for the fraction of output lost due to light-induced degradation of the photovoltaic cells, which is common during the first few months of operation and results in the cells having a different efficiency than the nameplate rating. (Default: 0.02).

  • soiling – A number between 0 and 1 for the fraction of output lost due to dust, dirt, leaves, wildlife droppings, and other foreign matter on the surface of the PV module that prevent solar radiation from reaching the cells. Soiling is highly dependent on climate, installation conditions, and the frequency with which the panels are cleaned. The greatest soiling losses typically occur in high-traffic, high-pollution areas with infrequent rain and infrequent cleaning. (Default: 0.02).

  • snow – A number between 0 and 1 for the fraction of output lost due to snow covering the panels. This is common in cases where panels have a low slope and are not immediately cleared of snow. (Default: 0.0 assuming installation in a climate without snow).

  • manufacturer_nameplate_tolerance – A number between 0 and 1 for the fraction of of output lost due to tolerance that the manufacturer follows in the performance of its product from the nameplate rating. (Default: 0.01).

  • cell_characteristic_mismatch – A number between 0 and 1 for the fraction of output lost due to manufacturing imperfections between modules in the array, which cause the modules to have slightly different current-voltage characteristics and result in a reduction of performance from the nameplate rating. (Default: 0.02).

  • wiring – A number between 0 and 1 for the fraction of output lost due to resistive losses in the wires connecting the various parts of the photovoltaic system. Setups that require longer wires and bigger distances between equipment will have higher losses for this term. (Default: 0.02).

  • electrical_connection – A number between 0 and 1 for the fraction of output lost due to resistive losses in the electrical connectors across the photovoltaic system. (Default: 0.005).

  • grid_availability – A number between 0 and 1 for the fraction of output lost due to maintenance shutdowns, grid outages, inability for the grid to accept input, and other operational factors. (Default: 0.015).

to_dict()[source]

PVProperties dictionary representation.

Parameters

abridged – Boolean to note whether the full dictionary describing the object should be returned (False) or just an abridged version (True), which only specifies the identifiers of schedules. (Default: False).

to_idf(shade)[source]

IDF string representation of PVProperties object.

Parameters

shade – A Honeybee Shade for which the specific IDF string will be generated. Note that the geometry of this shade must be in meters in order for the returned IDF string to have correct values.

unlock()
MODULE_TYPES = ('Standard', 'Premium', 'ThinFilm')
MOUNTING_TYPES = ('FixedOpenRack', 'FixedRoofMounted', 'OneAxis', 'OneAxisBacktracking', 'TwoAxis')
property active_area_fraction

Get or set a number for fraction of the parent covered in active solar cells.

This fraction includes the difference between the PV panel (aka. PV module) area and the active cells within the panel as well as any losses for how the (typically rectangular) panels can be arranged on the Shade geometry.

property display_name

Get or set a string for the object name without any character restrictions.

If not set, this will be equal to the identifier.

property identifier

Get or set the text string for PV properties system identifier.

property module_type

Get or set text to indicate the type of photovoltaic module.

Choose from the following options:

  • Standard

  • Premium

  • ThinFilm

property mounting_type

Get or set text to indicate the way the photovoltaic arrays are mounted.

Choose from the following options:

  • FixedOpenRack

  • FixedRoofMounted

  • OneAxis

  • OneAxisBacktracking

  • TwoAxis

property rated_efficiency

Get or set a number for the rated nameplate efficiency of the solar cells.

Standard poly- or mono-crystalline silicon modules tend to have rated efficiencies in the range of 14-17%.

Premium high efficiency mono-crystalline silicon modules with anti-reflective coatings can have efficiencies in the range of 18-20%.

Thin film photovoltaic modules typically have efficiencies of 11% or less.

property system_loss_fraction

Get or set a number for the fraction of the output lost due to other factors.

Factors that should be accounted for in this input include soiling, snow, wiring losses, electrical connection losses, manufacturer defects/tolerances/ mismatch in cell characteristics, losses from power grid availability, and losses due to age or light-induced degradation.

property tracking_ground_coverage_ratio

Get or set a number between 0 and 1 for the ground coverage ratio.

This value only applies to systems using single-axis tracking and is used to account for self shading of single-axis panels as they move to track the sun.