我正在使用PVlib来生成PV系统的PV功率输出。使用模型链,我尝试生成光伏功率输出。用于PV系统的代码如下:
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中的代码。我在这两个文件中使用了相同的天气文件。在教程的PVsystem中(只有一个模块),我们可以看到PV输出的变化
。
但是在我创建的系统中,光伏系统的输出没有太大的变化
。
特别是,在太阳有效辐射较低的时候,我预计设计的光伏输出会更低。我是不是遗漏了什么?
发布于 2019-01-16 08:59:08
您看不到预期的变化,因为ModelChain
无法在您的tmy_data
中找到辐照度数据,因此运行假定晴朗天空值的计算。
我的猜测是,您使用的是直接从read_tmy3
函数读取的未经处理的TMY数据。如果是这样,则需要在tmy_data
中重命名GHI、DNI和DHI列。ModelChain.run_model
需要名为ghi
、dni
、dhi
的列,还需要名为temp_air
和wind_speed
的列。
还可以考虑将时间指数移动30分钟,以说明测量的每小时间隔与模拟的瞬时太阳位置之间的差异。
https://stackoverflow.com/questions/54207145
复制相似问题