Problem related to 'pvlib' module to get POA on a vertical surface in Northern Hemisphere

31 views Asked by At

So I am working on a project to identify the total irradiance falling on vertical walls oriented towards East, South, North and West. I am encountering a problem where the code produces very high irradiance on Eastern wall than the Southern Wall. This cannot be true since the Southern oriented walls should receive the highest irradiance.

import pandas as pd
import pvlib
import matplotlib as plt

tmy = pd.read_csv('Weatherfile_0.5_Ed.csv',nrows = 8760, usecols=["DHI","DNI","GHI"])
tmy.index = pd.date_range(start="2023-01-01 00:00", end="2023-12-31 23:00", freq='h',tz="US/Mountain")


location = pvlib.location.Location(latitude=53.5501,longitude=-113.469,tz='Etc/GMT+6')
times = tmy.index-pd.Timedelta('30min')
solar_position_ed = location.get_solarposition(times)
solar_position_ed.index += pd.Timedelta('30min')
df_poa_ed = pvlib.irradiance.get_total_irradiance(
    surface_tilt=90, 
    surface_azimuth=180,dni=tmy['DNI'],ghi=tmy['GHI'],dhi=tmy['DHI'],solar_zenith=solar_position_ed['apparent_zenith'],
    solar_azimuth=solar_position_ed['azimuth'],
    model='isotropic')


df_poa_ed.plot()

I tried making the tmy file timezone aware and also changed the tz parameter. Yet, my code shows high irradiance on the eastern wall compared to southern wall.

South Wall:

It is inconsistent since it shows lower irradiance during summer

East Wall:

1

There are 1 answers

0
adr On

Are you sure this is incorrect? Try different tilt angles, for example 0, 15, 30, 45, 60, 75, 90 to see how the patterns change. A vertical surface benefits when the sun is low in the sky, which happens in the morning and in winter.