pvlib.iam.interp(aoi, theta_ref, iam_ref, method='linear', normalize=True)[source]#

Determine the incidence angle modifier (IAM) by interpolating a set of reference values, which are usually measured values.

  • aoi (numeric) – The angle of incidence between the module normal vector and the sun-beam vector [degrees].

  • theta_ref (numeric) – Vector of angles at which the IAM is known [degrees].

  • iam_ref (numeric) – IAM values for each angle in theta_ref [unitless].

  • method (str, default 'linear') – Specifies the interpolation method. Useful options are: ‘linear’, ‘quadratic’, ‘cubic’. See scipy.interpolate.interp1d for more options.

  • normalize (boolean, default True) – When true, the interpolated values are divided by the interpolated value at zero degrees. This ensures that iam=1.0 at normal incidence.


iam (numeric) – The incident angle modifier(s) [unitless]


theta_ref 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 theta_ref, IAM values are extrapolated, but constrained to be non-negative.

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