@@ -413,43 +413,45 @@ def fit_pvsyst_iec61853_sandia(effective_irradiance, temp_cell,
413413 is_t_stc = temp_cell == 25
414414
415415 if alpha_sc is None :
416- mu_i_sc = _fit_tempco (i_sc [is_g_stc ], temp_cell [is_g_stc ])
417416 i_sc_ref = float (i_sc [is_g_stc & is_t_stc ])
417+ mu_i_sc = _fit_tempco_pvsyst_iec61853_sandia (i_sc [is_g_stc ],
418+ temp_cell [is_g_stc ])
418419 alpha_sc = mu_i_sc * i_sc_ref
419420
420421 if beta_mp is None :
421- beta_mp = _fit_tempco (v_mp [is_g_stc ], temp_cell [is_g_stc ])
422+ beta_mp = _fit_tempco_pvsyst_iec61853_sandia (v_mp [is_g_stc ],
423+ temp_cell [is_g_stc ])
422424
423- R_sh_ref , R_sh_0 , R_sh_exp = _fit_shunt_resistances (
425+ R_sh_ref , R_sh_0 , R_sh_exp = _fit_shunt_resistances_pvsyst_iec61853_sandia (
424426 i_sc , i_mp , v_mp , effective_irradiance , temp_cell , beta_mp ,
425427 coeff = r_sh_coeff , min_irradiance = min_Rsh_irradiance
426428 )
427429
428430 if R_s is None :
429- R_s = _fit_series_resistance (sm , v_oc , i_mp , v_mp )
431+ R_s = _fit_series_resistance_pvsyst_iec61853_sandia (sm , v_oc ,
432+ i_mp , v_mp )
430433
431- gamma_ref , mu_gamma = _fit_diode_ideality_factor (
434+ gamma_ref , mu_gamma = _fit_diode_ideality_factor_pvsyst_iec61853_sandia (
432435 sm , i_sc [is_t_stc ], v_oc [is_t_stc ], i_mp [is_t_stc ], v_mp [is_t_stc ],
433436 effective_irradiance [is_t_stc ], temp_cell [is_t_stc ],
434437 R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series
435438 )
436439
437- I_o_ref = _fit_saturation_current (
440+ I_o_ref = _fit_saturation_current_pvsyst_iec61853_sandia (
438441 i_sc , v_oc , effective_irradiance , temp_cell , gamma_ref , mu_gamma ,
439442 R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series , EgRef
440443 )
441444
442- I_L_ref = _fit_photocurrent (
445+ I_L_ref = _fit_photocurrent_pvsyst_iec61853_sandia (
443446 sm , i_sc , effective_irradiance , temp_cell , alpha_sc ,
444447 gamma_ref , mu_gamma ,
445448 I_o_ref , R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series , EgRef
446449 )
447450
448451 gamma_ref , mu_gamma = \
449- _fit_diode_ideality_factor_post (sm , i_mp , v_mp , effective_irradiance ,
450- temp_cell , alpha_sc , I_L_ref , I_o_ref ,
451- R_sh_ref , R_sh_0 , R_sh_exp , R_s ,
452- cells_in_series , EgRef )
452+ _fit_diode_ideality_factor_post_pvsyst_iec61853_sandia (
453+ sm , i_mp , v_mp , effective_irradiance , temp_cell , alpha_sc , I_L_ref ,
454+ I_o_ref , R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series , EgRef )
453455
454456 fitted_params = dict (
455457 alpha_sc = alpha_sc ,
@@ -467,15 +469,16 @@ def fit_pvsyst_iec61853_sandia(effective_irradiance, temp_cell,
467469 return fitted_params
468470
469471
470- def _fit_tempco (values , temp_cell , temp_cell_ref = 25 ):
472+ def _fit_tempco_pvsyst_iec61853_sandia (values , temp_cell , temp_cell_ref = 25 ):
471473 fit = np .polynomial .polynomial .Polynomial .fit (temp_cell , values , deg = 1 )
472474 intercept , slope = fit .convert ().coef
473475 value_ref = intercept + slope * temp_cell_ref
474476 return slope / value_ref
475477
476478
477- def _fit_shunt_resistances (i_sc , i_mp , v_mp , effective_irradiance , temp_cell ,
478- beta_v_mp , coeff = 0.2 , min_irradiance = None ):
479+ def _fit_shunt_resistances_pvsyst_iec61853_sandia (
480+ i_sc , i_mp , v_mp , effective_irradiance , temp_cell ,
481+ beta_v_mp , coeff = 0.2 , min_irradiance = None ):
479482 if min_irradiance is None :
480483 min_irradiance = 0
481484
@@ -509,7 +512,7 @@ def _fit_shunt_resistances(i_sc, i_mp, v_mp, effective_irradiance, temp_cell,
509512 return Rshref , Rsh0 , Rshexp
510513
511514
512- def _fit_series_resistance (sm , v_oc , i_mp , v_mp ):
515+ def _fit_series_resistance_pvsyst_iec61853_sandia (sm , v_oc , i_mp , v_mp ):
513516 # Stein et al 2014, https://doi.org/10.1109/PVSC.2014.6925326
514517
515518 # Eq 13
@@ -522,10 +525,9 @@ def _fit_series_resistance(sm, v_oc, i_mp, v_mp):
522525 return R_s
523526
524527
525- def _fit_diode_ideality_factor (sm , i_sc , v_oc , i_mp , v_mp ,
526- effective_irradiance , temp_cell ,
527- R_sh_ref , R_sh_0 , R_sh_exp , R_s ,
528- cells_in_series ):
528+ def _fit_diode_ideality_factor_pvsyst_iec61853_sandia (
529+ sm , i_sc , v_oc , i_mp , v_mp , effective_irradiance , temp_cell ,
530+ R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series ):
529531
530532 NsVth = _pvsyst_nNsVth (temp_cell , gamma = 1 , cells_in_series = cells_in_series )
531533 Rsh = _pvsyst_Rsh (effective_irradiance , R_sh_ref , R_sh_0 , R_sh_exp )
@@ -543,10 +545,9 @@ def _fit_diode_ideality_factor(sm, i_sc, v_oc, i_mp, v_mp,
543545 return gamma_ref , 0
544546
545547
546- def _fit_saturation_current (i_sc , v_oc , effective_irradiance , temp_cell ,
547- gamma_ref , mu_gamma ,
548- R_sh_ref , R_sh_0 , R_sh_exp , R_s ,
549- cells_in_series , EgRef ):
548+ def _fit_saturation_current_pvsyst_iec61853_sandia (
549+ i_sc , v_oc , effective_irradiance , temp_cell , gamma_ref , mu_gamma ,
550+ R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series , EgRef ):
550551 R_sh = _pvsyst_Rsh (effective_irradiance , R_sh_ref , R_sh_0 , R_sh_exp )
551552 gamma = _pvsyst_gamma (temp_cell , gamma_ref , mu_gamma )
552553 nNsVth = _pvsyst_nNsVth (temp_cell , gamma , cells_in_series )
@@ -562,10 +563,10 @@ def _fit_saturation_current(i_sc, v_oc, effective_irradiance, temp_cell,
562563 return I_o_ref
563564
564565
565- def _fit_photocurrent ( sm , i_sc , effective_irradiance , temp_cell ,
566- alpha_sc , gamma_ref , mu_gamma , I_o_ref ,
567- R_sh_ref , R_sh_0 , R_sh_exp , R_s ,
568- cells_in_series , EgRef ):
566+ def _fit_photocurrent_pvsyst_iec61853_sandia (
567+ sm , i_sc , effective_irradiance , temp_cell , alpha_sc , gamma_ref ,
568+ mu_gamma , I_o_ref , R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series ,
569+ EgRef ):
569570 R_sh = _pvsyst_Rsh (effective_irradiance , R_sh_ref , R_sh_0 , R_sh_exp )
570571 gamma = _pvsyst_gamma (temp_cell , gamma_ref , mu_gamma )
571572 I_o = _pvsyst_Io (temp_cell , gamma , I_o_ref , EgRef )
@@ -582,10 +583,9 @@ def _fit_photocurrent(sm, i_sc, effective_irradiance, temp_cell,
582583 return I_L_ref
583584
584585
585- def _fit_diode_ideality_factor_post (sm , i_mp , v_mp , effective_irradiance ,
586- temp_cell , alpha_sc , I_L_ref , I_o_ref ,
587- R_sh_ref , R_sh_0 , R_sh_exp , R_s ,
588- cells_in_series , EgRef ):
586+ def _fit_diode_ideality_factor_post_pvsyst_iec61853_sandia (
587+ sm , i_mp , v_mp , effective_irradiance , temp_cell , alpha_sc , I_L_ref ,
588+ I_o_ref , R_sh_ref , R_sh_0 , R_sh_exp , R_s , cells_in_series , EgRef ):
589589
590590 Rsh = _pvsyst_Rsh (effective_irradiance , R_sh_ref , R_sh_0 , R_sh_exp )
591591 I_L = _pvsyst_IL (effective_irradiance , temp_cell , I_L_ref , alpha_sc )
0 commit comments