Skip to content

Thermal model

This section contains details of the equations used to calculate the operating temperature of the PV module. There are two options for the thermal model:

  1. ‘Faiman’: which is commonly used in yield software,
  2. ‘PVL 2022’: an extension to the Faiman model.

The ‘PVL 2022’ model applies the Faiman model but permits several extensions:

  1. transient effects,
  2. a dependence of UV on tilt and wind direction,
  3. radiation to the sky,
  4. heat flow into the ground, and
  5. free convection, where the latter three are separate components of UC.

The table below provides a summary of the thermal models.

ParameterModelNotesReference
Module operating temperatureFaimanThe de facto standard in the PV industry[Faiman2008]
PV Lighthouse IEEE 2022An extension to the Faiman model published by PV Lighthouse.[McIntosh2022]
Sky temperatureSwinbank[Swinbank1963]
Ground temperature-Assumed to equal the ambient temperature-
Plane-of-array irradianceView factorAn alternative approach to the application of ray tracing.[Marion2017] [Mermoud2014]

Both thermal models require the average plane-of-array irradiance on each module surface. This represents the total irradiance of incident light striking the panel which may act to heat it up, thus it includes all wavelengths of sunlight (i.e., up to 4000 nm). Currently there exists some limitations to the use of ray tracing to determine this. Solving the optics at longer wavelengths requires optical material data measured at these extremes and requires confirmation of the geometric optics assumption.1 Work is ongoing to resolve these limitations. In the meantime, SunSolve applies view factor models to determine an appropriate amount of total POA irradiance to use on the panels.

The view factor implementation follows the standard approach as described by [Marion2017] and [Mermoud2014]. This has been demonstrated to be consistent with 3D ray tracing under this idealized scenario:

  • infinitely long rows,
  • infinitely many rows,
  • isotropic insolation for diffuse light,
  • isotropic reflection from the ground with a constant albedo,
  • a flat ground,
  • no reflection from modules,
  • no reflection or shading from structures like posts and torque tubes, and
  • no transmission through modules or gaps between modules.

Therefore, the calculation of POA irradiance used in the temperature calculation is also based on these assumptions. The view factor model assumes albedo is wavelength‑independent.

The view factor model is solved separately for each module orientation and position in the y-direction. Each solve includes the following components:

  1. Sky to module front for direct light

  2. Sky to module rear for direct light

  3. Sky to module front for isotropic light

  4. Sky to module rear for isotropic light

  5. Sky to ground to module rear for direct light

  6. Sky to ground to module rear for isotropic light

The ground is solved by integrating across a minimum of 10 equally spaced points. Where a wavelength dependent albedo has been defined it is converted into a single averaged value (with no weighting applied to wavelength).

The Faiman model is a well-known approach to determine the operating temperature of PV modules under irradiance and subject to convective cooling. In the Faiman model, the heat flowing into the module Qin is given by

Qin=IPOA(αη)Q_{in} = I_{POA} \cdot (\alpha - \eta)

where IPOA is the total irradiance incident to the plane of the module (front and rear), α is the absorption coefficient and η is the module efficiency.

SunSolve applies this equation in a way that accounts for different absorption levels of irradiance on the front and rear sides of the module

Qin=IPOA,frontαfront+IPOA,rearαrearPmoduleQ_{in} = I_{POA,front} \cdot \alpha_{front} + I_{POA,rear} \cdot \alpha_{rear} - P_{module}

where IPOA,front and IPOA,rear are determined via view factor solving. Module power is determined using ray tracing to calculate the optical absorption in the cells. The cell with the lowest JL (light-generated current) in each module is identified, and a single equivalent circuit, based on that JL value, is used to represent the module. This circuit is solved twice: first at a standard cell temperature of 25°C, and then again at the elevated temperature determined from the first iteration.

The module temperature is calculated by forming an energy balance equation in which the energy in equals the heat flowing from the module into the ambient Qa,

Qin=Qout=Qa=(Uc+Uvw)(TmTa),Q_{in} = Q_{out} = Q_a = (U_c + U_v \cdot w) \cdot (T_m - T_a),

where w is the wind speed, Uv is the forced-convection coefficient, Uc is a coefficient that represents all other forms of heat transfer, and Tm and Ta are the module and ambient temperatures.

The advantage of this model is that it is well known and only requires two inputs from the user to describe the heat flow out. However, its weakness is that it groups many forms of cooling into those two inputs. This limits the ability of the model to accurately determine the operating temperature at any specific time of day.

This model improves on the Faiman model in several ways. It defines multiple mechanisms for convective heat loss and relates them to the system and the prevailing conditions. These components may be applied or neglected as desired. Noting that the main Faiman inputs (Uc and Uv) are always required.2 It also provides an option for transient analysis in which the current module temperature is also dependent on its previous temperature. This is particularly important when using time steps of 15 minutes or less.

