pvfactors.irradiance.models.HybridPerezOrdered

class pvfactors.irradiance.models.HybridPerezOrdered(horizon_band_angle=6.5, circumsolar_angle=30.0, circumsolar_model='uniform_disk', rho_front=0.01, rho_back=0.03, module_transparency=0.0, module_spacing_ratio=0.0, faoi_fn_front=None, faoi_fn_back=None)[source]

Model is based off Perez diffuse light model, and applied to pvfactors OrderedPVArray objects. The model applies direct, circumsolar, and horizon irradiance to the PV array surfaces.

__init__(horizon_band_angle=6.5, circumsolar_angle=30.0, circumsolar_model='uniform_disk', rho_front=0.01, rho_back=0.03, module_transparency=0.0, module_spacing_ratio=0.0, faoi_fn_front=None, faoi_fn_back=None)[source]

Initialize irradiance model values that will be saved later on.

Parameters
  • horizon_band_angle (float, optional) – Width of the horizon band in [deg] (Default = DEFAULT_HORIZON_BAND_ANGLE)

  • circumsolar_angle (float, optional) – Diameter of the circumsolar area in [deg] (Default = DEFAULT_CIRCUMSOLAR_ANGLE)

  • circumsolar_model (str) – Circumsolar shading model to use (Default = ‘uniform_disk’)

  • rho_front (float, optional) – Reflectivity of the front side of the PV rows (default = 0.01)

  • rho_back (float, optional) – Reflectivity of the back side of the PV rows (default = 0.03)

  • module_transparency (float, optional) – Module transparency (from 0 to 1), which will let some direct light pass through the PV modules in the PV rows and reach the shaded ground (Default = 0., fully opaque)

  • module_spacing_ratio (float, optional) – Module spacing ratio (from 0 to 1), which is the ratio of the area covered by the space between PV modules over the total area of the PV rows, and which determines how much direct light will reach the shaded ground through the PV rows (Default = 0., no spacing at all)

  • faoi_fn_front (function or object, optional) – Function (or object containing faoi method) which takes a list (or numpy array) of incidence angles measured from the surface horizontal (with values from 0 to 180 deg) and returns the fAOI values for the front side of PV rows (default = None)

  • faoi_fn_back (function or object, optional) – Function (or object containing faoi method) which takes a list (or numpy array) of incidence angles measured from the surface horizontal (with values from 0 to 180 deg) and returns the fAOI values for the back side of PV rows (default = None)

Methods

__init__([horizon_band_angle, ...])

Initialize irradiance model values that will be saved later on.

fit(timestamps, DNI, DHI, solar_zenith, ...)

Use vectorization to calculate values used for the hybrid Perez irradiance model.

get_full_modeling_vectors(pvarray, idx)

Get the modeling vectors used in matrix calculations of mathematical model.

get_full_ts_modeling_vectors(pvarray)

Get the modeling vectors used in matrix calculations of the mathematical model, including the sky values.

get_summed_components(pvarray[, absorbed])

Get sum of irradiance components for irradiance model, either absorbed or only incident.

get_ts_modeling_vectors(pvarray)

Get matrices of summed up irradiance values from a PV array, as well as the inverse reflectivity values (the latter need to be named "inv_rho"), and the total perez irradiance values.

initialize_rho(rho_scalar, rho_calculated, ...)

Initialize reflectivity value: - if a scalar value is passed, use it - otherwise try to use calculated value - else use default value

transform(pvarray)

Apply calculated irradiance values to PV array timeseries geometries: assign values as parameters to timeseries surfaces.

update_ts_surface_sky_term(ts_surface[, ...])

Update the 'sky_term' parameter of a timeseries surface.

Attributes

cats

gnd_illum

Total timeseries irradiance incident on ground illuminated areas

gnd_shaded

Total timeseries irradiance incident on ground shaded areas

irradiance_comp

irradiance_comp_absorbed

params

pvrow_illum

Total timeseries irradiance incident on PV row's front shaded areas and calculated by Perez transposition

pvrow_shaded

Total timeseries irradiance incident on PV row's front illuminated areas and calculated by Perez transposition

sky_luminance

Total timeseries isotropic luminance of sky