pvfactors.geometry.pvarray.OrderedPVArray

class pvfactors.geometry.pvarray.OrderedPVArray(axis_azimuth=None, gcr=None, pvrow_height=None, n_pvrows=None, pvrow_width=None, param_names=None, cut=None)[source]

An ordered PV array has a flat horizontal ground, and pv rows which are all at the same height, with the same surface tilt and azimuth angles, and also all equally spaced. These simplifications allow faster and easier calculations. In the ordered PV array, the list of PV rows must be ordered from left to right (along the x-axis) in the 2D geometry.

__init__(axis_azimuth=None, gcr=None, pvrow_height=None, n_pvrows=None, pvrow_width=None, param_names=None, cut=None)[source]

Initialize ordered PV array. List of PV rows will be ordered from left to right.

Parameters
  • axis_azimuth (float, optional) – Azimuth angle of rotation axis [deg] (Default = None)

  • gcr (float, optional) – Ground coverage ratio (Default = None)

  • pvrow_height (float, optional) – Unique height of all PV rows in [m] (Default = None)

  • n_pvrows (int, optional) – Number of PV rows in the PV array (Default = None)

  • pvrow_width (float, optional) – Width of the PV rows in the 2D plane in [m] (Default = None)

  • param_names (list of str, optional) – List of surface parameter names for the PV surfaces (Default = None)

  • cut (dict, optional) – Nested dictionary that tells if some PV row sides need to be discretized, and how (Default = None). Example: {1: {‘front’: 5}}, will create 5 segments on the front side of the PV row with index 1

Methods

__init__([axis_azimuth, gcr, pvrow_height, ...])

Initialize ordered PV array.

fit(solar_zenith, solar_azimuth, ...)

Fit the ordered PV array to the list of solar and surface angles.

fit_from_dict_of_scalars(pvarray_params[, ...])

Instantiate, and fit ordered PV array using dictionary of scalar inputs.

init_from_dict(pvarray_params[, param_names])

Instantiate ordered PV array from dictionary of parameters

Attributes

y_ground