@@ -294,12 +294,12 @@ def calcparams_desoto(poa_global, temp_cell, alpha_isc, module_parameters,
294
294
database. The module_parameters dict must contain the
295
295
following 5 fields:
296
296
297
- * A_ref - modified diode ideality factor parameter at
297
+ * a_ref - modified diode ideality factor parameter at
298
298
reference conditions (units of eV), a_ref can be calculated
299
299
from the usual diode ideality factor (n),
300
300
number of cells in series (Ns),
301
301
and cell temperature (Tcell) per equation (2) in [1].
302
- * I_l_ref - Light-generated current (or photocurrent)
302
+ * I_L_ref - Light-generated current (or photocurrent)
303
303
in amperes at reference conditions. This value is referred to
304
304
as Iph in some literature.
305
305
* I_o_ref - diode reverse saturation current in amperes,
@@ -447,8 +447,8 @@ def calcparams_desoto(poa_global, temp_cell, alpha_isc, module_parameters,
447
447
'''
448
448
449
449
M = np .max (M , 0 )
450
- a_ref = module_parameters ['A_ref ' ]
451
- IL_ref = module_parameters ['I_l_ref ' ]
450
+ a_ref = module_parameters ['a_ref ' ]
451
+ IL_ref = module_parameters ['I_L_ref ' ]
452
452
I0_ref = module_parameters ['I_o_ref' ]
453
453
Rsh_ref = module_parameters ['R_sh_ref' ]
454
454
Rs_ref = module_parameters ['R_s' ]
@@ -534,11 +534,11 @@ def retrieve_sam(name=None, samfile=None):
534
534
name = name .lower ()
535
535
536
536
if name == 'cecmod' :
537
- url = 'https://sam.nrel.gov/sites/sam.nrel.gov/files/sam-library-cec-modules-2014-1-14 .csv'
537
+ url = 'https://sam.nrel.gov/sites/sam.nrel.gov/files/sam-library-cec-modules-2015-6-30 .csv'
538
538
elif name == 'sandiamod' :
539
- url = 'https://sam.nrel.gov/sites/sam.nrel.gov/files/sam-library-sandia-modules-2014-1-14 .csv'
540
- elif name == 'sandiainverter' :
541
- url = 'https://sam.nrel.gov/sites/sam.nrel.gov/files/sam-library-sandia -inverters-2014-1-14 .csv'
539
+ url = 'https://sam.nrel.gov/sites/sam.nrel.gov/files/sam-library-sandia-modules-2015-6-30 .csv'
540
+ elif name == 'sandiainverter' : # Still only one current inverter set, so left it as sandia, to avoid breaking old code
541
+ url = 'https://sam.nrel.gov/sites/sam.nrel.gov/files/sam-library-cec -inverters-2015-6-30 .csv'
542
542
elif samfile is None :
543
543
raise ValueError ('invalid name {}' .format (name ))
544
544
@@ -561,13 +561,15 @@ def retrieve_sam(name=None, samfile=None):
561
561
562
562
563
563
def _parse_raw_sam_df (csvdata ):
564
- df = pd .read_csv (csvdata , index_col = 0 )
564
+ df = pd .read_csv (csvdata , index_col = 0 , skiprows = [ 1 , 2 ] )
565
565
parsedindex = []
566
566
for index in df .index :
567
567
parsedindex .append (index .replace (' ' , '_' ).replace ('-' , '_' )
568
568
.replace ('.' , '_' ).replace ('(' , '_' )
569
569
.replace (')' , '_' ).replace ('[' , '_' )
570
- .replace (']' , '_' ).replace (':' , '_' ))
570
+ .replace (']' , '_' ).replace (':' , '_' )
571
+ .replace ('+' , '_' ).replace ('/' , '_' )
572
+ .replace ('"' , '_' ).replace (',' , '_' ))
571
573
572
574
df .index = parsedindex
573
575
df = df .transpose ()
@@ -635,7 +637,7 @@ def sapm(module, poa_direct, poa_diffuse, temp_cell, airmass_absolute, aoi):
635
637
reference condition (1/C)
636
638
Aimp Maximum power current temperature coefficient at
637
639
reference condition (1/C)
638
- Bvoc Open circuit voltage temperature coefficient at
640
+ Bvoco Open circuit voltage temperature coefficient at
639
641
reference condition (V/C)
640
642
Mbvoc Coefficient providing the irradiance dependence for the BetaVoc
641
643
temperature coefficient at reference irradiance (V/C)
@@ -644,7 +646,7 @@ def sapm(module, poa_direct, poa_diffuse, temp_cell, airmass_absolute, aoi):
644
646
Mbvmp Coefficient providing the irradiance dependence for the
645
647
BetaVmp temperature coefficient at reference irradiance (V/C)
646
648
N Empirically determined "diode factor" (dimensionless)
647
- # Series Number of cells in series in a module's cell string(s)
649
+ Cells in Series Number of cells in series in a module's cell string(s)
648
650
IXO Ix at reference conditions
649
651
IXXO Ixx at reference conditions
650
652
FD Fraction of diffuse irradiance used by module
@@ -693,12 +695,12 @@ def sapm(module, poa_direct, poa_diffuse, temp_cell, airmass_absolute, aoi):
693
695
(1 + module ['Aimp' ]* (temp_cell - T0 )) )
694
696
695
697
dfout ['v_oc' ] = (( module ['Voco' ] +
696
- module ['# Series' ]* delta * np .log (Ee ) + Bvoco * (temp_cell - T0 ) )
698
+ module ['Cells in Series' ]* delta * np .log (Ee ) + Bvoco * (temp_cell - T0 ) )
697
699
.clip_lower (0 ))
698
700
699
701
dfout ['v_mp' ] = ( module ['Vmpo' ] +
700
- module ['C2' ]* module ['# Series' ]* delta * np .log (Ee ) +
701
- module ['C3' ]* module ['# Series' ]* ((delta * np .log (Ee )) ** 2 ) +
702
+ module ['C2' ]* module ['Cells in Series' ]* delta * np .log (Ee ) +
703
+ module ['C3' ]* module ['Cells in Series' ]* ((delta * np .log (Ee )) ** 2 ) +
702
704
Bvmpo * (temp_cell - T0 ) ).clip_lower (0 )
703
705
704
706
dfout ['p_mp' ] = dfout ['i_mp' ] * dfout ['v_mp' ]
0 commit comments