pvlib.iam.fit#
- pvlib.iam.fit(measured_aoi, measured_iam, model_name, weight=<function _sin_weight>, xtol=None)[source]#
Find model parameters that best fit the data.
- Parameters
measured_aoi (array-like) – Angle of incidence values associated with the measured IAM values. [degrees]
measured_iam (array-like) – IAM values. [unitless]
model_name (str) – Name of the model to be fit. Must be
'ashrae'
,'martin_ruiz'
, or'physical'
.weight (function, optional) – A single-argument function of AOI (degrees) that calculates weights for the residuals between models. Must return a float or an array-like object. The default weight function is \(f(aoi) = 1 - sin(aoi)\).
xtol (float, optional) – Passed to scipy.optimize.minimize.
- Returns
dict –
Parameters for target model.
If target model is
'ashrae'
, the dictionary will contain the key'b'
.If target model is
'martin_ruiz'
, the dictionary will contain the key'a_r'
.If target model is
'physical'
, the dictionary will contain the keys'n'
,'K'
, and'L'
.
References
- 1
Jones, A. R., Hansen, C. W., Anderson, K. S. Parameter estimation for incidence angle modifier models for photovoltaic modules. Sandia report SAND2023-13944 (2023).
Note
Model parameters are determined by minimizing
\[\sum_{AOI} weight \left( AOI \right) \times \| IAM \left( AOI \right) - model \left( AOI \right) \|\]The sum is over
measured_aoi
and \(IAM \left( AOI \right)\) ismeasured_IAM
.