将 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
需要名为 ghi
、dni
、dhi
以及可选的 temp_air
和 wind_speed
的列。
还可以考虑将您的时间索引移动 30 分钟,以说明测量的每小时间隔与模拟的瞬时太阳位置之间的差异。
我正在使用 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
需要名为 ghi
、dni
、dhi
以及可选的 temp_air
和 wind_speed
的列。
还可以考虑将您的时间索引移动 30 分钟,以说明测量的每小时间隔与模拟的瞬时太阳位置之间的差异。