20 lines
716 B
Python
20 lines
716 B
Python
|
import math
|
||
|
import pandas as pd
|
||
|
import helpers.constants as cte
|
||
|
|
||
|
|
||
|
class Weather(object):
|
||
|
|
||
|
@staticmethod
|
||
|
def sky_temperature(ambient_temperature):
|
||
|
# Swinbank - Fuentes sky model approximation(1963) based on cloudiness statistics(32 %) in United States
|
||
|
# ambient temperatures( in °C)
|
||
|
# sky temperatures( in °C)
|
||
|
_ambient_temperature = ambient_temperature[['temperature']].to_numpy()
|
||
|
values = []
|
||
|
for temperature in _ambient_temperature:
|
||
|
value = 0.037536 * math.pow((temperature + cte.celsius_to_kelvin), 1.5) \
|
||
|
+ 0.32 * (temperature + cte.celsius_to_kelvin) - cte.celsius_to_kelvin
|
||
|
values.append(value)
|
||
|
return pd.DataFrame(values, columns=['sky temperature'])
|