import pvlib import pprint pp = pprint.PrettyPrinter(indent=4) surface_tilt = 30.00 surface_azimuth = 178.00 solar_zenith = 0 solar_azimuth = 117.225416 dhi = 247.2 dni = 389.333 dni_extra = 1412.962887 values = {} while(solar_zenith <= 90): values.update({solar_zenith: pvlib.irradiance.haydavies(surface_tilt, surface_azimuth, dhi, dni, dni_extra, solar_zenith=solar_zenith, solar_azimuth=solar_azimuth)}) solar_zenith += 0.5 pp.pprint(values)