pingswept / pysolar

Pysolar is a collection of Python libraries for simulating the irradiation of any point on earth by the sun. It includes code for extremely precise ephemeris calculations.
http://pysolar.org
GNU General Public License v3.0
372 stars 125 forks source link

get_radiation_direct() returns higher watts/sqM in the winter than in the summer #147

Closed keredson closed 2 years ago

keredson commented 2 years ago

get_radiation_direct() returns higher watts/sqM in the winter than in the summer. why is this?

for example, noon in boston, 20th of each month:

import datetime
import pysolar.radiation
import pysolar.solar
lat, lng = 42.206, -71.382
for m in range(12):
  date = datetime.datetime(2021, m+1, 20, 15, 0, 0, 0, tzinfo=datetime.timezone.utc)
  alt = pysolar.solar.get_altitude(lat, lng, date)
  radiation = pysolar.radiation.get_radiation_direct(date, alt)
  print(m+1, alt, radiation)

gives you:

1 22.272517961915373 851.6847501532052
2 30.49465271680475 903.5179391657787
3 40.84405009096969 919.4994500170866
4 52.01264843217495 905.4454065949881
5 59.18378025051947 879.5019489177001
6 60.92238847009632 857.7048001655659
7 58.03637613764321 851.14716464811
8 51.84610896287635 859.4694792503991
9 43.08407356533884 872.3710580063222
10 33.34821719793851 871.8542541161275
11 24.527408368421348 845.0794224708601
12 20.207784993433698 819.9787372978316
keredson commented 2 years ago

nm, found util.diffuse_underclear