PVLIB – AC结果剪切

huangapple go评论82阅读模式
英文:

PVLIB - AC result clipped

问题

我尝试获取一个面向东西的混合方向阵列的交流电功率,就像 https://pvlib-python.readthedocs.io/en/stable/gallery/irradiance-transposition/plot_mixed_orientation.html#sphx-glr-gallery-irradiance-transposition-plot-mixed-orientation-py 中所示。

由于我两侧的模块数量不同,我对上面的示例进行了轻微修改,使用了以下代码:

from pvlib import pvsystem, modelchain, location
import pandas as pd
import matplotlib.pyplot as plt

array_kwargs = dict(
    module_parameters=dict(pdc0=1, gamma_pdc=-0.004),
    temperature_model_parameters=dict(a=-3.56, b=-0.075, deltaT=3)
)

arrays = [
    pvsystem.Array(pvsystem.FixedMount(40, 275), name='West',
                   modules_per_string=5,
                   **array_kwargs),
    pvsystem.Array(pvsystem.FixedMount(40, 85), name='East',
                   modules_per_string=6,
                   **array_kwargs),
    ]

# 纬度,经度
loc = location.Location(50.0, 10.0, 'Etc/GMT-1')
system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=3))
mc = modelchain.ModelChain(system, loc, aoi_model='physical',
                           spectral_model='no_loss')

times = pd.date_range('2023-05-29 04:00', '2023-05-29 21:00', freq='5min',
                      tz='Etc/GMT-1')
weather = loc.get_clearsky(times)
mc.run_model(weather)

fig, ax = plt.subplots()
for array, pdc in zip(system.arrays, mc.results.dc):
    pdc.plot(label=f'{array.name}')
mc.results.ac.plot(label='Inverter')
plt.ylabel('Power')
plt.legend()
plt.show()

但我没有得到交流(逆变器)输出的总和,而是被截断了:
PVLIB – AC结果剪切

英文:

I am trying to get the AC power of a mixed orientation array facing east and west like in https://pvlib-python.readthedocs.io/en/stable/gallery/irradiance-transposition/plot_mixed_orientation.html#sphx-glr-gallery-irradiance-transposition-plot-mixed-orientation-py

As I have different numbers of modules on each side I use this code with minor changes to the example above:

from pvlib import pvsystem, modelchain, location
import pandas as pd
import matplotlib.pyplot as plt

array_kwargs = dict(
    module_parameters=dict(pdc0=1, gamma_pdc=-0.004),
    temperature_model_parameters=dict(a=-3.56, b=-0.075, deltaT=3)
)

arrays = [
    pvsystem.Array(pvsystem.FixedMount(40, 275), name='West',
                   modules_per_string=5,
                   **array_kwargs),
    pvsystem.Array(pvsystem.FixedMount(40, 85), name='East',
                   modules_per_string=6,
                   **array_kwargs),
    ]

# latitude, longitude 
loc = location.Location(50.0, 10.0, 'Etc/GMT-1')
system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=3))
mc = modelchain.ModelChain(system, loc, aoi_model='physical',
                           spectral_model='no_loss')

times = pd.date_range('2023-05-29 04:00', '2023-05-29 21:00', freq='5min',
                      tz='Etc/GMT-1')
weather = loc.get_clearsky(times)
mc.run_model(weather)

fig, ax = plt.subplots()
for array, pdc in zip(system.arrays, mc.results.dc):
    pdc.plot(label=f'{array.name}')
mc.results.ac.plot(label='Inverter')
plt.ylabel('Power')
plt.legend()
plt.show()

But I don't get a sum for the AC (inverter) output, instead it is clipped:
PVLIB – AC结果剪切

答案1

得分: 2

以下行将逆变器尺寸设置为3:

system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=3))

要使逆变器更大并避免削减,只需增加该值,例如将其设置为5:

system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=5))

你应该根据你系统中模块的数量选择一个合理的值。

英文:

The following line sets the inverter size to 3:

system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=3))

To make the inverter bigger and avoid clipping just increase the value, for example to 5:

system = pvsystem.PVSystem(arrays=arrays, inverter_parameters=dict(pdc0=5))

You should choose a reasonable value based on the number of modules in your system.

huangapple
  • 本文由 发表于 2023年5月29日 23:23:13
  • 转载请务必保留本文链接:https://go.coder-hub.com/76358516.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定