pecos.pv module

The pv module contains custom methods for PV applications.

pecos.pv.insolation(G, tfilter=None)[source]

Compute insolation defined as:

\(H=\int{Gdt}\)

where \(G\) is irradiance and \(dt\) is the time step between observations. The time integral is computed using the trapezoidal rule. Results are given in [irradiance units]*seconds.

Parameters:
  • G (pandas DataFrame) – Irradiance time series

  • tfilter (pandas Series, optional) – Time filter containing boolean values for each time index

Returns:

pandas Series – Insolation

pecos.pv.energy(P, tfilter=None)[source]

Convert energy defined as:

\(E=\int{Pdt}\)

where \(P\) is power and \(dt\) is the time step between observations. The time integral is computed using the trapezoidal rule. Results are given in [power units]*seconds.

Parameters:
  • P (pandas DataFrame) – Power time series

  • tfilter (pandas Series, optional) – Time filter containing boolean values for each time index

Returns:

pandas Series – Energy

pecos.pv.performance_ratio(E, H_poa, P_ref, G_ref=1000)[source]

Compute performance ratio defined as:

\(PR=\dfrac{Y_{f}}{Yr} = \dfrac{\dfrac{E}{P_{ref}}}{\dfrac{H_{poa}}{G_{ref}}}\)

where \(Y_f\) is the observed energy (AC or DC) produced by the PV system (kWh) divided by the DC power rating at STC conditions. \(Y_r\) is the plane-of-array insolation (kWh/m2) divided by the reference irradiance (1000 W/m2).

Parameters:
  • E (pandas Series or float) – Energy (AC or DC)

  • H_poa (pandas Series or float) – Plane of array insolation

  • P_ref (float) – DC power rating at STC conditions

  • G_ref (float, optional) – Reference irradiance, default = 1000

Returns:

pandas Series or float – Performance ratio in a pandas Series (if E or H_poa are Series) or float (if E and H_poa are floats)

pecos.pv.normalized_current(I, G_poa, I_sco, G_ref=1000)[source]

Compute normalized current defined as:

\(NI = \dfrac{\dfrac{I}{I_{sco}}}{\dfrac{G_{poa}}{G_{ref}}}\)

where \(I\) is current, \(I_{sco}\) is the short circuit current at STC conditions, \(G_{poa}\) is the plane-of-array irradiance, and \(G_{ref}\) is the reference irradiance.

Parameters:
  • I (pandas Series or float) – Current

  • G_poa (pandas Series or float) – Plane of array irradiance

  • I_sco (float) – Short circuit current at STC conditions

  • G_ref (float, optional) – Reference irradiance, default = 1000

Returns:

pandas Series or float – Normalized current in a pandas Series (if I or G_poa are Series) or float (if I and G_poa are floats)

pecos.pv.normalized_efficiency(P, G_poa, P_ref, G_ref=1000)[source]

Compute normalized efficiency defined as:

\(NE = \dfrac{\dfrac{P}{P_{ref}}}{\dfrac{G_{poa}}{G_{ref}}}\)

where \(P\) is the observed power (AC or DC), \(P_{ref}\) is the DC power rating at STC conditions, \(G_{poa}\) is the plane-of-array irradiance, and \(G_{ref}\) is the reference irradiance.

Parameters:
  • P (pandas Series or float) – Power (AC or DC)

  • G_poa (pandas Series or float) – Plane of array irradiance

  • P_ref (float) – DC power rating at STC conditions

  • G_ref (float, optional) – Reference irradiance, default = 1000

Returns:

pandas Series or float – Normalized efficiency in a pandas Series (if P or G_poa are Series) or float (if P and G_poa are floats)

pecos.pv.performance_index(E, E_predicted)[source]

Compute performance index defined as:

\(PI=\dfrac{E}{\hat{E}}\)

where \(E\) is the observed energy from a PV system and \(\hat{E}\) is the predicted energy over the same time frame. \(\hat{E}\) can be computed using methods in pvlib.pvsystem and then convert power to energy using pecos.pv.enery.

Unlike with the performance ratio, the performance index should be very close to 1 for a well functioning PV system and should not vary by season due to temperature variations.

Parameters:
  • E (pandas Series or float) – Observed energy

  • E_predicted (pandas Series or float) – Predicted energy

Returns:

pandas Series or float – Performance index in a pandas Series (if E or E_predicted are Series) or float (if E and E_predicted are floats)

pecos.pv.energy_yield(E, P_ref)[source]

Compute energy yield is defined as:

\(EY=\dfrac{E}{P_{ref}}\)

where \(E\) is the observed energy from a PV system and \(P_{ref}\) is the DC power rating of the system at STC conditions.

Parameters:
  • E (pandas Series or float) – Observed energy

  • P_ref (float) – DC power rating at STC conditions

Returns:

pandas Series or float – Energy yield

pecos.pv.clearness_index(H_dn, H_ea)[source]

Compute clearness index defined as:

\(Kt=\dfrac{H_{dn}}{H_{ea}}\)

where \(H_{dn}\) is the direct-normal insolation (kWh/m2) \(H_{ea}\) is the extraterrestrial insolation (kWh/m2) over the same time frame. Extraterrestrial irradiation can be computed using pvlib.irradiance.extraradiation. Irradiation can be converted to insolation using pecos.pv.insolation.

Parameters:
  • H_dn (pandas Series or float) – Direct normal insolation

  • H_ea (pandas Series or float) – Extraterrestrial insolation

Returns:

pandas Series or float – Clearness index in a pandas Series (if H_dn or H_ea are Series) or float (if H_dn and H_ea are floats)