首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少“pvlib”模块中的“逆变器”属性?

缺少“pvlib”模块中的“逆变器”属性?
EN

Stack Overflow用户
提问于 2021-08-04 02:02:14
回答 1查看 198关注 0票数 0

我最近下载了Anaconda发行版2.0.4和PVLIB 0.81,以便与Spyder 4.2.5一起使用。我尝试从Intro教程(https://pvlib-python.readthedocs.io/en/stable/introtutorial.html#)运行过程代码示例,但是在调用pvlib.inverter.sandia()的行中,我得到了错误:

AttributeError:模块“pvlib”没有属性“逆变器”

我使用了dir命令,并丢失了上述属性。通过两种方式尝试安装PVLIB:

安装-c pvlib pvlib

conda创建-n pvlib -c conda伪造pvlib python conda激活pvlib

然而,错误依然存在。该属性是否已从最新版本的PVLIB中删除?在这种情况下,对于当前版本的PVLIB,替代结构是什么?

代码语言:javascript
复制
import matplotlib.pyplot as plt

naive_times = pd.date_range(start='2015', end='2016', freq='1h')



coordinates = [(30, -110, 'Tucson', 700, 'Etc/GMT+7'),
               (35, -105, 'Albuquerque', 1500, 'Etc/GMT+7'),
               (40, -120, 'San Francisco', 10, 'Etc/GMT+8'),
               (50, 10, 'Berlin', 34, 'Etc/GMT-1')]


import pvlib


sandia_modules = pvlib.pvsystem.retrieve_sam('SandiaMod')

sapm_inverters = pvlib.pvsystem.retrieve_sam('cecinverter')

module = sandia_modules['Canadian_Solar_CS5P_220M___2009_']

inverter = sapm_inverters['ABB__MICRO_0_25_I_OUTD_US_208__208V_']

temperature_model_parameters = pvlib.temperature.TEMPERATURE_MODEL_PARAMETERS['sapm']['open_rack_glass_glass']


temp_air = 20

wind_speed = 0

system = {'module': module, 'inverter': inverter,
          'surface_azimuth': 180}


energies = {}

for latitude, longitude, name, altitude, timezone in coordinates:
    times = naive_times.tz_localize(timezone)
    system['surface_tilt'] = latitude
    solpos = pvlib.solarposition.get_solarposition(times, latitude, longitude)
    dni_extra = pvlib.irradiance.get_extra_radiation(times)
    airmass = pvlib.atmosphere.get_relative_airmass(solpos['apparent_zenith'])
    pressure = pvlib.atmosphere.alt2pres(altitude)
    am_abs = pvlib.atmosphere.get_absolute_airmass(airmass, pressure)
    tl = pvlib.clearsky.lookup_linke_turbidity(times, latitude, longitude)
    cs = pvlib.clearsky.ineichen(solpos['apparent_zenith'], am_abs, tl,
                                 dni_extra=dni_extra, altitude=altitude)
    aoi = pvlib.irradiance.aoi(system['surface_tilt'], system['surface_azimuth'],
                               solpos['apparent_zenith'], solpos['azimuth'])
    total_irrad = pvlib.irradiance.get_total_irradiance(system['surface_tilt'],
                                                        system['surface_azimuth'],
                                                        solpos['apparent_zenith'],
                                                        solpos['azimuth'],
                                                        cs['dni'], cs['ghi'], cs['dhi'],
                                                        dni_extra=dni_extra,
                                                        model='haydavies')
    tcell = pvlib.temperature.sapm_cell(total_irrad['poa_global'],
                                        temp_air, wind_speed,
                                        **temperature_model_parameters)
    effective_irradiance = pvlib.pvsystem.sapm_effective_irradiance(
        total_irrad['poa_direct'], total_irrad['poa_diffuse'],
        am_abs, aoi, module)
    dc = pvlib.pvsystem.sapm(effective_irradiance, tcell, module)
    ac = pvlib.inverter.sandia(dc['v_mp'], dc['p_mp'], inverter)
    annual_energy = ac.sum()
    energies[name] = annual_energy


energies = pd.Series(energies)


print(energies.round(0))






energies.plot(kind='bar', rot=0)


plt.ylabel('Yearly energy yield (W hr)')
EN

回答 1

Stack Overflow用户

发布于 2021-09-09 07:30:17

该属性是否已从最新版本的PVLIB中删除?

不,您可以在文档论GitHub的源代码中看到,逆变模块仍然是pvlib的一部分。

上面粘贴的代码片段正在此越野笔记本中工作。对不起,我只能猜出问题出在哪里。有时,我发现的帮助是从一个新鲜、干净的新虚拟或conda环境开始,安装pvlib和木星,然后尝试从一个新的木星笔记本上执行这个代码片段。如果你仍然有这个问题,上传木星笔记本到一个GitHub吉斯特,并粘贴到这里的链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68644584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档