Skip to content

Commit 07540a1

Browse files
committed
lint
1 parent f48485c commit 07540a1

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

pvlib/ivtools/sdm/pvsyst.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -409,15 +409,16 @@ def fit_pvsyst_iec61853_sandia(effective_irradiance, temp_cell,
409409
except ImportError:
410410
raise ImportError('fit_pvsyst_iec61853_sandia requires statsmodels')
411411

412+
is_g_stc = effective_irradiance == 1000
413+
is_t_stc = temp_cell == 25
414+
412415
if alpha_sc is None:
413-
mu_i_sc = _fit_tempco(i_sc[effective_irradiance==1000],
414-
temp_cell[effective_irradiance==1000])
415-
i_sc_ref = float(i_sc[(effective_irradiance==1000) & (temp_cell==25)])
416+
mu_i_sc = _fit_tempco(i_sc[is_g_stc], temp_cell[is_g_stc])
417+
i_sc_ref = float(i_sc[is_g_stc & is_t_stc])
416418
alpha_sc = mu_i_sc * i_sc_ref
417419

418420
if beta_mp is None:
419-
beta_mp = _fit_tempco(v_mp[effective_irradiance==1000],
420-
temp_cell[effective_irradiance==1000])
421+
beta_mp = _fit_tempco(v_mp[is_g_stc], temp_cell[is_g_stc])
421422

422423
R_sh_ref, R_sh_0, R_sh_exp = _fit_shunt_resistances(
423424
i_sc, i_mp, v_mp, effective_irradiance, temp_cell, beta_mp,
@@ -427,10 +428,9 @@ def fit_pvsyst_iec61853_sandia(effective_irradiance, temp_cell,
427428
if R_s is None:
428429
R_s = _fit_series_resistance(sm, v_oc, i_mp, v_mp)
429430

430-
filt = temp_cell == 25
431431
gamma_ref, mu_gamma = _fit_diode_ideality_factor(
432-
sm, i_sc[filt], v_oc[filt], i_mp[filt], v_mp[filt],
433-
effective_irradiance[filt], temp_cell[filt],
432+
sm, i_sc[is_t_stc], v_oc[is_t_stc], i_mp[is_t_stc], v_mp[is_t_stc],
433+
effective_irradiance[is_t_stc], temp_cell[is_t_stc],
434434
R_sh_ref, R_sh_0, R_sh_exp, R_s, cells_in_series
435435
)
436436

@@ -447,7 +447,7 @@ def fit_pvsyst_iec61853_sandia(effective_irradiance, temp_cell,
447447

448448
gamma_ref, mu_gamma = \
449449
_fit_diode_ideality_factor_post(sm, i_mp, v_mp, effective_irradiance,
450-
temp_cell, alpha_sc, I_L_ref, I_o_ref,
450+
temp_cell, alpha_sc, I_L_ref, I_o_ref,
451451
R_sh_ref, R_sh_0, R_sh_exp, R_s,
452452
cells_in_series, EgRef)
453453

@@ -485,18 +485,18 @@ def _fit_shunt_resistances(i_sc, i_mp, v_mp, effective_irradiance, temp_cell,
485485
v_mp = v_mp[mask]
486486
effective_irradiance = effective_irradiance[mask]
487487
temp_cell = temp_cell[mask]
488-
488+
489489
# Equation 10
490490
Rsh_est = (
491491
(v_mp / (1 + beta_v_mp * (temp_cell - 25)))
492492
/ (coeff * (i_sc - i_mp))
493493
)
494494
Rshexp = 5.5
495-
495+
496496
# Eq 11
497497
y = Rsh_est
498498
x = np.exp(-Rshexp * effective_irradiance / 1000)
499-
499+
500500
fit = np.polynomial.polynomial.Polynomial.fit(x, y, deg=1)
501501
intercept, slope = fit.convert().coef
502502
Rshbase = intercept
@@ -511,12 +511,12 @@ def _fit_shunt_resistances(i_sc, i_mp, v_mp, effective_irradiance, temp_cell,
511511

512512
def _fit_series_resistance(sm, v_oc, i_mp, v_mp):
513513
# Stein et al 2014, https://doi.org/10.1109/PVSC.2014.6925326
514-
514+
515515
# Eq 13
516516
x = np.array([i_mp, np.log(i_mp), v_mp]).T
517517
x = sm.add_constant(x)
518518
y = v_oc
519-
519+
520520
results = sm.OLS(endog=y, exog=x).fit()
521521
R_s = results.params['x1']
522522
return R_s
@@ -563,7 +563,7 @@ def _fit_saturation_current(i_sc, v_oc, effective_irradiance, temp_cell,
563563

564564

565565
def _fit_photocurrent(sm, i_sc, effective_irradiance, temp_cell,
566-
alpha_sc, gamma_ref, mu_gamma, I_o_ref,
566+
alpha_sc, gamma_ref, mu_gamma, I_o_ref,
567567
R_sh_ref, R_sh_0, R_sh_exp, R_s,
568568
cells_in_series, EgRef):
569569
R_sh = _pvsyst_Rsh(effective_irradiance, R_sh_ref, R_sh_0, R_sh_exp)
@@ -583,7 +583,7 @@ def _fit_photocurrent(sm, i_sc, effective_irradiance, temp_cell,
583583

584584

585585
def _fit_diode_ideality_factor_post(sm, i_mp, v_mp, effective_irradiance,
586-
temp_cell, alpha_sc, I_L_ref, I_o_ref,
586+
temp_cell, alpha_sc, I_L_ref, I_o_ref,
587587
R_sh_ref, R_sh_0, R_sh_exp, R_s,
588588
cells_in_series, EgRef):
589589

tests/ivtools/sdm/test_pvsyst.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ def test_fit_pvsyst_iec61853_sandia_optional(pvsyst_iec61853_table3,
294294
r_sh_coeff=0.3)
295295
assert not np.isclose(fitted_params['R_sh_ref'], expected['R_sh_ref'],
296296
atol=0, rtol=1e-3)
297-
297+
298298
fitted_params = sdm.fit_pvsyst_iec61853_sandia(**main_inputs,
299299
R_s=0.5)
300300
assert not np.isclose(fitted_params['R_s'], expected['R_s'],

0 commit comments

Comments
 (0)