将 TMY 数据与 ModelChain 结合使用

Using TMY data with ModelChain

我正在使用 PVlib 生成光伏系统的光伏功率输出。使用模型链,我尝试生成光伏功率输出。用于光伏系统的代码如下:

surface_tilt = 30
surface_azimuth = 180
albedo = 0.2
golden = pvlib.location.Location(meta['latitude'], meta['longitude'], tz='US/Mountain', 
                                     altitude=meta['altitude'], name=meta['Name'].replace('"',''))
print(golden)

# Trying to design a 4 kw detailed solar with inverter and modules 
sandia_modules = pvlib.pvsystem.retrieve_sam('SandiaMod')
cec_inv = pvlib.pvsystem.retrieve_sam('cecinverter')

module = sandia_modules['SunPower_SPR_220__PVL____2006_']
#module = sandia_modules.Canadian_Solar_CS5P_220M___2009_
inv = cec_inv['SMA_America__SB4000TL_US_22__208V__208V__CEC_2018_']

#Making a system 
system = pvlib.pvsystem.PVSystem(module_parameters = module,
                                 inverter_parameters = inv,
                                 surface_tilt = surface_tilt,
                                 surface_azimuth = surface_azimuth,
                                 albedo = albedo,
                                 modules_per_string = 7,
                                 strings_per_inverter = 3)

mc_system = pvlib.modelchain.ModelChain(system, golden)
mc_system.run_model(times = tmy_data.index, weather = tmy_data)

但与使用教程中的代码的单模块光伏发电相比,我没有看到光伏功率输出的变化 [https://github.com/pvlib/pvlib-python/blob/master/docs/tutorials/tmy_to_power.ipynb ]。我在两者中都使用了相同的天气文件。在教程的光伏系统(单模块)中,我们可以看到光伏输出的变化

但是在我创建的系统中,光伏系统输出没有太大变化

特别是,在有效太阳辐照度较低的时候,我预计设计的光伏输出会降低。我错过了什么吗?

您没有看到预期的变化,因为 ModelChain 无法在您的 tmy_data 中找到辐照度数据,因此假设晴空值运行计算。

我的猜测是您使用的是直接从 read_tmy3 函数读取的未处理的 TMY 数据。如果是这样,您需要在 tmy_data 中重命名 GHI、DNI 和 DHI 列。 ModelChain.run_model 需要名为 ghidnidhi 以及可选的 temp_airwind_speed 的列。

还可以考虑将您的时间索引移动 30 分钟,以说明测量的每小时间隔与模拟的瞬时太阳位置之间的差异。