2017-09-14 13 views
0

私は1530分の単純なシステムのエネルギー生成をシミュレートするために、hereの基本例に従っています。PVLIBを使用してシェーディングロスのあるシステムをシミュレートする

しかし、同じ基本例に従ったシステムでの損失の導入方法を知りたいと思います。それは、次のコードで、次のとおりです。

import pandas as pd 
import matplotlib.pyplot as plt 
import pvlib 
from pvlib.pvsystem import PVSystem 
from pvlib.location import Location 
from pvlib.modelchain import basic_chain, ModelChain 

#%% 
naive_times = pd.DatetimeIndex(start='01-30-2017', end='08-02-2017', freq='15min') 
coordinates = [(52, 4, 'Amsterdam', 10, 'Etc/GMT-1')] 

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

module = sandia_modules['Hanwha_HSL60P6_PA_4_250T__2013_'] 
inverter = sapm_inverters['ABB__PVI_10_0_I_OUTD_x_US_208_y_208V__CEC_2011_'] 

temp_air = 20 
wind_speed = 0 

system = PVSystem(surface_tilt = 13, surface_azimuth = 270, module_parameters = module, modules_per_string = 20, strings_per_inverter = 2, inverter_parameters = inverter) 
for latitude, longitude, name, altitude, timezone in coordinates: 
    location = Location(latitude, longitude, name=name, altitude=altitude, tz=timezone) 
    mc = ModelChain(system, location, orientation_strategy=None) 
    mc.run_model(naive_times.tz_localize(timezone)) 
    ac = mc.ac 
    energy = ac*0.001*0.25 

    plt.figure() 
    energy.plot() 

私は私が持っているしたいと思い何Energy Values from Simulation

を取得することは、実際の測定から得られた、このように同じようなことです:

Real measurements

詳細、

Real measurements in detail

など、DC損失、シェーディングによる損失の多くは、あなたが見ることができるように私の質問は今私のコードサンプルから進み、画像 23におけるものと同様のプロットを達成する方法ですか?

ありがとうございます!

答えて

0

あなたの質問はDC損失とシェーディングですが、現在のModelChainと実際のシステムの最大の違いは天気、特に放射照度です。2日連続で雲の覆いが変わるためです、静的な損失ではなく。

readthedocsの例:https://pvlib-python.readthedocs.io/en/latest/modelchain.htmlには、ステップ4で気象データを適用することが含まれています。さらに、ModelChain内部構造の解説では、天気を定義しています。残念なことに、現場で測定される最も一般的なタイプの放射照度であるPOA(アレイの平面)では機能しません。しかし、ghiとdhiはPOAから推定できますが、明らかに実装された関数はありません。

weather : None or DataFrame, default None 
    If None, assumes air temperature is 20 C, wind speed is 0 
    m/s and irradiation calculated from clear sky data. Column 
    names must be 'wind_speed', 'temp_air', 'dni', 'ghi', 'dhi'. 
    Do not pass incomplete irradiation data. Use method 
    :py:meth:`~pvlib.modelchain.ModelChain.complete_irradiance` 
    instead. 

readthedocページは、主に特定の物理モデル(AOIまたはスペクトル)を介して、DC損失の種類を追加する方法についていくつかの情報を提供します。残念なことに、シェーディングはシステムとその周囲に応じて複雑であり、誰もシェーディング損失モジュールを作成していません。