|
27 | 27 | # a dict of required parameter names for each DC power model |
28 | 28 | _DC_MODEL_PARAMS = { |
29 | 29 | 'sapm': { |
30 | | - 'C0', 'C1', 'C2', 'C3', # C4-C7 (i_x and i_xx params) not required |
| 30 | + # i_x and i_xx params (IXO, IXXO, C4-C7) not required |
| 31 | + 'C0', 'C1', 'C2', 'C3', |
31 | 32 | 'Isco', 'Impo', 'Voco', 'Vmpo', 'Aisc', 'Aimp', 'Bvoco', |
32 | | - 'Mbvoc', 'Bvmpo', 'Mbvmp', 'N', 'Cells_in_Series', |
33 | | - 'IXO', 'IXXO'}, |
| 33 | + 'Mbvoc', 'Bvmpo', 'Mbvmp', 'N', 'Cells_in_Series'}, |
34 | 34 | 'desoto': { |
35 | 35 | 'alpha_sc', 'a_ref', 'I_L_ref', 'I_o_ref', |
36 | 36 | 'R_sh_ref', 'R_s'}, |
@@ -2222,11 +2222,11 @@ def sapm(effective_irradiance, temp_cell, module): |
2222 | 2222 | * v_mp : Voltage at maximum-power point (V) |
2223 | 2223 | * p_mp : Power at maximum-power point (W) |
2224 | 2224 | * i_x : Current at module V = 0.5Voc, defines 4th point on I-V |
2225 | | - curve for modeling curve shape. Omitted if ``C4`` and ``C5`` |
2226 | | - parameters are not supplied. |
| 2225 | + curve for modeling curve shape. Omitted if ``IXO``, ``C4``, and |
| 2226 | + ``C5`` parameters are not supplied. |
2227 | 2227 | * i_xx : Current at module V = 0.5(Voc+Vmp), defines 5th point on |
2228 | | - I-V curve for modeling curve shape. Omitted if ``C6`` and ``C7`` |
2229 | | - parameters are not supplied. |
| 2228 | + I-V curve for modeling curve shape. Omitted if ``IXXO``, ``C6``, |
| 2229 | + and ``C7`` parameters are not supplied. |
2230 | 2230 |
|
2231 | 2231 | Notes |
2232 | 2232 | ----- |
@@ -2334,12 +2334,12 @@ def sapm(effective_irradiance, temp_cell, module): |
2334 | 2334 |
|
2335 | 2335 | out['p_mp'] = out['i_mp'] * out['v_mp'] |
2336 | 2336 |
|
2337 | | - if 'C4' in module and 'C5' in module: |
| 2337 | + if 'IXO' in module and 'C4' in module and 'C5' in module: |
2338 | 2338 | out['i_x'] = ( |
2339 | 2339 | module['IXO'] * (module['C4']*Ee + module['C5']*(Ee**2)) * |
2340 | 2340 | (1 + module['Aisc']*(temp_cell - temp_ref))) |
2341 | 2341 |
|
2342 | | - if 'C6' in module and 'C7' in module: |
| 2342 | + if 'IXXO' in module and 'C6' in module and 'C7' in module: |
2343 | 2343 | out['i_xx'] = ( |
2344 | 2344 | module['IXXO'] * (module['C6']*Ee + module['C7']*(Ee**2)) * |
2345 | 2345 | (1 + module['Aimp']*(temp_cell - temp_ref))) |
|
0 commit comments