pvlib.pvsystem.sapm_spectral_loss#

pvlib.pvsystem.sapm_spectral_loss(airmass_absolute, module)#

Deprecated since version 0.10.0: The spectral_factor_sapm function was deprecated in pvlib 0.10.0 and will be removed soon. Use pvlib.spectrum.spectral_factor_sapm instead.

Calculates the spectral mismatch factor, \(f_1\), using the Sandia Array Performance Model approach.

The SAPM spectral factor function is part of the broader Sandia Array Performance Model, which defines five points on an IV curve using empirical module-specific coefficients. Module coefficients for the SAPM are available in the SAPM database and can be retrieved for use in the module parameter through pvlib.pvsystem.retrieve_sam(). More details on the SAPM can be found in [1], while a full description of the procedure to determine the empirical model coefficients, including those for the SAPM spectral correction, can be found in [2].

Parameters:
  • airmass_absolute (numeric) –

    Absolute airmass [unitless]

    Note: np.nan airmass values will result in 0 output.

  • module (dict-like) – A dict, Series, or DataFrame defining the SAPM parameters. Must contain keys ‘A0’ through ‘A4’. See the pvlib.pvsystem.sapm() notes section for more details.

Returns:

f1 (numeric) – The spectral mismatch factor. [unitless]

Notes

The SAPM spectral correction functions parameterises \(f_1\) as a fourth order polynomial function of absolute air mass:

\[f_1 = a_0 + a_1 AM_a + a_2 AM_a^2 + a_3 AM_a^3 + a_4 AM_a^4,\]

where \(f_1\) is the spectral mismatch factor, \(a_{0-4}\) are the module-specific coefficients, and \(AM_a\) is the absolute airmass, which is calculated by applying a pressure correction to the relative airmass. More detail on how this spectral correction function was developed can be found in [3].

References