The model is based on the main Faiman equations described in the previous section. However, rather than forcing all heat to flow into the ambient, there are three possible heat sinks: the ambient, the sky and the ground; and hence

Qout=Qa+Qs+Qg.Q_{out} = Q_a + Q_s + Q_g.

In addition to these new heat sinks, it provides options to account for transient effects, wind direction and module tilt.

The table below summarises all possible inputs to the PVL 2022 model and gives a brief description of each. The equations that use these are provided in the following sub-sections.

ParameterUnitsValue rangeDescription
α0 - 1The absorption coefficient; defines the fraction of incident irradiance that is absorbed by the panel
ε0 - 1The emissivity; defines the effectiveness of the panel at emitting thermal radiation
UgW∙m⁻²∙K⁻¹0 - 10Coefficient of both conductive and radiative losses into the ground.
Uc0W∙m⁻²∙K⁻¹0 - 10Coefficient of convective heat loss into the ambient with no dependence on tilt.
UW∙m⁻²∙K⁻¹∙rad⁻¹0 - 10Coefficient of convective heat loss into the ambient with dependence on module tilt.
Uv0W∙s∙m⁻³∙K⁻¹0 - 5Coefficient of forced convective loss.
av0 - 1Amplitude of the wind direction dependency
bv0 - 1Frequency of the wind direction dependency
δ0rad0 - 2πPhase shift of the wind direction dependency
cmodJ∙kg⁻¹∙K⁻¹0 – 2000Specific heat capacitance of the PV module.
mmodkg∙m⁻²0 - 20Ratio of the module mass to surface area.

The heat flowing into the ambient Qa has a similar form to the Faiman model,

Qa=(Uc+Uvw)(TmTa),Q_a = (U_c + U_{v} \cdot w) \cdot (T_m - T_a),

except that Uc contains a dependence on tilt β, which arises because Uc includes free-convection,3

Uc=Uc0+UcββU_c = U_{c0} + U_{c\beta} \cdot |\beta|

and Uv depends on the direction of the wind

Uv=Uv0{1+avcos[bv(δδ0)]}U_v = U_{v0} \cdot \left\{ 1 + a_v \cos \left[ b_v(\delta - \delta_0) \right] \right\}

where the cosine term contains the dependence on wind direction, with av being its amplitude, bv its frequency, and δ0 its phase shift; where the incident wind direction δ is the difference between the wind direction 𝜙w and the orientation of the module 𝜙m,

δ=ϕwϕm\delta = \phi_w - \phi_m

and where β, δ, δ0, 𝜙w and 𝜙v are in radians.

The heat flowing into the sky Qs is radiative and governed by the Stefan–Boltzmann equation,

Qs=vsσε(Tm4Ts4),Q_s = v_s \cdot \sigma \cdot \varepsilon \cdot (T_m^4 - T_s^4),

where vs is the view factor of the sky seen by the module, σ is the Stefan–Boltzmann constant, and ε is the emissivity of the module.

The view factor assumes an infinite field and is calculated based on the equations shown in section 8.1.

The sky temperature is calculated based on the equation from Swinbank [Swinbank1963], which depends solely on Ta,

Ts=0.0552Ta1.5,T_s = 0.0552 \cdot T_a^{1.5},

The heat flowing into the ground Qg is simply

Qg=Ug(TmTg),Q_g = U_g \cdot (T_m - T_g),

which combines conductive and radiative losses into a single free variable Ug. We also assume a constant Tg (i.e., the ground is at one temperature).

Transient effects are accounted for with the equation,

dTmdt=Amc(QinQout)\frac{dT_m}{dt} = \frac{A}{m \cdot c} (Q_{in} - Q_{out})

where c is the heat capacitance of the module, A is its total surface area and m is its mass.4 Thus, it does not assume steady-state conditions, which means that the temperature of the module takes time to heat and cool when the irradiance increases or decreases.

During yield solving the previous value of module temperature is used as a reference point to calculate the new temperature via the equation above. To facilitate parallel solving of this loop the full year is broken into monthly blocks that are solved according to their time series. This creates a small error at the start of each month where the module temperature is assumed equal to the ambient temperature rather than based on the solving of the previous hour.

Note that if the transient model is applied then better accuracy is achieved by solving the night-time temperatures. Typically during the night the module temperature is below the ambient due to the radiative loss to the cold night sky.


  1. Note that at 2,000 nm the wavelength of light is already twice the size of a standard solar cell texture feature at which point the assumption that it can be solved simply with geometric optics may require further validation.

  2. Essentially the inputs to the Faiman model attempt to capture all the individual parts of this extended model into a simple pair of variables. The values of Uc and Uv should be re-evaluated as each PVL 2022 component is added. The exception to this is the transient analysis which rather affects the reference temperature.

  3. In this approach, Uc represents free-convection and conduction into the ground.

  4. Calculated for a typical 144-cell bifacial module (LONGI LR5) to be cmod = 833 J⋅kg-1⋅K-1 and mmod = 13 kg/m2.