pvlib.temperature.GenericLinearModel#

class pvlib.temperature.GenericLinearModel(module_efficiency, absorptance)[source]#

A class that can both use and convert parameters of linear module temperature models: faiman, pvsyst, noct_sam, sapm_module and generic_linear.

Parameters are converted between models by first converting to the generic linear heat transfer model 1 by the use_ methods. The equivalent parameters for the target temperature model are then obtained by the to_ method. Parameters are returned as a dictionary that is compatible with the target model function to use in simulations.

An instance of the class represents a specific module type and the parameters module_efficiency and absorptance are required. Although some temperature models do not use these properties, they nevertheless exist and affect operating temperature. Values should be representative of the conditions at which the input model parameters were determined (usually high irradiance).

Parameters
  • module_efficiency (float) – The electrical efficiency of the module. [-]

  • absorptance (float) – The light absorptance of the module. [-]

Notes

After creating a GenericLinearModel object using the module properties, one of the use_ methods must be called to provide thermal model parameters. If this is not done, the to_ methods will return nan values.

References

1

A. Driesse et al, “PV Module Operating Temperature Model Equivalence and Parameter Translation”. 2022 IEEE Photovoltaic Specialists Conference (PVSC), 2022.

Examples

>>> glm = GenericLinearModel(module_efficiency=0.19, absorptance=0.88)
>>> glm.use_faiman(16, 8)
GenericLinearModel: {'u_const': 11.04, 'du_wind': 5.52,
                     'eta': 0.19, 'alpha': 0.88}
>>> glm.to_pvsyst()
{'u_c': 11.404800000000002, 'u_v': 5.702400000000001,
 'module_efficiency': 0.19, 'alpha_absorption': 0.88}
>>> parmdict = glm.to_pvsyst()
>>> pvsyst_cell(800, 20, 1, **parmdict)
53.33333333333333

Methods

__init__(module_efficiency, absorptance)

get_generic_linear()

Get the generic linear model parameters to use with the separate generic linear module temperature calculation function.

to_faiman()

Convert the generic model parameters to Faiman equivalents.

to_noct_sam()

Convert the generic model parameters to NOCT SAM model equivalents.

to_pvsyst()

Convert the generic model parameters to PVsyst model equivalents.

to_sapm([wind_fit_low, wind_fit_high])

Convert the generic model parameters to SAPM model equivalents.

use_faiman(u0, u1)

Use the Faiman model parameters to set the generic_model equivalents.

use_noct_sam(noct[, module_efficiency, ...])

Use the NOCT SAM model parameters to set the generic_model equivalents.

use_pvsyst(u_c, u_v[, module_efficiency, ...])

Use the PVsyst model parameters to set the generic_model equivalents.

use_sapm(a, b[, wind_fit_low, wind_fit_high])

Use the SAPM model parameters to set the generic_model equivalents.