Transposition
Where simultaneous GHI (\(G_{\text{h}}\)) and horizontal Diffuse Irradiance (\(G_{\text{dif}}\)) timeseries are supplied as inputs, a horizontal direct irradiance \(G_{\text{dir}}\) timeseries is calculated as:
$$G_{\text{dir}} \left( t \right) = G_{h} \left( t \right) - G_{\text{dif}} \left( t \right)$$
Direct Irradiance
The direct irradiance on the tilted module surface is calculated from the direct irradiance on the horizontal surface \(G_{\text{dir}}\) as:
$$G_\text{dir,poa} = G_{\text{dir}} \frac{\cos \left( \theta \right)}{\cos \left( \theta_\text{z} \right)} = \mathit{DNI} \cos \left( \theta \right)$$
As described in Sun Position, \(\theta_{\text{z}}\) is the Solar zenith angle (the angle between the vertical and a vector pointing to the sun at the plant location). \(G_{\text{dir,poa}}\) is set to zero for \(\theta_{\text{z}}\) > 88°. This cut-off point for large true zenith angles is SolarFarmer's default value. However, it can be adjusted using the property SolarZenithAngleLimit in the EnergyCalculationOptions object.
Reflected Irradiance
The reflected irradiance is calculated by first considering the irradiance that arrives on the ground, and then calculating the view factor from the plane or array to the ground. SolarFarmer accounts for terrain slope, so we consider the direct and diffuse irradiance components in the plane-of-terrain: \(G_\text{pot} = G_\text{dir, pot} + G_\text{dif, pot}\). For a terrain slope \(\beta_{slope})\) we have:
$$G_\text{dir,pot} = \mathit{DNI} \cos \left( \theta_{\text{terrain}} \right)$$ $$G_\text{dif,pot} = G_{\text{dif}} \frac{\left(1 + \cos \left( \beta_{slope} \right)\right)}{2}$$
where \(\theta_{\text{terrain}}\) is the angle between the terrain normal and the solar vector, i.e. the angle-of-incidence on the ground.
The reflected irradiance on the tilted module surface is calculated from the plane-of-terrain irradiance as:
$$G_\text{r,poa} = \rho G_\text{pot} \frac{\left(1 - \cos \left( \beta_{POA-terrain} \right)\right)}{2}$$
where \(\beta_{POA-terrain}\) is the angle between the plane-of-array and the plane-of-terrain and \(\rho\) is the albedo of the surrounding surface.
On flat terrain \(\beta_{POA-terrain}\) is simply the tilt or tracker angle. In contrast to the effective tilt, \(\beta_{POA-terrain}\) is effected by the forward slope but not the along-row slope. On sloped terrain \(\cos \left( \beta_{POA-terrain} \right)\) can be calculated by taking the dot-product of the array normal vector with the terrain normal vector.
The SolarFarmer calculation keeps hold of the separate direct and diffuse components of the reflected irradiance as later, when the shading loss is applied, there is a different shading factor for each component.
Some typical albedo values for reference:
Surface | Typical albedo |
---|---|
Fresh asphalt | 0.04 |
Worn asphalt | 0.12 |
Conifer forest | 0.08-0.15 |
Deciduous trees | 0.15-0.18 |
Bare soil | 0.17 |
Green grass | 0.25 |
Desert sand | 0.40 |
New concrete | 0.55 |
Ocean Ice | 0.5-0.7 |
Fresh snow | 0.8-0.9 |
'Enable diffuse edge case handling': Ground (Albedo) Irradiance
For incidence angles \(\theta > 90^\circ\) (sun behind the module), only the diffuse component of the horizontal irradiance is used, so
$$G_\text{r,poa} = \frac{1}{2} \rho G_{\text{dif}} (1 - \cos{(\beta))}$$
Diffuse Irradiance
Both the Hay and Perez transposition models make use of the Direct Normal Irradiance, \(G_{\text{dni}}\). This is related to direct horizontal irradiance (\(G_{\text{dir}}\)) through:
$$G_{\text{dni}} = \frac{G_{\text{dir}}}{\cos \theta_\text{z}}$$
\(G_{\text{dni}}=0\) for zenith angles \(\theta_{\text{z}} \geq 90^\circ\) (sun below the horizon).
Horizontal Diffuse Irradiance \(G_{\text{dif}}\) is transposed to the plane of each rack (\(G_{\text{dif,poa}}\)) by one of three methods:
Hay Model
The Hay model [4] considers that the diffuse radiation on a horizontal surface is composed of a circum-solar component coming from the direction of the sun and an isotropic diffuse component from the rest of the sky dome. The diffuse radiation on a tilted plane according to the Hay model is expressed as:
$$G_\text{dif,poa} = G_{\text{dif}} \left \lbrack \left( \frac{G_{\text{dni}}}{G_0 \left( n \right)} \right) \frac{a}{\cos \theta_\text{z}} + \left( \frac{1 + \cos\beta}{2} \right) \left( 1 - \frac{G_{\text{dni}}}{G_0 \left( n \right)} \right) \right \rbrack$$
Where
$$a = \max \left(0,\ \cos\theta \right)$$
'Enable diffuse edge case handling': Hay Model
For zenith angles \(\theta_{\text{z}} \geq 88^\circ\), set \(G_{\text{dni}}=0\) so that:
$$G_{dif,poa} = G_{\text{dif}}\left\lbrack \left( \frac{1 + \cos\beta}{2} \right) \right\rbrack$$
Perez Model
The Perez [5] model considers the circumsolar diffuse, horizon diffuse and isotropic diffuse irradiation. The expression of the diffuse component on tilted surface is shown in the equation below:
$$G_\text{dif,poa} = G_{\text{dif}} \left\lbrack \frac{\left( 1 - F_{1} \right) (1 + \cos\beta)}{2} + F_{1} \frac{a}{b} + F_{2} \sin\beta \right\rbrack$$
Where
$$a = \max \left(0,\ \cos\theta \right)$$
$$b = \max \left(0.087,\cos\theta_\text{z} \right)$$
\(F_1\) and \(F_2\) are empirical coefficients. They express the degree of circumsolar and horizon anisotropy respectively. These coefficients are functions of the sky conditions: the solar zenith angle, the sky clearness (\(\varepsilon\)) and the sky brightness (\(\Delta\)).
$$\varepsilon = \frac{\frac{G_{\text{dif}} + G_{\text{dni}}}{G_{\text{dif}}} + 1.041 \theta_{z}^3} {1 + 1.041 \theta_{z}^3}$$
$$\Delta = \frac{G_{\text{dif}} \mathit{AM}}{G_0 \left( n \right)}$$
\(\mathit{AM}\) is the relative optical air mass as described in Air Mass. The values of \(F_1\) (representing relative circumsolar intensity) and \(F_2\) (representing horizon brightening) are determined from the value of Sky Clearness \(\varepsilon\). Sky Clearness as calculated above is first placed into one of eight bins (inclusive of lower bound, exclusive of upper bound):
\(\varepsilon\) Bin | Lower bound | Upper bound |
---|---|---|
1 Overcast | 1 | 1.065 |
2 | 1.065 | 1.230 |
3 | 1.230 | 1.500 |
4 | 1.500 | 1.950 |
5 | 1.950 | 2.800 |
6 | 2.800 | 4.500 |
7 | 4.500 | 6.200 |
8 Clear | 6.200 | - |
The bin number is then used to determine the value of six further parameters:
\(\varepsilon\) bin | F11 | F12 | F13 | F21 | F22 | F23 |
---|---|---|---|---|---|---|
1 | -0.008 | 0.588 | -0.062 | -0.060 | 0.072 | -0.022 |
2 | 0.130 | 0.683 | -0.151 | -0.019 | 0.066 | -0.029 |
3 | 0.330 | 0.487 | -0.221 | 0.055 | -0.064 | -0.026 |
4 | 0.568 | 0.187 | -0.295 | 0.109 | -0.152 | -0.014 |
5 | 0.873 | -0.392 | -0.362 | 0.226 | -0.462 | 0.001 |
6 | 1.132 | -1.237 | -0.412 | 0.288 | -0.823 | 0.056 |
7 | 1.060 | -1.600 | -0.359 | 0.264 | -1.127 | 0.131 |
8 | 0.678 | -0.327 | -0.250 | 0.156 | -1.377 | 0.251 |
Which finally yield values for \(F_{\text{1}}\) and \(F_{\text{2}}\) as follows:
$$F_{1} = F_{11} + F_{12} \Delta + F_{13} \theta_{z}$$
$$F_{2} = F_{21} + F_{22} \Delta + F_{23} \theta_{z}$$
'Enable diffuse edge case handling': Perez Model
For zenith angles \(\theta_{\text{z}} \geq 88^\circ\), set \(G_{\text{dif},\text{poa}} = G_{\text{dif}}\)
For incidence angles \(\theta > 90^\circ\) (sun behind the module), set direct normal irradiance \(G_{\text{dni}}\) to zero in the calculation of the sky clearness, so \(\varepsilon = 1 \).