pvlib.pvsystem.calcparams_desoto#

pvlib.pvsystem.calcparams_desoto(effective_irradiance, temp_cell, alpha_sc, a_ref, I_L_ref, I_o_ref, R_sh_ref, R_s, EgRef=1.121, dEgdT=-0.0002677, irrad_ref=1000, temp_ref=25)[source]#

Calculates five parameter values for the single diode equation at effective irradiance and cell temperature using the De Soto et al. model. The five values returned by calcparams_desoto can be used by singlediode to calculate an IV curve.

The model is described in [1].

Parameters:
  • effective_irradiance (numeric) – The irradiance (W/m2) that is converted to photocurrent.

  • temp_cell (numeric) – The average cell temperature of cells within a module in C.

  • alpha_sc (float) – The short-circuit current temperature coefficient of the module in units of A/C.

  • a_ref (float) – The product of the usual diode ideality factor (n, unitless), number of cells in series (Ns), and cell thermal voltage at reference conditions, in units of V.

  • I_L_ref (float) – The light-generated current (or photocurrent) at reference conditions, in amperes.

  • I_o_ref (float) – The dark or diode reverse saturation current at reference conditions, in amperes.

  • R_sh_ref (float) – The shunt resistance at reference conditions, in ohms.

  • R_s (float) – The series resistance at reference conditions, in ohms.

  • EgRef (float) – The energy bandgap at reference temperature in units of eV. 1.121 eV for crystalline silicon. EgRef must be >0. For parameters from the SAM CEC module database, EgRef=1.121 is implicit for all cell types in the parameter estimation algorithm used by NREL.

  • dEgdT (float) – The temperature dependence of the energy bandgap at reference conditions in units of 1/K. May be either a scalar value (e.g. -0.0002677 as in [1]) or a DataFrame (this may be useful if dEgdT is a modeled as a function of temperature). For parameters from the SAM CEC module database, dEgdT=-0.0002677 is implicit for all cell types in the parameter estimation algorithm used by NREL.

  • irrad_ref (float, default 1000) – Reference irradiance in W/m^2.

  • temp_ref (float, default 25) – Reference cell temperature in C.

Returns:

  • Tuple of the following results

  • photocurrent (numeric) – Light-generated current in amperes

  • saturation_current (numeric) – Diode saturation current in amperes

  • resistance_series (numeric) – Series resistance in ohms

  • resistance_shunt (numeric) – Shunt resistance in ohms

  • nNsVth (numeric) – The product of the usual diode ideality factor (n, unitless), number of cells in series (Ns), and cell thermal voltage at specified effective irradiance and cell temperature.

References

Notes

If the reference parameters in the ModuleParameters struct are read from a database or library of parameters (e.g. System Advisor Model), it is important to use the same EgRef and dEgdT values that were used to generate the reference parameters, regardless of the actual bandgap characteristics of the semiconductor. For example, in the case of the System Advisor Model library, created as described in [3], EgRef and dEgdT for all modules were 1.121 and -0.0002677, respectively.

This table of reference bandgap energies (EgRef), bandgap energy temperature dependence (dEgdT), and “typical” airmass response (M) is provided purely as reference to those who may generate their own reference module parameters (a_ref, IL_ref, I0_ref, etc.) based upon the various PV semiconductors. Again, we stress the importance of using identical EgRef and dEgdT when generation reference parameters and modifying the reference parameters (for irradiance, temperature, and airmass) per DeSoto’s equations.

Crystalline Silicon (Si):
  • EgRef = 1.121

  • dEgdT = -0.0002677

>>> M = np.polyval([-1.26E-4, 2.816E-3, -0.024459, 0.086257, 0.9181],
...                AMa) 

Source: [1]

Cadmium Telluride (CdTe):
  • EgRef = 1.475

  • dEgdT = -0.0003

>>> M = np.polyval([-2.46E-5, 9.607E-4, -0.0134, 0.0716, 0.9196],
...                AMa) 

Source: [4]

Copper Indium diSelenide (CIS):
  • EgRef = 1.010

  • dEgdT = -0.00011

>>> M = np.polyval([-3.74E-5, 0.00125, -0.01462, 0.0718, 0.9210],
...                AMa) 

Source: [4]

Copper Indium Gallium diSelenide (CIGS):
  • EgRef = 1.15

  • dEgdT = ????

>>> M = np.polyval([-9.07E-5, 0.0022, -0.0202, 0.0652, 0.9417],
...                AMa) 

Source: Wikipedia

Gallium Arsenide (GaAs):
  • EgRef = 1.424

  • dEgdT = -0.000433

  • M = unknown

Source: [4]

Examples using pvlib.pvsystem.calcparams_desoto#

Calculating a module’s IV curves

Calculating a module's IV curves

Calculating power loss from partial module shading

Calculating power loss from partial module shading