@@ -711,30 +711,25 @@ def spectral_factor_jrc(airmass, clearsky_index, module_type=None,
711711 )
712712 return mismatch
713713
714- def spectral_factor_polo (precipitable_water , airmass_absolute , aod500 , aoi , altitude ,
715- module_type = None , coefficients = None , albedo = 0.2 ):
714+
715+ def spectral_factor_polo (precipitable_water , airmass_absolute , aod500 , aoi ,
716+ altitude , module_type = None , coefficients = None ,
717+ albedo = 0.2 ):
716718 """
717719 Estimation of spectral mismatch for BIPV application in vertical facades.
718-
719-
720-
721720 Parameters
722721 ----------
723722 precipitable_water : numeric
724723 atmospheric precipitable water. [cm]
725724
726725 airmass_absolute : numeric
727726 absolute (pressure-adjusted) airmass. [unitless]
728-
729727 aod500 : numeric
730728 atmospheric aerosol optical depth at 500 nm. [unitless]
731-
732729 aoi : numeric
733730 angle of incidence. [degrees]
734-
735731 altitude: numeric
736- altitude over sea level. [m]
737-
732+ altitude over sea level. [m]
738733 module_type : str, optional
739734 One of the following PV technology strings from [1]_:
740735
@@ -743,11 +738,11 @@ def spectral_factor_polo(precipitable_water, airmass_absolute, aod500, aoi, alti
743738 * ``'cigs'`` - anonymous copper indium gallium selenide module.
744739 * ``'asi'`` - anonymous amorphous silicon module.
745740 albedo
746- Ground albedo (default value if 0.2). [unitless]
741+ Ground albedo (default value if 0.2). [unitless]
747742
748743 coefficients : array-like, optional
749744 user-defined coefficients, if not using one of the default coefficient
750- sets via the ``module_type`` parameter.
745+ set via the ``module_type`` parameter.
751746
752747 Returns
753748 -------
@@ -761,7 +756,7 @@ def spectral_factor_polo(precipitable_water, airmass_absolute, aod500, aoi, alti
761756 ----------
762757 [1]. Polo, J., Sanz-saiz, C., Development of spectral mismatch models
763758 for BIPV applications in building façades Abbreviations : Renew. Energy 245, 122820, 2025.
764- https:// doi.org/ 10.1016/j.renene.2025.122820
759+ : doi:` 10.1016/j.renene.2025.122820`
765760
766761 """
767762 if module_type is None and coefficients is None :
@@ -776,36 +771,33 @@ def spectral_factor_polo(precipitable_water, airmass_absolute, aod500, aoi, alti
776771 Ram = am90 / airmass_absolute
777772
778773 _coefficients = {}
779- _coefficients ['cdte' ]= (
780- - 0.0009 ,46.80 ,49.20 ,- 0.87 , 0.00041 ,0.053 )
781- _coefficients ['monosi' ]= (
782- 0.0027 ,10.34 ,9.48 ,0.307 ,0.00077 ,0.006 )
783- _coefficients ['cigs' ]= (
784- 0.0017 ,2.33 ,1.30 ,0.11 ,0.00098 ,- 0.0177 )
785- _coefficients ['asi' ]= (
786- 0.0024 ,7.32 ,7.09 ,- 0.72 ,- 0.0013 ,0.089 )
787-
788- c = {}
789- c ['asi' ]= (0.0056 ,- 0.020 ,1.014 )
790- c ['cigs' ]= (- 0.0009 ,- 0.0003 ,1 )
791- c ['cdte' ]= (0.0021 ,- 0.01 ,1.01 )
792- c ['monosi' ]= (0 ,- 0.003 ,1.0 )
774+ _coefficients = {
775+ 'cdte' : (- 0.0009 , 46.80 , 49.20 , - 0.87 , 0.00041 , 0.053 ),
776+ 'monosi' : (0.0027 , 10.34 , 9.48 , 0.307 , 0.00077 , 0.006 ),
777+ 'cigs' : (0.0017 , 2.33 , 1.30 , 0.11 , 0.00098 , - 0.0177 ),
778+ 'asi' : (0.0024 , 7.32 , 7.09 , - 0.72 , - 0.0013 , 0.089 ),
779+ }
793780
781+ c = {
782+ 'asi' : (0.0056 , - 0.020 , 1.014 ),
783+ 'cigs' : (- 0.0009 , - 0.0003 , 1 ),
784+ 'cdte' : (0.0021 , - 0.01 , 1.01 ),
785+ 'monosi' : (0 , - 0.003 , 1.0 ),
786+ }
794787
795788 if module_type is not None :
796789 coeff = _coefficients [module_type ]
797- c_albedo = c [module_type ]
790+ c_albedo = c [module_type ]
798791 else :
799792 coeff = coefficients
800- c_albedo = (0.0 ,0.0 ,1.0 ) # 0.2 albedo assumed
801- albedo = 0.2
802-
793+ c_albedo = (0.0 , 0.0 , 1.0 ) # 0.2 albedo assumed
794+ albedo = 0.2
803795
804- smm = coeff [0 ]* Ram + coeff [1 ]/ (coeff [2 ]+ Ram ** coeff [3 ])+ coeff [4 ]/ aod500 + coeff [5 ]* np .sqrt (precipitable_water )
796+ smm = coeff [0 ] * Ram + coeff [1 ] / (coeff [2 ] + Ram ** coeff [3 ]) \
797+ + coeff [4 ] / aod500 + coeff [5 ]* np .sqrt (precipitable_water )
798+
805799 # Ground albedo correction
806-
807- g = c_albedo [0 ]* (albedo / 0.2 )** 2 + c_albedo [1 ]* (albedo / 0.2 )+ c_albedo [2 ]
808-
809-
800+ g = c_albedo [0 ] * (albedo / 0.2 )** 2 \
801+ + c_albedo [1 ] * (albedo / 0.2 ) + c_albedo [2 ]
802+
810803 return g * smm
811-
0 commit comments