Skip to content

Commit 6a47273

Browse files
MLEEFScwhanse
authored andcommitted
Added module types to pvl_FSspeccorr (#10)
* Updated pvl_FSspeccorr to include coefficients for CIGS and amorphus silicon modules * fixed indent on line 163 * Updated reference list for pvl_FSspeccor.m to include additional testing and validation. Reference also includes the SR of CIGS and a-Si modules used to derive coefficients.
1 parent 59a2fd0 commit 6a47273

File tree

1 file changed

+64
-45
lines changed

1 file changed

+64
-45
lines changed

pvl_FSspeccorr.m

Lines changed: 64 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,73 @@
11
function [M] = pvl_FSspeccorr(Pwat,AMa,varargin)
2-
% pvl_FSspeccorr Spectral mismatch modifier based on precipitable water and
2+
% pvl_FSspeccorr Spectral mismatch modifier based on precipitable water and
33
% absolute (pressure corrected) airmass.
4-
%
4+
%
55
% Syntax:
6-
% [M] = pvl_FSspeccorr(Pwat, AMa, pvModType)
6+
% [M] = pvl_FSspeccorr(Pwat, AMa, pvModType)
77
% [M] = pvl_FSspeccorr(Pwat, AMa, custCoeff)
88
%
99
% Description:
10-
%
11-
% Estimates a spectral mismatch modifier M representing the effect on
12-
% module short circuit current of variation in the spectral irradiance.
10+
%
11+
% Estimates a spectral mismatch modifier M representing the effect on
12+
% module short circuit current of variation in the spectral irradiance.
1313
% M is estimated from absolute (pressure currected) air mass, AMa, and
1414
% precipitable water, Pwat, using the following function:
1515
%
16-
% M = coeff(1) + coeff(2)*AMa + coeff(3)*Pwat + coeff(4)*AMa.^.5
17-
% + coeff(5)*Pwat.^.5 + coeff(6)*AMa./Pwat.^0.5 (1)
16+
% M = coeff(1) + coeff(2)*AMa + coeff(3)*Pwat + coeff(4)*AMa.^.5
17+
% + coeff(5)*Pwat.^.5 + coeff(6)*AMa./Pwat.^0.5 (1)
1818
%
19-
% Default coefficients are determined for several cell types with
20-
% known quantum efficiency curves, by using the Simple Model of the
21-
% Atmospheric Radiative Transfer of Sunshine (SMARTS) [1].
22-
% Using SMARTS, spectrums are simulated with all combinations of AMa
19+
% Default coefficients are determined for several cell types with
20+
% known quantum efficiency curves, by using the Simple Model of the
21+
% Atmospheric Radiative Transfer of Sunshine (SMARTS) [1].
22+
% Using SMARTS, spectrums are simulated with all combinations of AMa
2323
% and Pwat where:
2424
% * 0.1 cm <= Pwat <= 5 cm
25-
% * 1.0 <= AMa <= 5
25+
% * 1.0 <= AMa <= 5
2626
% * Spectral range is limited to that of CMP11 (280 nm to 2800 nm)
2727
% * spectrum simulated on a plane normal to the sun
2828
% * All other parameters fixed at G173 standard
29-
% From these simulated spectra, M is calculated using the known quantum
30-
% efficiency curves. Multiple linear regression is then applied to fit
29+
% From these simulated spectra, M is calculated using the known quantum
30+
% efficiency curves. Multiple linear regression is then applied to fit
3131
% Eq. 1 to determine the coefficients for each module.
3232
%
3333
% Function pvl_FSspeccorr was developed by Mitchell Lee and Alex Panchula,
34-
% at First Solar, 2015. Detailed description of spectral correction
35-
% can be found in [2]
34+
% at First Solar, 2015. Detailed description of the spectral correction
35+
% can be found in [2]. Additional validation and testing of the model
36+
% can be found in [3].
3637
%
3738
% Inputs:
3839
% Pwat - atmospheric precipitable water (cm). Can be
3940
% entered as a vector.
40-
% AMa - absolute (pressure corrected) airmass, as a vector of the same
41+
% AMa - absolute (pressure corrected) airmass, as a vector of the same
4142
% length as Pwat
42-
% pvModType - a string specifying a cell type. Can be lower or upper case
43+
% pvModType - a string specifying a cell type. Can be lower or upper case
4344
% letters. Admits values of 'cdte', 'monosi'='xsi', 'multisi'='polysi'.
4445
% If provided, this input
4546
% selects coefficients for the following default modules:
46-
% 'cdte' - coefficients for First Solar Series 4-2 CdTe modules.
47+
% 'cdte' - coefficients for First Solar Series 4-2 CdTe modules.
4748
% 'monosi','xsi' - coefficients for First Solar TetraSun modules.
48-
% 'multisi','polysi' - coefficients for multi-crystalline silicon
49+
% 'multisi','polysi' - coefficients for multi-crystalline silicon
4950
% modules. The module used to calculate the spectral
50-
% correction coefficients corresponds to the Mult-crystalline
51-
% silicon Manufacturer 2 Model C from [3].
51+
% correction coefficients corresponds to the Mult-crystalline
52+
% silicon Manufacturer 2 Model C from [4].
53+
% 'cigs' - coefficients for anonymous copper indium gallium selenide
54+
% PV module. Lower and upper limits of QE are 350 nm and 1300 nm,
55+
% respectively. Please note that the QE of CIGS modules
56+
% can vary significantly depending on the PV manufacture and
57+
% vintage. Spectral Response of module module used to derive
58+
% CIGS coefficients can be found in [3].
59+
% 'asi' - coefficients for anonymous amorphous silicon PV module.
60+
% Lower and upper limits of QE are 280 nm and 800 nm,
61+
% respectively. Please note that the QE of a-Si modules
62+
% can vary significantly depending on the PV manufacture and
63+
% vintage. Spectral Response of module module used to derive
64+
% a-Si coefficients can be found in [3].
5265
% custCoeff - allows for entry of user defined spectral correction
53-
% coefficients. Coefficients must be entered as a numeric row or
54-
% column vector of length 6. Derivation of coefficients requires use
55-
% of SMARTS and PV module quantum efficiency curve. Useful for modeling
66+
% coefficients. Coefficients must be entered as a numeric row or
67+
% column vector of length 6. Derivation of coefficients requires use
68+
% of SMARTS and PV module quantum efficiency curve. Useful for modeling
5669
% PV module types which are not included as defaults, or to fine tune
57-
% the spectral correction to a particular mono-Si, multi-Si, or CdTe
70+
% the spectral correction to a particular mono-Si, multi-Si, or CdTe
5871
% PV module. Note that the parameters for modules with very
5972
% similar QE should be similar, in most cases limiting the need for
6073
% module specific coefficients.
@@ -67,19 +80,21 @@
6780
% to electrical current.
6881
%
6982
% References:
70-
% [1] Gueymard, Christian. SMARTS2: a simple model of the atmospheric
71-
% radiative transfer of sunshine: algorithms and performance
83+
% [1] Gueymard, Christian. SMARTS2: a simple model of the atmospheric
84+
% radiative transfer of sunshine: algorithms and performance
7285
% assessment. Cocoa, FL: Florida Solar Energy Center, 1995.
7386
% [2] Lee, Mitchell, and Panchula, Alex. "Spectral Correction for
74-
% Photovoltaic Module Performance Based on Air Mass and Precipitable
75-
% Water." IEEE Photovoltaic Specialists Conference, Portland, 2016
76-
% [3] Marion, William F., et al. User's Manual for Data for Validating
87+
% Photovoltaic Module Performance Based on Air Mass and Precipitable
88+
% Water." IEEE Photovoltaic Specialists Conference, Portland, 2016
89+
% [3] Schweiger, M. and Hermann, W, Influence of Spectral Effects on
90+
% Energy Yield of Different PV Modules: Comparison of Pwat and
91+
% MMF Approach, TUV Rheinland Energy GmbH report 21237296.003, January 2017
92+
% [4] Marion, William F., et al. User's Manual for Data for Validating
7793
% Models for PV Module Performance. National Renewable Energy Laboratory, 2014.
7894
% http://www.nrel.gov/docs/fy14osti/61610.pdf
7995

8096

81-
82-
% Correct for AMa and Pwat having transposed dimensions
97+
% Correct for AMa and Pwat having transposed dimensions
8398
if isrow(AMa)
8499
AMa = AMa';
85100
end
@@ -108,17 +123,17 @@
108123
% *** AMa ***
109124
% Replace Extremely High AM with AM 10 to prevent model divergence
110125
% AM > 10 will only occur very close to sunset
111-
if max(AMa) > 10
112-
AMa(AMa > 10) = 10;
126+
if max(AMa) > 10
127+
AMa(AMa > 10) = 10;
113128
end
114129

115130
% Warn user about AMa data that is exceptionally low
116131
if min(AMa) < 0.58
117-
warning(['Exceptionally low air mass: ',...
118-
'model not intended for extra-terrestrial use'])
119-
% pvl_absoluteairmass(1,pvl_alt2pres(4340)) = 0.58
120-
% Elevation of Mina Pirquita, Argentian = 4340 m. Highest elevation city
121-
% with population over 50,000.
132+
warning(['Exceptionally low air mass: ',...
133+
'model not intended for extra-terrestrial use'])
134+
% pvl_absoluteairmass(1,pvl_alt2pres(4340)) = 0.58
135+
% Elevation of Mina Pirquita, Argentian = 4340 m. Highest elevation city
136+
% with population over 50,000.
122137
end
123138

124139
% If user input is a character array, use appropriate default coefficients.
@@ -131,22 +146,26 @@
131146
% For modeling the performance of earlier CdTe module series,
132147
% use the coefficients that are commented out
133148
% [0.79418,-0.049883,-0.013402,0.16766,0.083377,-0.0044007];
134-
coeff = [0.86273, -0.038948, -0.012506, 0.098871, 0.084658, -0.0042948];
149+
coeff = [0.86273, -0.038948, -0.012506, 0.098871, 0.084658, -0.0042948];
135150
case {'monosi','xsi'}
136151
% Coefficients for First Solar TetraSun Modules
137-
coeff = [0.85914, -0.020880, -0.0058853, 0.12029, 0.026814, -0.0017810];
152+
coeff = [0.85914, -0.020880, -0.0058853, 0.12029, 0.026814, -0.0017810];
138153
case {'polysi','multisi'}
139154
% Coefficients for Multi-Si: Manufacturer 2 Model C
140155
coeff = [0.84090, -0.027539, -0.0079224, 0.13570, 0.038024, -0.0021218];
156+
case 'cigs'
157+
coeff = [0.85252, -0.022314, -0.0047216, 0.13666, 0.013342, -0.0008945];
158+
case 'asi'
159+
coeff = [1.12094, -0.047620, -0.0083627, -0.10443, 0.098382,-0.0033818];
141160
otherwise
142161
error('Incorrect module type for use of default parameters')
143162
end
144-
% User input coefficients
163+
% User input coefficients
145164
else
146165
coeff = varargin{1};
147166
end
148167

149168
% Evaluate Spectral Shift
150-
M = coeff(1) + coeff(2)*AMa + coeff(3)*Pwat + coeff(4)*AMa.^.5 + coeff(5)*Pwat.^.5 + coeff(6)*AMa./Pwat.^0.5;
169+
M = coeff(1) + coeff(2)*AMa + coeff(3)*Pwat + coeff(4)*AMa.^.5 + coeff(5)*Pwat.^.5 + coeff(6)*AMa./Pwat.^0.5;
151170
end
152171

0 commit comments

Comments
 (0)