pvfactors.geometry.pvground.TsGround

class pvfactors.geometry.pvground.TsGround(shadow_elements, illum_elements, param_names=None, flag_overlap=None, cut_point_coords=None, y_ground=None)[source]

Timeseries ground class: this class is a vectorized version of the PV ground geometry class, and it will store timeseries shaded ground and illuminated ground elements, as well as pv row cut points.

__init__(shadow_elements, illum_elements, param_names=None, flag_overlap=None, cut_point_coords=None, y_ground=None)[source]

Initialize timeseries ground using list of timeseries surfaces for the ground shadows

Parameters
  • shadow_elements (list of TsGroundElement) – Timeseries shaded ground elements

  • illum_elements (list of TsGroundElement) – Timeseries illuminated ground elements

  • param_names (list of str, optional) – List of names of surface parameters to use when creating geometries (Default = None)

  • flag_overlap (list of bool, optional) – Flags indicating if the ground shadows are overlapping, for all time steps (Default=None). I.e. is there direct shading on pv rows?

  • cut_point_coords (list of TsPointCoords, optional) – List of cut point coordinates, as calculated for timeseries PV rows (Default = None)

  • y_ground (float, optional) – Y coordinate of flat ground [m] (Default=None)

Methods

__init__(shadow_elements, illum_elements[, ...])

Initialize timeseries ground using list of timeseries surfaces for the ground shadows

at(idx[, x_min_max, merge_if_flag_overlap, ...])

Generate a PV ground geometry for the desired index.

from_ordered_shadows_coords(shadow_coords[, ...])

Create timeseries ground from list of ground shadow coordinates.

from_ts_pvrows_and_angles(list_ts_pvrows, ...)

Create timeseries ground from list of timeseries PV rows, and PV array and solar angles.

get_param_weighted(param)

Get timeseries parameter for the ts ground, after weighting by surface length.

get_param_ww(param)

Get timeseries parameter from the ground's surfaces with weight, i.e. after multiplying by the surface lengths.

n_non_point_surfaces_at(idx)

Return the number of PVSurface that are not points at given index

non_point_illum_surfaces_at(idx)

Return a list of illuminated surfaces, that are not points at given index

non_point_shaded_surfaces_at(idx)

Return a list of shaded surfaces, that are not points at given index

non_point_surfaces_at(idx)

Return a list of all surfaces that are not points at given index

plot_at_idx(idx, ax[, color_shaded, ...])

Plot timeseries ground at a certain index.

shadow_coords_left_of_cut_point(idx_cut_pt)

Get coordinates of shadows located on the left side of the cut point with given index.

shadow_coords_right_of_cut_point(idx_cut_pt)

Get coordinates of shadows located on the right side of the cut point with given index.

ts_surfaces_side_of_cut_point(side, idx_cut_pt)

Get a list of all the ts ground surfaces an a request side of a cut point

update_illum_params(new_dict)

Update the illuminated parameters with new ones, not only for the timeseries ground, but also for its ground elements and the timeseries surfaces of the ground elements, so that they are all synced.

update_params(new_dict)

Update the illuminated parameters with new ones, not only for the timeseries ground, but also for its ground elements and the timeseries surfaces of the ground elements, so that they are all synced.

update_shaded_params(new_dict)

Update the shaded parameters with new ones, not only for the timeseries ground, but also for its ground elements and the timeseries surfaces of the ground elements, so that they are all synced.

Attributes

all_ts_surfaces

Number of timeseries surfaces in the ts ground

length

Length of the timeseries ground

n_ts_illum_surfaces

Number of illuminated timeseries surfaces in the ts ground

n_ts_shaded_surfaces

Number of shaded timeseries surfaces in the ts ground

n_ts_surfaces

Number of timeseries surfaces in the ts ground

shaded_length

Length of the timeseries ground

x_max

x_min