Clear Sky Radiation
The clear_sky_radiation module contains all functions related to the calculation of (instantaneous) clear sky radation. Most of these functions are based upon Šúri and Hofierka1.
- extraterrestrial_irradiance_normal(I0, ied)
Computes the extraterrestrial irradiance normal to the solar beam.
\[G_{0} = I_{0} \cdot \varepsilon\]- Parameters
I0 (float) – solar constant, \(I_{0}\) [W m-2]
ied (float) – inverse earth sun distance, \(\varepsilon\) [AU-1]
- Returns
G0 – ext rad normal to solar bea, \(G_{0}\) [W m-2]
- Return type
float
- inverse_earth_sun_distance(day_angle)
Computes the inverse earth sun distance
\[\varepsilon = 1 + 0.03344 \cdot \cos(j^{\prime} - 0.048869)\]- Parameters
day_angle (float) – day angle, \(j^{\prime}\) [-]
- Returns
ied – inverse earth sun distance, \(\varepsilon\) [AU]
- Return type
float
- day_angle(doy)
Computes the day angle. 0 is january 1st, 2\(\pi\) is december 31st.
\[j^{\prime} = \frac{2 \cdot \pi \cdot j} {365.25}\]- Parameters
doy (float) – day of year, \(j\) [-]
- Returns
day_angle – day angle, \(j^{\prime}\) [rad]
- Return type
float
- solar_constant()
Returns the solar constant. The solar constant is defined as the flux density of solar radiation at the mean distance from Sun to Earth. The solar constant is estimated to be 1367 W m-2.
- Returns
I0 – solar constant, \(I_{0}\) [W m-2]
- Return type
float
- declination(day_angle)
Computes the solar declination. The solar declination is computed according to Gruter2.
\[\delta = \arcsin\left(0.3978 \cdot \sin\left(j^{\prime} - 1.4 + 0.0355 \cdot \sin \left(j^{\prime} - 0.0489\right)\right)\right)\]- Parameters
day_angle (float) – day angle, \(j^{\prime}\) [rad]
- Returns
decl – declination, \(\delta\) [rad]
- Return type
float
- relative_optical_airmass(p_air_i, p_air_0_i, h0ref)
Computes the relative optical air mass. It is calculated according to Kasten and Young3.
\[m = \frac{\frac{p}{p_{0}}}{\sin h_{0}^{ref}+0.50572 \left(h_{0}^{ref}+6.07995\right)^{-1.6364}}\]- Parameters
p_air_i (float) – actual instantaneous air pressure, \(p\) [hPa]
p_air_0_i (float) – air pressure at sea level, \(p_{0}\) [-]
h0ref (float) – solar elevation angle corrected for refraction, \(h_{0}^{ref}\) [degrees]
- Returns
m – relative optical airmass, \(m\) [-]
- Return type
float
- solar_elevation_angle_refracted(h0)
Computes the solar elevation angle corrected for refraction.
\[h_{0}^{ref} = h_{0} + \Delta h_{0}^{ref}\]where:
\[\Delta h_{0}^{ref}=0.61359 \cdot \frac{0.1594 + 1.123 \cdot h_{0} + 0.065656 \cdot h_{0}^{2}}{ 1+28.9344 \cdot h_{0} + 277.3971 \cdot h_{0}^{2}}\]- Parameters
h0 (float) – solar elevation angle, \(h_{0}\) [degrees]
- Returns
h0ref – solar elevation angle corrected for refrection, \(h_{0}^{ref}\) [degrees]
- Return type
float
- hour_angle(solar_time)
Computes the solar hour angle.
\[T = \frac{\pi}{12}\left(t-12\right)\]- Parameters
solar_time (float) – solar_time, \(t\) [hours]
- Returns
ha – solar hour angle, \(T\) [rad]
- Return type
float
- solar_elevation_angle(lat, decl, ha)
Computes the solar elevation angle.
\[h_{0}=\arcsin\left(C_{31} \cdot \cos(T) + C_{33}\right)\]where:
\[\begin{split}C_{31} &= \cos(\varphi) \cdot \cos(\delta) \\ C_{33} &= \sin(\varphi) \cdot \sin(\delta)\end{split}\]- Parameters
lat (float) – latitude, \(\varphi\) [rad]
decl (float) – declination, \(\delta\) [rad]
ha (float) – solar hour angle, \(T\) [rad]
- Returns
h0 – solar elevation angle, \(h_0\) [degrees]
- Return type
float
- rayleigh_optical_thickness(m)
Computes the Rayleigh optical thickness at airmass \(m\). It is calculated according to the improved formula by Kasten4.
if \(m\) > 20:
\[\delta_{R}(m) = \left(6.6296 + 1.7513 \cdot m - 0.1202 \cdot m^{2} + 0.0065 \cdot m^{3} - 0.00013 \cdot m^{4}\right)^{-1}\]if \(m\) < 20:
\[\delta_{R}(m) = \left(10.4+0.718 \cdot m\right)^{-1}\]- Parameters
m (float) – relative optical airmass, \(m\) [-]
- Returns
rotm – Rayleigh optical thickness at airmass m, \(\delta_{R}\) [-]
- Return type
float
- beam_irradiance_normal_clear(G0, Tl2, m, rotm, h0)
Computes the clear sky beam irradiance normal to the solar beam.
\[B_{0c}=G_{0} \cdot \exp\left(-0.8662 \cdot T_{LK} \cdot m \cdot \delta_{R}\right)\]- Parameters
G0 (float) – ext rad normal to solar beam, \(G_0\) [W/m2]
Tl2 (float) – airmass 2 Linke atmospheric turbidity factor, \(T_{LK}\) [-]
m (float) – relative optical airmass, \(m\) [-]
rotm (float) – Rayleigh optical thickness at airmass m, \(\delta_{R}\) [-]
h0 (float) – solar elevation angle, \(h_0\) [degrees]
- Returns
B0c – beam irradiance normal to the solar beam, \(B_{0c}\) [W/m2]
- Return type
float
- beam_irradiance_horizontal_clear(B0c, h0)
Computes the clear sky beam irradiance on a horizontal surface.
\[B_{hc} = B_{0c} \cdot \sin\left(h_{0}\right)\]- Parameters
B0c (float) – beam irradiance normal to the solar beam, \(B_{0c}\) [W/m2]
h0 (float) – solar elevation angle, \(h_0\) [degrees]
- Returns
Bhc – beam irradiance at a horizontal surface, \(B_{hc}\) [W/m2]
- Return type
float
- linke_turbidity(wv_i, aod550_i, p_air_i, p_air_0_i)
Computes the air mass 2 Linke atmospheric turbidity factor.
\[\begin{split}p_{rel} &= \frac{p}{p_{0}} \\ T_{LK} &= 3.91 \cdot \tau_{550} \cdot e^{0.689p_{rel}}+0.376 \cdot \ln\left(TCWV\right)+\left(2+0.54 \cdot p_{rel}-0.34 \cdot p_{rel}^{2}\right)\end{split}\]- Parameters
wv_i (float) – total column atmospheric water vapor, \(TCWV\) [kg m-2]
aod550_i (float) – Aerosol optical depth at 550nm, \(aod550\) [-]
p_air_i (float) – actual instantaneous air pressure, \(p\) [hPa]
p_air_0_i (float) – air pressure at sea level, \(p_0\) [-]
- Returns
Tl2 – Airmass 2 Linke atmospheric turbidity factor, \(T_{LK}\) [-]
- Return type
float
Examples
- diffuse_irradiance_horizontal_clear(G0, Tl2, h0)
Computes the clear sky beam irradiance on a horizontal surface.
\[D_{hc}=G_{0} \cdot Tn\left(T_{LK}\right) \cdot F_{d}\left(h_{0}\right)\]For the estimation of the transmission function \(Tn\left(T_{LK}\right)\) the following function is used:
\[Tn\left(T_{LK}\right)=-0.015843+0.030543 \cdot T_{LK}+0.0003797 \cdot T_{LK}^{2}\]The solar altitude function \(F_{d}\left(h_{0}\right)\) is evaluated using the expression:
\[F_{d}\left(h_{0}\right)=A_{1}+A_{2} \cdot \sin (h_{0})+A_{3} \cdot sin^{2}(h_{0})\]with:
\[\begin{split}A_{1}^{\prime} &= 0.26463-0.061581 \cdot T_{LK}+0.0031408 \cdot T_{LK}^{2} \\ A_{1} &= \frac{0.0022}{Tn\left(T_{LK}\right)} \: \text{if} \: A_{1}^{\prime} \cdot Tn\left(T_{LK}\right)<0.0022 \\ A_{1} &= A_{1}^{\prime} \: \text{if} \: A_{1}^{\prime} \cdot Tn\left(T_{LK}\right)\geq0.0022 \\ A_{2} &= 2.04020+0.018945 \cdot T_{LK}-0.011161 \cdot T_{LK}^{2} \\ A_{3} &= -1.3025+0.039231 \cdot T_{LK}+0.0085079 \cdot T_{LK}^{2}\end{split}\]- Parameters
G0 (float) – ext rad normal to solar beam, \(G_0\) [W/m2]
Tl2 (float) – Airmass 2 Linke atmospheric turbidity factor, \(T_{LK}\) [-]
h0 (float) – solar elevation angle, \(h_0\) [degrees]
- Returns
Dhc – Diffuse irradiance at a horizontal surface, \(D_{hc}\) [W/m2]
- Return type
float
Examples
- ra_clear_horizontal(Bhc, Dhc)
Computes the clear sky beam irradiance on a horizontal surface.
\[G_{hc}=B_{hc}+D_{hc}\]- Parameters
Bhc (float) – beam irradiance at a horizontal surface, \(B_{hc}\) [W/m2]
Dhc (float) – Diffuse irradiance at a horizontal surface, \(D_{hc}\) [W/m2]
- Returns
ra_hor_clear_i – Total clear-sky irradiance on a horizontal surface, \(G_{hc}\) [W/m2]
- Return type
float
Examples
- 1
Marcel Šúri and Jaroslav Hofierka. A new gis-based solar radiation model and its application to photovoltaic assessments. Transactions in GIS, 8(2):175–190, 2004. URL: https://doi.org/10.1111/j.1467-9671.2004.00174.x.
- 2
JW Gruter. Radiation nomenclature. brussels, cec. Second Solar Energy Programme, Project F, Solar Radiation Data, 1984.
- 3
Fritz Kasten and Andrew T Young. Revised optical air mass tables and approximation formula. Applied optics, 28(22):4735–4738, 1989. URL: https://doi.org/10.1364/AO.28.004735.
- 4
F Kasten. The linke turbidity factor based on improved values of the integral rayleigh optical thickness. Solar energy, 56(3):239–244, 1996. URL: https://doi.org/10.1016/0038-092X(95)00114-7.