pvlib.pvsystem.calcparams_desoto

pvlib.pvsystem.calcparams_desoto(poa_global, temp_cell, alpha_isc, module_parameters, EgRef, dEgdT, M=1, irrad_ref=1000, temp_ref=25)[source]

Applies the temperature and irradiance corrections to inputs for singlediode.

Applies the temperature and irradiance corrections to the IL, I0, Rs, Rsh, and a parameters at reference conditions (IL_ref, I0_ref, etc.) according to the De Soto et. al description given in [1]. The results of this correction procedure may be used in a single diode model to determine IV curves at irradiance = S, cell temperature = Tcell.

Parameters:

poa_global : numeric

The irradiance (in W/m^2) absorbed by the module.

temp_cell : numeric

The average cell temperature of cells within a module in C.

alpha_isc : float

The short-circuit current temperature coefficient of the module in units of 1/C.

module_parameters : dict

Parameters describing PV module performance at reference conditions according to DeSoto’s paper. Parameters may be generated or found by lookup. For ease of use, retrieve_sam can automatically generate a dict based on the most recent SAM CEC module database. The module_parameters dict must contain the following 5 fields:

  • a_ref - modified diode ideality factor parameter at reference conditions (units of eV), a_ref can be calculated from the usual diode ideality factor (n), number of cells in series (Ns), and cell temperature (Tcell) per equation (2) in [1].
  • I_L_ref - Light-generated current (or photocurrent) in amperes at reference conditions. This value is referred to as Iph in some literature.
  • I_o_ref - diode reverse saturation current in amperes, under reference conditions.
  • R_sh_ref - shunt resistance under reference conditions (ohms).
  • R_s - series resistance under reference conditions (ohms).

EgRef : float

The energy bandgap at reference temperature (in eV). 1.121 eV for silicon. EgRef must be >0.

dEgdT : float

The temperature dependence of the energy bandgap at SRC (in 1/C). May be either a scalar value (e.g. -0.0002677 as in [1]) or a DataFrame of dEgdT values corresponding to each input condition (this may be useful if dEgdT is a function of temperature).

M : numeric (optional, default=1)

An optional airmass modifier, if omitted, M is given a value of 1, which assumes absolute (pressure corrected) airmass = 1.5. In this code, M is equal to M/Mref as described in [1] (i.e. Mref is assumed to be 1). Source [1] suggests that an appropriate value for M as a function absolute airmass (AMa) may be:

>>> M = np.polyval([-0.000126, 0.002816, -0.024459, 0.086257, 0.918093],
...                AMa) 

M may be a Series.

irrad_ref : float (optional, default=1000)

Reference irradiance in W/m^2.

temp_ref : float (optional, default=25)

Reference cell temperature in C.

Returns:

Tuple of the following results:

photocurrent : numeric

Light-generated current in amperes at irradiance=S and cell temperature=Tcell.

saturation_current : numeric

Diode saturation curent in amperes at irradiance S and cell temperature Tcell.

resistance_series : float

Series resistance in ohms at irradiance S and cell temperature Tcell.

resistance_shunt : numeric

Shunt resistance in ohms at irradiance S and cell temperature Tcell.

nNsVth : numeric

Modified diode ideality factor at irradiance S and cell temperature Tcell. Note that in source [1] nNsVth = a (equation 2). nNsVth is the product of the usual diode ideality factor (n), the number of series-connected cells in the module (Ns), and the thermal voltage of a cell in the module (Vth) at a cell temperature of Tcell.

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.

Silicon (Si):
  • EgRef = 1.121
  • dEgdT = -0.0002677
>>> M = np.polyval([-1.26E-4, 2.816E-3, -0.024459, 0.086257, 0.918093],
...                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]

References

[1] W. De Soto et al., “Improvement and validation of a model for photovoltaic array performance”, Solar Energy, vol 80, pp. 78-88, 2006.

[2] System Advisor Model web page. https://sam.nrel.gov.

[3] A. Dobos, “An Improved Coefficient Calculator for the California Energy Commission 6 Parameter Photovoltaic Module Model”, Journal of Solar Energy Engineering, vol 134, 2012.

[4] O. Madelung, “Semiconductors: Data Handbook, 3rd ed.” ISBN 3-540-40488-0