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 Hofierka[1].
- 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 Gruter[2].
\[\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 Young[3].
\[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 Kasten[4].
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