Yield calculations
This section describes the equations applied in SunSolve P90 to determine the energy yield of a PV plant.
1. General approach
Section titled “1. General approach”This approach to solving yield is much simpler than the sophisticated approach taken by SunSolve Yield. For example, it solves the optics by the view-factor method rather than ray tracing, and the electronic losses with multipliers rather than SPICE solving. But while it cannot determine the P50 with high fidelity, it is it captures the major trends and relationship pertinent to solving the uncertainty, and thus the P ratios (e.g. P90/P50 or P95/P50). For, as explained in LINK, yield uncertainty is dominated by the major sources of uncertainty and their interrelation.
Specifically, SunSolve P90 computes the yield with the view-factor model for the optics, the Faiman for the thermal behaviour, and with multipliers for other losses. It is similar to the approach taken by PVsyst [ref] and SAM [ref]. The equations can be computed sufficiently quickly such that thousands of simulations can be solved in less than a minute.
2. Notes on inputs
Section titled “2. Notes on inputs”A table of user inputs is available here. It lists whether the inputs can be attributed with uncertainty distributions.
Most of the variables in these equations are user inputs.
Many of the variables can also be assigned with an uncertainty distribution. If a distribution is not permitted, it is either because (i) the related error would be negligible in any reasonable yield simulation (e.g., the module dimensions), or (ii) the uncertainty could just as well be applied to another very similar variable.
Where an input has a distribution, its value is determined at the beginning of the simulation, year and time step, as described in LINK. That is, the randomness introduced into the variables is applied before the calculations are made with the equations that follow—with one exception. The occasion when the distribution is applied to an input after it has been used in a calculation, is in the first step (calculating fD from GHI), as will be explained.
Many variables are assigned the symbol f or k. These are modifying factors and loss factors, respectively, where we multiply results by either f or (1 – k). The default value for f is usually 1, and the default value for k is usually 0.
3. Inputs in weather file (and other time-dependent inputs)
Section titled “3. Inputs in weather file (and other time-dependent inputs)”The user loads a weather file containing 8760 timesteps, one step for each hour of a 365-day year. This file would typically be a TMY file.1
Each timestep in the weather file contains
-
solar position — i.e., the solar zenith θs and solar azimuth φs;
-
the GHI and DHI; and
-
the wind speed w and ambient temperature Ta.
There are also some optional time-dependent inputs that can be included in the file. If they are not included, their value will be assigned their ‘fallback’ values.
-
module tilt β,
-
albedo α,
-
spectral correction fλ, and
-
structural shading kS and transmission factor kT for bifacial systems.
4. Solar irradiance
Section titled “4. Solar irradiance”The calculations begin by finding the diffuse fraction,
and then introducing the error into GHI and the diffuse fraction (i.e., applying the uncertainty distribution). This is the only occasion where the error is applied to a variable after it has been used.
The DNI is then given by
Next, we find the extraterrestrial irradiance on a perpendicular plane,
where GSC is the solar constant (assumed 1361.1 W/m2 [Gue18]) and is the earth–sun correction factor [ref]; and the extraterrestrial irradiance on the horizontal plane,
so that we can determine the sky clearness index,
and Hay’s sky clearness parameter (sometimes referred to as the anisotropy index),
Here, we have introduced the correction factor, . Since the Hay–Davies sky irradiance model assigns to be the fraction of diffuse light to be treated as the circumsolar fraction,2 represents the error in the expected circumsolar fraction.
Finally, we can calculate the isotropic irradiance to the horizontal IHI, which is the diffuse light excluding the circumsolar fraction,
and the beam irradiance to the horizontal BHI,
5. Module calculations
Section titled “5. Module calculations”The module area is calculated from the module length and width ,
It is also useful to determine difference in azimuth between the module orientation and the solar azimuth ,
The module orientation (i.e., the direction the module faces) is defined in the same way as the solar azimuth, being the clockwise angle from due north.
6. Irradiance incident to module
Section titled “6. Irradiance incident to module”We introduce a useful parameter related to incident angle and direct shading,
and the distance from the top of the module to the shadow of the direct light,
We then find the incident angle to the front side of the module,
If this angle is between and then the direct light is incident to the rear side with an angle of .
We next calculate the impact of shading from neighbouring modules (assuming an infinitely large field with no lateral spacing). The shaded fraction of the beam on the front side is
and the shaded fraction on the rear is
and thus, the beam irradiance that falls on the front without reflecting from the ground is3
and the beam irradiance that intercepts the rear without reflecting from the ground is
where and ; these correction factors account for the increase in beam irradiance due to reflections from other modules or objects in the scene (but not the ground). They default to unity. Like many of the optical correction factors applied here, they are not needed in ray tracing programs.
The fraction of isotropic irradiance incident to the module (without reflecting from the ground) is
where one uses to compute and to compute . Hence, the isotropic irradiance on the front is
and on rear is
where and are correction factors to account for the increase or decrease in beam irradiance due to reflections from other modules or objects in the scene (but not the ground), and shadings from near-field objects (excluding other modules).
Following the conventional view-factor approach, we also determine the fraction of beam and isotropic irradiance that reflects from the ground onto the front and rear surface of the module. These fractions are , , and and they assume unity albedo, no structural shading, and no transmission through or between the modules.
We can then determine the irradiance that reflects from the ground onto the front,
and onto the rear,
Hence, the total irradiance on the front of the module would be the sum of the three components,
and an equivalent equation exists for the rear total irradiance.
7. Effective irradiance incident to the modules
Section titled “7. Effective irradiance incident to the modules”We now apply three correction factors to the irradiance to account for soiling , spectral effects and incident angle IAM,
In this formula, the same spectral correction and soiling loss is applied to all front irradiance, whereas a different IAM loss is applied to the components. Specifically, an IAM is computed for the incident angle of the beam, whereas a modifier for scattered light of is applied for the isotropic and ground-reflected light.
An equivalent equation is applied for the rear irradiance, which contains the
noting that the same loss factors have been applied except for the soiling loss (i.e., a separate soiling is applied for front and rear irradiance).
The can be loaded from a PAN file and interpolated, but we believe it is more accurately fitted by modelling. In either case, it can be fitted with a cosh function without much trouble.
The total effective irradiance incident to the module then becomes:
Where we have included one extra irradiance multiplier , whose real purpose is to allow the user to add uncertainty to the optical calculation with one single variable. This might arise from optimising the tracker angle for diffuse-sky conditions.
8. Module power and thermal loss
Section titled “8. Module power and thermal loss”We determine a single U-value following the Faiman model
then module efficiency at STC,
and a useful parameter that we’ll use again,
where is the thermal coefficient of power. (Note that a value of means that output power from a module increases by 0.3% per K.)
We next solve the module power at the operational temperature,
where is the absorptance (and typically assumed equal to 0.9).
We then account for cell-to-cell mismatch by applying the user-defined mismatch factor,
Although it’s not necessary for SunSolve P90, we can also calculate the operating temperature of the module,
and the DC module efficiency accounting for temperature,
9. String losses
Section titled “9. String losses”We calculate the DC power of the string accounting for the number of modules in a string , as well as loss factors for module-to-module mismatch , string wiring losses , and max-power tracking losses (module not held at MPP) .
10. Inverter losses
Section titled “10. Inverter losses”We then compute the power entering the inverter, accounting for the number of strings per inverter, the inverter wiring losses , the string-to-string mismatch , and inverter clipping ,
before converting the power from DC into AC, accounting for the inverter efficiency ,
11. Field losses
Section titled “11. Field losses”We calculate the AC power from the field , accounting for the number of inverters and inverter-to-inverter mismatch ,
12. Annual yield
Section titled “12. Annual yield”The optimal annual yield is the sum of all the hourly datapoints from the field for each year without the inclusion of annual yield losses:
where is the time step (assumed to be hourly) and is in Wh.
13. Annual yield losses
Section titled “13. Annual yield losses”The following annual yield losses are then applied: DC health , availability , and curtailment , as well as an annual degradation rate .4
For each progressive year , we follow the typical linear degradation function
None of these inputs include hour-to-hour variability because they’re applied at the annual level.
14. Lifetime yield
Section titled “14. Lifetime yield”The lifetime yield is
Footnotes
Section titled “Footnotes”-
No interpolation of the hourly data is performed (e.g., to calculate sunrise and sunset). And since the position of the sun is loaded at each time step, it is irrelevant whether the time steps represent the start of hour, middle of hour, or end of hour. ↩
-
Thus, the more light that passes through the atmosphere, the clearer the day, and the smaller the isotropic contribution to the DHI. ↩
-
This works because cosine of the incident angle is cosθi = cosθs∙hs, and the irradiance incident to the module Φ = BNI ∙ cosθi, where BNI = BHI / cosθs. Hence Φ = BHI ∙ hs. ↩
-
We do not follow a compound degradation formula, dy=i=1ydi. ↩