我需要创建一个代码来根据太阳的Angular 模拟穿过房屋Windows的太阳光的W流。我有一个名为“new_df”的 Dataframe ,2020年的辐照度值为“irradiance366”。我想使用pvlib,但无论我在“surface_tilt”中输入什么值,我都会收到这个错误(标题)消息。以下是我的代码部分:
location = pvlib.location.Location(45.384714, -71.911770, altitude=300, name=None)
times = pd.date_range(start='2020-01-01', end='2020-12-31', freq='1h')
angles = location.get_solarposition(times)
new_df = new_df.truncate(before=angles.index[0], after=angles.index[-1])
surface_sud = 10 # mètres carrés
surface_est = 5 # mètres carrés
surface_ouest = 5 # mètres carrés
puissance_sud = pvlib.irradiance.get_total_irradiance(surface_sud, angles['zenith'], angles['azimuth'],new_df['irradiance366'], surface_tilt=0, surface_azimuth=180)['poa_global']
puissance_est = pvlib.irradiance.get_total_irradiance(surface_est, angles['zenith'], angles['azimuth'],new_df['irradiance366'], surface_tilt=90, surface_azimuth=90)['poa_global']
puissance_ouest = pvlib.irradiance.get_total_irradiance(surface_ouest, angles['zenith'], angles['azimuth'],new_df['irradiance366'], surface_tilt=90, surface_azimuth=270)['poa_global']
puissance_totale = puissance_sud + puissance_est + puissance_ouest
我尝试更改surface_tilt的值,还尝试删除这部分代码。
1条答案
按热度按时间6xfqseft1#
pvlib.irradiance.get_total_irradiance函数的输入参数如下所示:
现在你可以按位置传入输入(第一个参数是倾斜度),例如:
或者,可以使用参数名称指定参数(在本例中,参数的顺序无关紧要):
在上面的代码示例中,我们混合使用了这两种方法。只要不同时使用位置和关键字来指定参数,就可以这样做。例如,这里的表面倾斜度被指定了两次:
这与您收到的错误消息“TypeError:get_total_irradiance()获取了参数“surface_tilt”的多个值“