@@ -531,26 +531,68 @@ def spectral_factor_firstsolar(precipitable_water, airmass_absolute,
531
531
532
532
def spectral_factor_sapm (airmass_absolute , module ):
533
533
"""
534
- Calculates the SAPM spectral loss coefficient, F1.
534
+ Calculates the spectral mismatch factor, :math:`f_1`,
535
+ using the Sandia Array Performance Model approach.
536
+
537
+ The SAPM spectral factor function is part of the broader Sandia Array
538
+ Performance Model, which defines five points on an IV curve using empirical
539
+ module-specific coefficients. Module coefficients for the SAPM are
540
+ available in the SAPM database and can be retrieved for use in the
541
+ ``module`` parameter through
542
+ :py:func:`pvlib.pvsystem.retrieve_sam()`. More details on the
543
+ SAPM can be found in [1]_, while a full description of the procedure to
544
+ determine the empirical model coefficients, including those for the SAPM
545
+ spectral correction, can be found in [2]_.
535
546
536
547
Parameters
537
548
----------
538
549
airmass_absolute : numeric
539
- Absolute airmass
550
+ Absolute airmass [unitless]
551
+
552
+ Note: ``np.nan`` airmass values will result in 0 output.
540
553
541
554
module : dict-like
542
- A dict, Series, or DataFrame defining the SAPM performance
543
- parameters. See the :py:func:`sapm` notes section for more
544
- details.
555
+ A dict, Series, or DataFrame defining the SAPM parameters.
556
+ Must contain keys `'A0'` through `'A4'`.
557
+ See the :py:func:`pvlib.pvsystem.sapm` notes section for more details.
545
558
546
559
Returns
547
560
-------
548
- F1 : numeric
561
+ f1 : numeric
549
562
The SAPM spectral loss coefficient.
550
563
551
564
Notes
552
565
-----
553
- nan airmass values will result in 0 output.
566
+ The SAPM spectral correction functions parameterises :math:`f_1` as a
567
+ fourth order polynomial function of absolute air mass:
568
+
569
+ .. math::
570
+
571
+ f_1 = a_0 + a_1 AM_a + a_2 AM_a^2 + a_3 AM_a^3 + a_4 AM_a^4,
572
+
573
+ where :math:`f_1` is the spectral mismatch factor, :math:`a_{0-4}` are
574
+ the module-specific coefficients, and :math:`AM_a` is the absolute airmass,
575
+ which is calculated by applying a pressure correction to the relative
576
+ airmass. More detail on how this spectral correction function was developed
577
+ can be found in [3]_.
578
+
579
+ References
580
+ ----------
581
+ .. [1] King, D., Kratochvil, J., and Boyson W. (2004), "Sandia
582
+ Photovoltaic Array Performance Model", (No. SAND2004-3535), Sandia
583
+ National Laboratories, Albuquerque, NM (United States).
584
+ :doi:`10.2172/919131`
585
+ .. [2] King, B., Hansen, C., Riley, D., Robinson, C., and Pratt, L.
586
+ (2016). Procedure to determine coefficients for the Sandia Array
587
+ Performance Model (SAPM) (No. SAND2016-5284). Sandia National
588
+ Laboratories, Albuquerque, NM (United States).
589
+ :doi:`10.2172/1256510`
590
+ .. [3] King, D., Kratochvil, J., and Boyson, W. "Measuring solar spectral
591
+ and angle-of-incidence effects on photovoltaic modules and solar
592
+ irradiance sensors." Conference Record of the 26th IEEE Potovoltaic
593
+ Specialists Conference (PVSC). IEEE, 1997.
594
+ :doi:`10.1109/PVSC.1997.654283`
595
+
554
596
"""
555
597
556
598
am_coeff = [module ['A4' ], module ['A3' ], module ['A2' ], module ['A1' ],
@@ -581,7 +623,7 @@ def spectral_factor_caballero(precipitable_water, airmass_absolute, aod500,
581
623
available here via the ``module_type`` parameter were determined
582
624
by fitting the model equations to spectral factors calculated from
583
625
global tilted spectral irradiance measurements taken in the city of
584
- Jaén, Spain. See [1]_ for details.
626
+ Jaén, Spain. See [1]_ for details.
585
627
586
628
Parameters
587
629
----------
0 commit comments