Skip to content

Commit 5744044

Browse files
committed
Remove duplicate code in ModelChain
1 parent a873462 commit 5744044

File tree

1 file changed

+8
-35
lines changed

1 file changed

+8
-35
lines changed

pvlib/modelchain.py

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -426,11 +426,11 @@ def sapm(self):
426426

427427
return self
428428

429-
def desoto(self):
429+
def _singlediode(self, calcparams_model_function):
430430
(photocurrent, saturation_current, resistance_series,
431431
resistance_shunt, nNsVth) = (
432-
self.system.calcparams_desoto(self.effective_irradiance,
433-
self.temps['temp_cell']))
432+
calcparams_model_function(self.effective_irradiance,
433+
self.temps['temp_cell']))
434434

435435
self.diode_params = (photocurrent, saturation_current,
436436
resistance_series,
@@ -444,41 +444,14 @@ def desoto(self):
444444

445445
return self
446446

447-
def cec(self):
448-
(photocurrent, saturation_current, resistance_series,
449-
resistance_shunt, nNsVth) = (
450-
self.system.calcparams_cec(self.effective_irradiance,
451-
self.temps['temp_cell']))
452-
453-
self.diode_params = (photocurrent, saturation_current,
454-
resistance_series,
455-
resistance_shunt, nNsVth)
456-
457-
self.dc = self.system.singlediode(
458-
photocurrent, saturation_current, resistance_series,
459-
resistance_shunt, nNsVth)
460-
461-
self.dc = self.system.scale_voltage_current_power(self.dc).fillna(0)
447+
def desoto(self):
448+
return self._singlediode(self.system.calcparams_desoto)
462449

463-
return self
450+
def cec(self):
451+
return self._singlediode(self.system.calcparams_cec)
464452

465453
def pvsyst(self):
466-
(photocurrent, saturation_current, resistance_series,
467-
resistance_shunt, nNsVth) = (
468-
self.system.calcparams_pvsyst(self.effective_irradiance,
469-
self.temps['temp_cell']))
470-
471-
self.diode_params = (photocurrent, saturation_current,
472-
resistance_series,
473-
resistance_shunt, nNsVth)
474-
475-
self.dc = self.system.singlediode(
476-
photocurrent, saturation_current, resistance_series,
477-
resistance_shunt, nNsVth)
478-
479-
self.dc = self.system.scale_voltage_current_power(self.dc).fillna(0)
480-
481-
return self
454+
return self._singlediode(self.system.calcparams_pvsyst)
482455

483456
def singlediode(self):
484457
"""Deprecated"""

0 commit comments

Comments
 (0)