pvlib.iam.sapm(aoi, module, upper=None)[source]#

Determine the incidence angle modifier (IAM) using the SAPM model.

  • aoi (numeric) – Angle of incidence in degrees. Negative input angles will return zeros.

  • module (dict-like) – A dict or Series with the SAPM IAM model parameters. See the sapm() notes section for more details.

  • upper (None or float, default None) – Upper limit on the results.


iam (numeric) – The SAPM angle of incidence loss coefficient, termed F2 in 1.


The SAPM 1 traditionally does not define an upper limit on the AOI loss function and values slightly exceeding 1 may exist for moderate angles of incidence (15-40 degrees). However, users may consider imposing an upper limit of 1.



King, D. et al, 2004, “Sandia Photovoltaic Array Performance Model”, SAND Report 3535, Sandia National Laboratories, Albuquerque, NM.


B.H. King et al, “Procedure to Determine Coefficients for the Sandia Array Performance Model (SAPM),” SAND2016-5284, Sandia National Laboratories (2016).


B.H. King et al, “Recent Advancements in Outdoor Measurement Techniques for Angle of Incidence Effects,” 42nd IEEE PVSC (2015). DOI: 10.1109/PVSC.2015.7355849

Examples using pvlib.iam.sapm#

Diffuse IAM Calculation

Diffuse IAM Calculation

Diffuse IAM Calculation