关于'pvlib'模块在北半球获取垂直表面POA的问题

0 投票
1 回答
28 浏览
提问于 2025-04-14 17:01

我正在做一个项目,目的是计算朝东、南、北和西的垂直墙面上接收到的总辐射量。不过,我遇到了一个问题:代码显示东墙的辐射量比南墙高,这显然不对,因为朝南的墙应该接收到最多的辐射。

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()

我尝试让tmy文件识别时区,并且也更改了tz参数。但是,我的代码仍然显示东墙的辐射量高于南墙。

南墙:

这个结果不太合理,因为它在夏天的辐射量反而显示得更低。

东墙:

1 个回答

1

你确定这个是不对的吗?试试不同的倾斜角度,比如0度、15度、30度、45度、60度、75度和90度,看看图案是怎么变化的。垂直的表面在太阳低的时候效果最好,这种情况通常发生在早上和冬天。

撰写回答