|
1 | 1 | 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 |
3 | 3 | % absolute (pressure corrected) airmass. |
4 | | -% |
| 4 | +% |
5 | 5 | % Syntax: |
6 | | -% [M] = pvl_FSspeccorr(Pwat, AMa, pvModType) |
| 6 | +% [M] = pvl_FSspeccorr(Pwat, AMa, pvModType) |
7 | 7 | % [M] = pvl_FSspeccorr(Pwat, AMa, custCoeff) |
8 | 8 | % |
9 | 9 | % 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. |
13 | 13 | % M is estimated from absolute (pressure currected) air mass, AMa, and |
14 | 14 | % precipitable water, Pwat, using the following function: |
15 | 15 | % |
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) |
18 | 18 | % |
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 |
23 | 23 | % and Pwat where: |
24 | 24 | % * 0.1 cm <= Pwat <= 5 cm |
25 | | -% * 1.0 <= AMa <= 5 |
| 25 | +% * 1.0 <= AMa <= 5 |
26 | 26 | % * Spectral range is limited to that of CMP11 (280 nm to 2800 nm) |
27 | 27 | % * spectrum simulated on a plane normal to the sun |
28 | 28 | % * 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 |
31 | 31 | % Eq. 1 to determine the coefficients for each module. |
32 | 32 | % |
33 | 33 | % 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]. |
36 | 37 | % |
37 | 38 | % Inputs: |
38 | 39 | % Pwat - atmospheric precipitable water (cm). Can be |
39 | 40 | % 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 |
41 | 42 | % 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 |
43 | 44 | % letters. Admits values of 'cdte', 'monosi'='xsi', 'multisi'='polysi'. |
44 | 45 | % If provided, this input |
45 | 46 | % 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. |
47 | 48 | % 'monosi','xsi' - coefficients for First Solar TetraSun modules. |
48 | | -% 'multisi','polysi' - coefficients for multi-crystalline silicon |
| 49 | +% 'multisi','polysi' - coefficients for multi-crystalline silicon |
49 | 50 | % 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]. |
52 | 65 | % 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 |
56 | 69 | % 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 |
58 | 71 | % PV module. Note that the parameters for modules with very |
59 | 72 | % similar QE should be similar, in most cases limiting the need for |
60 | 73 | % module specific coefficients. |
|
67 | 80 | % to electrical current. |
68 | 81 | % |
69 | 82 | % 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 |
72 | 85 | % assessment. Cocoa, FL: Florida Solar Energy Center, 1995. |
73 | 86 | % [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 |
77 | 93 | % Models for PV Module Performance. National Renewable Energy Laboratory, 2014. |
78 | 94 | % http://www.nrel.gov/docs/fy14osti/61610.pdf |
79 | 95 |
|
80 | 96 |
|
81 | | - |
82 | | -% Correct for AMa and Pwat having transposed dimensions |
| 97 | +% Correct for AMa and Pwat having transposed dimensions |
83 | 98 | if isrow(AMa) |
84 | 99 | AMa = AMa'; |
85 | 100 | end |
|
108 | 123 | % *** AMa *** |
109 | 124 | % Replace Extremely High AM with AM 10 to prevent model divergence |
110 | 125 | % 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; |
113 | 128 | end |
114 | 129 |
|
115 | 130 | % Warn user about AMa data that is exceptionally low |
116 | 131 | 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. |
122 | 137 | end |
123 | 138 |
|
124 | 139 | % If user input is a character array, use appropriate default coefficients. |
|
131 | 146 | % For modeling the performance of earlier CdTe module series, |
132 | 147 | % use the coefficients that are commented out |
133 | 148 | % [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]; |
135 | 150 | case {'monosi','xsi'} |
136 | 151 | % 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]; |
138 | 153 | case {'polysi','multisi'} |
139 | 154 | % Coefficients for Multi-Si: Manufacturer 2 Model C |
140 | 155 | 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]; |
141 | 160 | otherwise |
142 | 161 | error('Incorrect module type for use of default parameters') |
143 | 162 | end |
144 | | -% User input coefficients |
| 163 | +% User input coefficients |
145 | 164 | else |
146 | 165 | coeff = varargin{1}; |
147 | 166 | end |
148 | 167 |
|
149 | 168 | % 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; |
151 | 170 | end |
152 | 171 |
|
0 commit comments