pvlib.pvsystem.PVSystem.get_iam_diffuse#

PVSystem.get_iam_diffuse(surface_tilt, iam_model, marion_model=None, **kwargs)[source]#

Determine the incidence angle modifier for diffuse irradiance using the method specified by iam_model.

Parameters for the selected IAM model are expected to be in Array.module_parameters. Default parameters are available for the ‘marion_diffuse’ and ‘martin_ruiz_diffuse’ models.

Parameters:
  • surface_tilt (numeric or tuple of numeric) – The tilt angle of the surface in degrees.

  • iam_model (str) – The IAM model to be used. Valid strings are ‘marion_diffuse’, ‘martin_ruiz_diffuse’, and ‘schlick_diffuse’.

  • marion_model (str, optional) – The IAM function to evaluate across a solid angle. Only used when iam_model='marion_diffuse'. Must be one of ‘ashrae’, ‘physical’, ‘martin_ruiz’, ‘sapm’, and ‘schlick’.

  • kwargs (dict, optional) – Additional keyword arguments passed to the IAM model function.

Returns:

iam_diffuse (dict or DataFrame) – The AOI modifiers for different diffuse irradiance components. Included components depend on the selected iam_model.

Raises:

ValueError – if iam_model is not a valid model name.