sunpeek.components.iam_methods.get_iam_interpolated#

sunpeek.components.iam_methods.get_iam_interpolated(aoi, iam_reference, aoi_reference, azimuth_diff=<Quantity(0, 'degree')>)#

Determines the incidence angle modifier by interpolating over a set of given reference values.

Parameters:
  • aoi (pandas.Series) – The angle of incidence between the module normal vector and the sun-beam vector, as pint (unit aware) pandas Series. Angles of NaN will result in NaN.

  • aoi_reference (pint.Quantity) – Vector of angles at which the IAM is known [degrees].

  • iam_reference (pint.Quantity) – IAM values for each angle in aoi_reference [unitless].

  • azimuth_diff (pandas.Series) – The difference between solar and collector azimuth angle [degrees].

Returns:

A unit-aware, dimensionless pandas Series containing the IAM values.

Return type:

pandas.Series

Notes

Determines the IAM based on interpolating a set of reference values based on ISO 9806 [1]. This is similar to pvlib.iam.interp, but allows separation in longitudinal and transversal plane, whereas pvlib works only for symmetric collector IAMs.

The IAM reference values iam_reference are usually measured values [1].

aoi_reference must have two or more points and may span any range of angles. Typically there will be a dozen or more points in the range 0..90 degrees. Beyond the range of aoi_reference, IAM values are extrapolated, but constrained to be non-negative.

The sign of aoi is ignored; only the magnitude is used.

See also

pvlib.iam.interp

References