windows 类型错误:get_total_irradiance()获取了参数“surface_tilt”的多个值

jyztefdp  于 2023-03-19  发布在  Windows
关注(0)|答案(1)|浏览(135)

我需要创建一个代码来根据太阳的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的值,还尝试删除这部分代码。

6xfqseft

6xfqseft1#

pvlib.irradiance.get_total_irradiance函数的输入参数如下所示:

pvlib.irradiance.get_total_irradiance(surface_tilt, surface_azimuth, 
    solar_zenith, solar_azimuth, ...)

现在你可以按位置传入输入(第一个参数是倾斜度),例如:

pvlib.irradiance.get_total_irradiance(45, 180, ...

或者,可以使用参数名称指定参数(在本例中,参数的顺序无关紧要):

pvlib.irradiance.get_total_irradiance(surface_tilt=45, surface_azimuth=180, ...

在上面的代码示例中,我们混合使用了这两种方法。只要不同时使用位置和关键字来指定参数,就可以这样做。例如,这里的表面倾斜度被指定了两次:

pvlib.irradiance.get_total_irradiance(45, surface_tilt=45, ...

这与您收到的错误消息“TypeError:get_total_irradiance()获取了参数“surface_tilt”的多个值“

相关问题