pvlib.pvsystem.Array.get_iam_diffuse#

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

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

Parameters for iam_model are used from Array.module_parameters if found. If parameters are not found in Array.module_parameters, default parameters for iam_model are used.

Parameters:
  • surface_tilt (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’.

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.

  • ValueError – if iam_model is ‘marion_diffuse’ and marion_model is not a valid model name.