[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pysolar-discuss] get_radiation_direct
[Thread Prev] | [Thread Next]
[Date Prev] | [Date Next]
- Subject: [pysolar-discuss] get_radiation_direct
- From: Michael Dauer <michael.dauer@xxxxxxxxxxx>
- Date: Fri, 28 Jul 2017 09:11:07 +0000
- To: pysolar-discuss@xxxxxxxxxxx
Hi,
I tried to use get_radiation_direct, but I doubt that the results are
correct. The radiation for noon in spring is much stronger then for noon in
summer. You can easily check with the following code:
from pysolar import solar
import datetime as dt
import dateutil
import time
import matplotlib.pyplot as plt
import numpy as np
# for when in [dt.datetime(2017,3,21,12,0), dt.datetime(2017,6,21,12,0)]:
results = []
for days in range(365):
# when = dt.datetime(2017,1,1,12,0) + dt.timedelta(days=days)
when = dt.datetime.fromtimestamp(time.mktime((2017, 1, 1, 12, 0,
0, 0, 0, 0)), tz=dateutil.tz.tzoffset("CET", 1*60*60)) +
dt.timedelta(days=days)
altitude = solar.get_altitude(48.1980552, 16.3508735, when)
power = solar.radiation.get_radiation_direct(when, altitude)
print(altitude, power)
day = when.utctimetuple().tm_yday
results.append((day, power,
solar.radiation.get_apparent_extraterrestrial_flux(day),
solar.radiation.get_optical_depth(day),
solar.radiation.get_air_mass_ratio(altitude)))
print(results[-1])
r = np.array(results)
ax = None
for i in range(1,5):
ax = plt.subplot(4,1,i, sharex=ax)
plt.plot(r[:,i])
plt.show()
[image: pysolar.png]
Maybe the function works for the southern hemisphere only, or do I need to
consider the actual angle in addition?
I miss the theoretical background. Can somebody please give me a hint, how
to correct it.
Thanks,
Mick
